diff --git a/.github/workflows/cli-verification.yaml b/.github/workflows/cli-verification.yaml index 3629ea81255..f4c5e306a56 100644 --- a/.github/workflows/cli-verification.yaml +++ b/.github/workflows/cli-verification.yaml @@ -51,11 +51,12 @@ jobs: fi } - check_and_publish packages/node-client - check_and_publish packages/shared - check_and_publish packages/frontend check_and_publish packages/types check_and_publish packages/nango-yaml + check_and_publish packages/providers + check_and_publish packages/node-client + check_and_publish packages/frontend + - id: publish_step name: Publish npm packages to the github registry env: @@ -66,6 +67,7 @@ jobs: GIT_HASH=$(git rev-parse HEAD) echo "hash=${GIT_HASH}" >> "$GITHUB_OUTPUT" bash ./scripts/publish.sh 0.0.1-$GIT_HASH + - name: Publish the cli privately under the correct scope working-directory: packages/cli env: @@ -85,7 +87,7 @@ jobs: steps: - uses: actions/setup-node@v4 with: - node-version: '20.12.2' + node-version: '20.18.1' registry-url: 'https://npm.pkg.github.com' scope: '@nangohq' always-auth: true diff --git a/packages/providers/lib/index.ts b/packages/providers/lib/index.ts new file mode 100644 index 00000000000..845e2194783 --- /dev/null +++ b/packages/providers/lib/index.ts @@ -0,0 +1,58 @@ +import { fileURLToPath } from 'node:url'; +import path from 'node:path'; +import fs from 'node:fs'; +import yaml from 'js-yaml'; +import type { Provider, ProviderAlias } from '@nangohq/types'; + +const __filename = fileURLToPath(import.meta.url); +const pkgRoot = path.join(__filename, '../../'); + +let providers: Record | undefined = undefined; + +export function updateProviderCache(update: Record) { + providers = update; +} + +export function getProviders() { + if (!providers) { + providers = loadProvidersYaml(); + } + + return providers; +} + +export function getProvider(providerName: string): Provider | null { + const providers = getProviders(); + return providers?.[providerName] ?? null; +} + +function loadProvidersYaml(): Record | undefined { + try { + const providersYamlPath = path.join(pkgRoot, 'providers.yaml'); + const fileEntries = yaml.load(fs.readFileSync(providersYamlPath).toString()) as Record; + + if (fileEntries == null) { + throw new Error('provider_template_loading_failed'); + } + + for (const key in fileEntries) { + const entry = fileEntries[key]; + + if (entry && 'alias' in entry) { + if (Object.keys(entry).length <= 0) { + console.error('Failed to find alias', entry.alias); + continue; + } + + const { alias, ...overrides } = entry; + const aliasData = fileEntries[entry.alias] as Provider; + fileEntries[key] = { ...aliasData, ...overrides }; + } + } + + return fileEntries as Record; + } catch (err) { + console.error('Failed to load providers.yaml', err); + } + return; +} diff --git a/packages/providers/package.json b/packages/providers/package.json new file mode 100644 index 00000000000..c123aced43e --- /dev/null +++ b/packages/providers/package.json @@ -0,0 +1,21 @@ +{ + "name": "@nangohq/providers", + "version": "0.48.3", + "description": "Nango's shared components.", + "type": "module", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "private": false, + "scripts": {}, + "dependencies": { + "js-yaml": "4.1.0" + }, + "devDependencies": { + "@nangohq/types": "0.48.3", + "vitest": "2.1.8" + }, + "files": [ + "dist/**/*", + "providers.yaml" + ] +} diff --git a/packages/providers/providers.yaml b/packages/providers/providers.yaml new file mode 100644 index 00000000000..b0bf4175cb7 --- /dev/null +++ b/packages/providers/providers.yaml @@ -0,0 +1,7909 @@ +# yaml-language-server: $schema=./../../scripts/validation/providers/schema.json +accelo: + display_name: Accelo + categories: + - invoicing + - ticketing + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.api.accelo.com/oauth2/v0/authorize + token_url: https://${connectionConfig.subdomain}.api.accelo.com/oauth2/v0/token + scope_separator: ',' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.subdomain}.api.accelo.com + docs: https://docs.nango.dev/integrations/all/accelo + connection_config: + subdomain: + type: string + title: Accelo Domain + description: The subdomain of your Accelo account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .api.accelo.com + prefix: https:// + +acuity-scheduling: + display_name: Acuity Scheduling + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://acuityscheduling.com/oauth2/authorize + token_url: https://acuityscheduling.com/oauth2/token + default_scopes: + - api-v1 + proxy: + base_url: https://acuityscheduling.com/api/v1 + docs: https://docs.nango.dev/integrations/all/acuity-scheduling + +adobe: + display_name: Adobe + categories: + - design + auth_mode: OAUTH2 + authorization_url: https://ims-na1.adobelogin.com/ims/authorize/v2 + token_url: https://ims-na1.adobelogin.com/ims/token/v3 + default_scopes: + - offline_access + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://ims-na1.adobelogin.com/ims + docs: https://docs.nango.dev/integrations/all/adobe + +adobe-umapi: + display_name: UMAPI (Adobe User Management API) + categories: + - other + auth_mode: OAUTH2_CC + token_url: https://ims-na1.adobelogin.com/ims/token/v2 + scope_separator: ',' + token_params: + grant_type: client_credentials + proxy: + headers: + x-api-key: ${connectionConfig.clientId} + retry: + after: 'retry-after' + base_url: https://usermanagement.adobe.io + docs: https://docs.nango.dev/integrations/all/adobe + post_connection_script: adobeUmapiPostConnection + docs_connect: https://docs.nango.dev/integrations/all/adobe-umapi/connect + connection_config: + clientId: + type: string + title: '' + description: '' + automated: true + +adyen: + display_name: Adyen + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://ca-${connectionConfig.environment}.adyen.com/ca/ca/oauth/connect.shtml + token_url: https://oauth-${connectionConfig.environment}.adyen.com/v1/token + scope_separator: ' ' + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.resource}-${connectionConfig.environment}.adyen.com + docs: https://docs.nango.dev/integrations/all/adyen + connection_config: + environment: + type: string + title: Environment + description: The environment to use + pattern: '^(live|test)$' + example: live|test + resource: + type: string + title: Resource + description: The resource to use for your various requests + pattern: '^[a-z0-9_-]+$' + example: kyc + suffix: -(live|test).adyen.com + prefix: https:// + +affinity: + display_name: Affinity + categories: + - crm + auth_mode: BASIC + proxy: + base_url: https://api.affinity.co + verification: + method: GET + endpoint: /lists + docs: https://docs.nango.dev/integrations/all/affinity + docs_connect: https://docs.nango.dev/integrations/all/affinity/connect + credentials: + username: + type: string + title: '' + description: '' + default_value: '' + hidden: true + password: + type: string + title: API Key + description: Your Affinity API Key + # https://api-docs.affinity.co/#introduction + # Affinity is using basic auth with an api key + doc_section: '#step-1-finding-your-api-key' + +aircall: + display_name: Aircall + categories: + - support + auth_mode: OAUTH2 + authorization_url: https://dashboard.aircall.io/oauth/authorize + token_url: https://api.aircall.io/v1/oauth/token + authorization_params: + response_type: code + scope: public_api + token_params: + grant_type: authorization_code + proxy: + base_url: https://api.aircall.io + retry: + at: 'x-aircallapi-reset' + paginate: + type: link + link_path_in_response_body: meta.next_page_link + response_path: results + docs: https://docs.nango.dev/integrations/all/aircall + +aircall-basic: + alias: aircall + display_name: Aircall (basic auth) + auth_mode: BASIC + proxy: + base_url: https://api.aircall.io + verification: + method: GET + endpoint: /v1/ping + paginate: + type: link + link_path_in_response_body: meta.next_page_link + response_path: results + docs_connect: https://docs.nango.dev/integrations/all/aircall-basic/connect + docs: https://docs.nango.dev/integrations/all/aircall + +airtable: + display_name: Airtable + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://airtable.com/oauth2/v1/authorize + token_url: https://airtable.com/oauth2/v1/token + authorization_method: header + auth: + response_type: code + proxy: + base_url: https://api.airtable.com + webhook_routing_script: airtableWebhookRouting + docs: https://docs.nango.dev/integrations/all/airtable + +autodesk: + display_name: Autodesk + categories: + - design + auth_mode: OAUTH2 + authorization_url: https://developer.api.autodesk.com/authentication/v2/authorize + token_url: https://developer.api.autodesk.com/authentication/v2/token + scope_separator: ' ' + disable_pkce: true + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://developer.api.autodesk.com + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/autodesk + +algolia: + display_name: Algolia + categories: + - search + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.APP_ID}.algolia.net + headers: + x-algolia-application-id: ${connectionConfig.APP_ID} + x-algolia-api-key: ${apiKey} + verification: + endpoint: /1/keys/${credentials.apiKey} + docs: https://docs.nango.dev/integrations/all/algolia + docs_connect: https://docs.nango.dev/integrations/all/algolia/connect + connection_config: + APP_ID: + type: string + title: Application ID + description: The application ID for your Algolia account + example: ERBSOWZO32 + pattern: '^[A-Z0-9]{10}$' + order: 1 + doc_section: '#step-1-finding-your-application-id' + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Algolia account + example: c5c28261f9ade4e34891ccf761491b94 + pattern: '^[a-zA-Z0-9]+$' + doc_section: '#step-2-finding-your-admin-api-key' + +amazon: + display_name: Amazon + categories: + - dev-tools + - e-commerce + auth_mode: OAUTH2 + authorization_url: https://www.amazon.com/ap/oa + token_url: https://api.amazon.${connectionConfig.extension}/auth/o2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.amazon.com + docs: https://docs.nango.dev/integrations/all/amazon + connection_config: + extension: + type: string + title: Domain Extension + description: The domain extension for your Amazon account + example: com + pattern: '^[a-z.]+$' + +anrok: + display_name: Anrok + categories: + - legal + auth_mode: API_KEY + proxy: + base_url: https://api.anrok.com + headers: + authorization: Bearer ${apiKey} + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/anrok + docs_connect: https://docs.nango.dev/integrations/all/anrok/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Anrok account + doc_section: '#step-1-finding-your-api-key' + +amplitude: + display_name: Amplitude (Event Streaming API) + categories: + - analytics + auth_mode: BASIC + proxy: + base_url: https://amplitude.com + verification: + method: GET + endpoint: /api/2/events/list + docs: https://docs.nango.dev/integrations/all/amplitude + credentials: + username: + type: string + title: API Key + description: Your Amplitude API Key + password: + type: string + title: Secret Key + description: Your Amplitude secret key + # https://amplitude.com/docs/apis/authentication + # Amplitude is using basic auth with an api key + +anthropic: + display_name: Anthropic + categories: + - productivity + - dev-tools + auth_mode: API_KEY + proxy: + base_url: https://api.anthropic.com + headers: + x-api-key: ${apiKey} + anthropic-version: ${connectionConfig.version} + content-type: application/json + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/anthropic + connection_config: + version: + type: string + title: API Version + description: The version of the Anthropic API to use + pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}$' + example: '2023-06-01' + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Anthropic account + +apaleo: + display_name: Apaleo + categories: + - erp + auth_mode: OAUTH2 + authorization_url: https://identity.apaleo.com/connect/authorize + token_url: https://identity.apaleo.com/connect/token + scope_separator: ' ' + token_params: + grant_type: authorization_code + authorization_params: + response_type: code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.apaleo.com + headers: + content-type: application/json + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/apaleo + +apollo: + display_name: Apollo + categories: + - marketing + auth_mode: API_KEY + proxy: + base_url: https://app.apollo.io/api + verification: + method: GET + endpoint: /v1/contact_stages + query: + api_key: ${apiKey} + docs: https://docs.nango.dev/integrations/all/apollo + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Apollo account + +apollo-oauth: + display_name: Apollo (OAuth) + categories: + - marketing + auth_mode: OAUTH2 + authorization_url: https://app.apollo.io + token_url: https://app.apollo.io/api/v1/oauth/token + authorization_url_fragment: oauth/authorize + body_format: json + disable_pkce: true + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://app.apollo.io/api + docs: https://docs.nango.dev/integrations/all/apollo + +apple-app-store: + display_name: Apple App Store + auth_mode: APP_STORE + token_url: https://api.appstoreconnect.apple.com/v1/apps + authorization_params: + audience: appstoreconnect-v1 + proxy: + base_url: https://api.appstoreconnect.apple.com + docs: https://docs.nango.dev/integrations/all/apple-app-store + +asana: + display_name: Asana + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://app.asana.com/-/oauth_authorize + token_url: https://app.asana.com/-/oauth_token + token_params: + grant_type: authorization_code + auth: + response_type: code + default_scopes: + - default + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://app.asana.com + retry: + after: 'retry-after' + paginate: + type: cursor + cursor_path_in_response: next_page.offset + cursor_name_in_request: offset + response_path: data + limit_name_in_request: limit + docs: https://docs.nango.dev/integrations/all/asana + +asana-scim: + display_name: Asana (SCIM API) + categories: + - productivity + - ticketing + auth_mode: API_KEY + proxy: + base_url: https://app.asana.com/api + verification: + method: GET + endpoint: /1.0/scim/Users + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/asana + docs_connect: https://docs.nango.dev/integrations/all/asana-scim/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Asana scim account + doc_section: '#step-1-finding-asana-api-key' + +ashby: + display_name: Ashby + categories: + - ats + auth_mode: BASIC + proxy: + base_url: https://api.ashbyhq.com + verification: + method: POST + endpoint: apiKey.info + docs: https://docs.nango.dev/integrations/all/ashby + credentials: + username: + type: string + title: API Key + description: The API Key of your Ashby account + password: + type: string + title: '' + description: '' + default_value: '' + hidden: true + +atlas-so: + display_name: Atlas.so + categories: + - support + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://api.atlas.so/v1 + docs: https://docs.nango.dev/integrations/all/atlas-so + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Atlas.so account + +atlassian: + display_name: Atlassian + categories: + - dev-tools + auth_mode: OAUTH2 + authorization_url: https://auth.atlassian.com/authorize + token_url: https://auth.atlassian.com/oauth/token + default_scopes: + - offline_access + authorization_params: + response_type: code + audience: api.atlassian.com + prompt: consent + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.atlassian.com + docs: https://docs.nango.dev/integrations/all/atlassian + +attio: + display_name: Attio + categories: + - crm + auth_mode: OAUTH2 + authorization_url: https://app.attio.com/authorize + token_url: https://app.attio.com/oauth/token + token_params: + grant_type: authorization_code + auth: + response_type: code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://app.attio.com + docs: https://docs.nango.dev/integrations/all/attio + +auth0: + display_name: Auth0 + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.auth0.com/authorize + token_url: https://${connectionConfig.subdomain}.auth0.com/oauth/token + authorization_params: + response_type: code + response_mode: query + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + docs: https://docs.nango.dev/integrations/all/auth0 + proxy: + base_url: https://${connectionConfig.subdomain}.auth0.com + connection_config: + subdomain: + type: string + title: Auth0 Domain + description: The subdomain of your Auth0 account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .auth0.com + prefix: https:// + +avalara: + display_name: Avalara + categories: + - legal + auth_mode: BASIC + proxy: + headers: + x-avalara-client: ${connectionConfig.avalaraClient} + content-type: application/json + base_url: https://rest.avatax.com/api/v2 + verification: + method: GET + endpoint: /utilities/subscriptions + docs: https://docs.nango.dev/integrations/all/avalara + docs_connect: https://docs.nango.dev/integrations/all/avalara/connect + credentials: + username: + type: string + title: User Name / Account ID + description: Avalara User Name / Account ID + doc_section: '#step-1-finding-your-pair-keys' + password: + type: string + title: Avalara Password / License Key + description: Your Password / License Key + # https://developer.avalara.com/avatax/authentication-in-rest/ + # Avalara is using basic auth with combination of (username and password) + # or (Account ID and License Key) + doc_section: '#step-1-finding-your-pair-keys' + connection_config: + avalaraClient: + type: string + title: Avalara Client + description: The Avalara client for your Avalara account + pattern: '^[a-zA-Z0-9_-]+$' + doc_section: '#step-2-generating-an-avalara-client' + +avalara-sandbox: + display_name: Avalara (sandbox) + categories: + - legal + auth_mode: BASIC + proxy: + headers: + x-avalara-client: ${connectionConfig.avalaraClient} + content-type: application/json + base_url: https://sandbox-rest.avatax.com/api/v2 + verification: + method: GET + endpoint: /utilities/subscriptions + docs: https://docs.nango.dev/integrations/all/avalara + docs_connect: https://docs.nango.dev/integrations/all/avalara-sandbox/connect + credentials: + username: + type: string + title: User Name / Account ID + description: Avalara User Name / Account ID + doc_section: '#step-1-finding-your-pair-keys' + password: + type: string + title: Password / License Key + description: Avalara Password / License Key + # https://developer.avalara.com/avatax/authentication-in-rest/ + # Avalara is using basic auth with combination of (username and password) + # or (Account ID and License Key) + doc_section: '#step-1-finding-your-pair-keys' + connection_config: + avalaraClient: + type: string + title: Avalara Client + description: The Avalara client for your Avalara account + pattern: '^[a-zA-Z0-9_-]+$' + doc_section: '#step-2-generating-an-avalara-client' + +aws: + display_name: AWS + categories: + - dev-tools + - e-commerce + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.auth.${connectionConfig.extension}.amazoncognito.com/oauth2/authorize + token_url: https://${connectionConfig.subdomain}.auth.${connectionConfig.extension}.amazoncognito.com/oauth2/token + token_params: + grant_type: authorization_code + auth: + response_type: code + refresh_params: + grant_type: refresh_token + default_scopes: + - openid + proxy: + base_url: https://cognito-${apiSubdomain}.amazonaws.com + docs: https://docs.nango.dev/integrations/all/aws + connection_config: + subdomain: + type: string + title: AWS Domain + description: The subdomain of your AWS account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .amazoncognito.com + prefix: https:// + extension: + type: string + title: Domain Extension + description: The domain extension of your AWS account + example: com + pattern: '^[a-z.]+$' + apiSubdomain: + type: string + title: API Subdomain + description: The API subdomain to the API you want to connect to + example: idp.us-east-2 + pattern: '^[a-z.-]+$' + suffix: .amazonaws.com + prefix: https://cognito- + +aws-iam: + display_name: AWS IAM + categories: + - dev-tools + auth_mode: BASIC + proxy: + base_url: https://iam.amazonaws.com + verification: + method: GET + endpoint: /?Action=ListUsers + connection_config: + region: ${connectionConfig.region} + retry: + at: 'x-ratelimit-reset' + docs: https://docs.nango.dev/integrations/all/aws + docs_connect: https://docs.nango.dev/integrations/all/aws-iam/connect + credentials: + username: + type: string + title: AWS Access Key ID + description: Your Access Key ID + doc_section: '#step-1-finding-your-pair-keys' + password: + type: string + title: AWS Secret Access Key + description: Your Secret Access Key + # https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html + # aws-iam is using basic auth with AWS Access Key ID and Secret Access Key + doc_section: '#step-1-finding-your-pair-keys' + connection_config: + region: + type: string + title: Region + description: The region to where your AWS account is hosted + example: us-east-1 + pattern: '^[a-z0-9-]+$' + doc_section: '#step-2-finding-your-region-host' + +bamboohr: + display_name: BambooHR + categories: + - hr + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.bamboohr.com/authorize.php + token_url: https://${connectionConfig.subdomain}.bamboohr.com/token.php + authorization_params: + response_type: code + request: authorize + token_params: + grant_type: authorization_code + request: token + proxy: + base_url: https://api.bamboohr.com/api/gateway.php/${connectionConfig.subdomain} + docs: https://docs.nango.dev/integrations/all/bamboohr + connection_config: + subdomain: + type: string + title: BambooHR Domain + description: The subdomain of your BambooHR account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .bamboohr.com + prefix: https:// + order: 1 + +bamboohr-basic: + display_name: BambooHR (basic auth) + categories: + - hr + auth_mode: BASIC + proxy: + base_url: https://api.bamboohr.com/api/gateway.php/${connectionConfig.subdomain} + verification: + method: GET + endpoint: /v1/meta/fields + docs: https://docs.nango.dev/integrations/all/bamboohr + docs_connect: https://docs.nango.dev/integrations/all/bamboohr-basic/connect + connection_config: + subdomain: + type: string + title: BambooHR Domain + description: The subdomain of your BambooHR account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .bamboohr.com + prefix: https:// + order: 1 + doc_section: '#step-1-finding-your-subdomain' + credentials: + username: + type: string + title: API key + description: The API Key of your BambooHR account + pattern: '^[a-zA-Z0-9]+$' + secret: true + doc_section: '#step-2-finding-your-api-key' + password: + type: string + title: Password + description: Password + # https://documentation.bamboohr.com/docs/getting-started + # Bamboo HR is using basic auth with an api key + default_value: x + hidden: true + +battlenet: + display_name: Battle.net + categories: + - gaming + auth_mode: OAUTH2 + authorization_url: https://oauth.battle.${connectionConfig.extension}/authorize + token_url: https://oauth.battle.${connectionConfig.extension}/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://${connectionConfig.apiDomain} + docs: https://docs.nango.dev/integrations/all/battlenet + connection_config: + extension: + type: string + title: Domain Extension + description: The domain extension of your Battle.net account + example: com + pattern: '^[a-z.]+$' + order: 1 + apiDomain: + type: string + title: API Domain + description: The domain to where you will access your API + example: us.api.blizzard.com + pattern: '^[a-z.]+$' + prefix: https:// + +beehiiv: + display_name: Beehiiv + categories: + - communication + - marketing + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://api.beehiiv.com/v2/publications/${connectionConfig.publicationId} + verification: + method: GET + endpoint: /posts + docs: https://docs.nango.dev/integrations/all/beehiiv + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Beehiiv account + example: 8ab3sjxqvHzyUnP9JhvlfT6C0wsbgr5XQrpaZZjxJkYBPy6sntvT1M2Lk94VQeRb + pattern: '^[a-zA-Z0-9]{64}$' + connection_config: + publicationId: + type: string + title: Publication Id + description: The prefixed ID of the publication object + example: pub_a3d1b49e-2a5d-4f4b-97c8-8f32e1d2f7b9 + pattern: '^(pub_[0-9a-fA-F\-]+)$' + +bigcommerce: + display_name: BigCommerce + categories: + - e-commerce + auth_mode: OAUTH2 + authorization_url: https://login.bigcommerce.com/oauth2/authorize + token_url: https://login.bigcommerce.com/oauth2/token + scope_separator: ' ' + authorization_params: + response_type: code + context: stores/${connectionConfig.storeHash} + account_uuid: ${connectionConfig.accountUuid} + token_params: + context: stores/${connectionConfig.storeHash} + grant_type: authorization_code + proxy: + base_url: https://api.bigcommerce.com/stores/${connectionConfig.storeHash} + docs: https://docs.nango.dev/integrations/all/bigcommerce + connection_config: + storeHash: + type: string + title: Store Hash + description: The store hash of your BigCommerce account + pattern: '^[a-zA-Z0-9]+$' + accountUuid: + type: string + title: Account UUID + description: The account UUID of your BigCommerce account + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + +bill-sandbox: + display_name: Bill (Connect API sandbox) + categories: + - payment + auth_mode: BILL + token_url: https://gateway.stage.bill.com/connect/v3/login + proxy: + base_url: https://gateway.stage.bill.com/connect + docs: https://docs.nango.dev/integrations/all/bill + docs_connect: https://docs.nango.dev/integrations/all/bill-sandbox/connect + +bill: + display_name: Bill (Connect API) + categories: + - payment + auth_mode: BILL + token_url: https://gateway.prod.bill.com/connect/v3/login + proxy: + base_url: https://gateway.prod.bill.com/connect + docs: https://docs.nango.dev/integrations/all/bill + +bitbucket: + display_name: Bitbucket + categories: + - dev-tools + auth_mode: OAUTH2 + authorization_url: https://bitbucket.org/site/oauth2/authorize + token_url: https://bitbucket.org/site/oauth2/access_token + proxy: + base_url: https://api.bitbucket.org + docs: https://docs.nango.dev/integrations/all/bitbucket + +bitdefender: + display_name: Bitdefender + categories: + - other + auth_mode: BASIC + proxy: + base_url: ${connectionConfig.ACCESS_URL} + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/bitdefender + docs_connect: https://docs.nango.dev/integrations/all/bitdefender/connect + credentials: + username: + type: string + title: API Key + description: The API Key of your Bitdefender account + doc_section: '#step-1-finding-your-api-key' + password: + type: string + title: '' + description: '' + default_value: '' + hidden: true + connection_config: + ACCESS_URL: + type: string + title: Access URL + description: The access URL of your Bitdefender account + example: https://api.bitdefender.com + format: uri + pattern: '^https://.*' + doc_section: '#step-1-finding-your-api-key' + +bitly: + display_name: Bitly + categories: + - marketing + - social + auth_mode: OAUTH2 + authorization_url: https://bitly.com/oauth/authorize + token_url: https://api-ssl.bitly.com/oauth/access_token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://api-ssl.bitly.com + docs: https://docs.nango.dev/integrations/all/bitly + +blackbaud: + display_name: Blackbaud + categories: + - crm + auth_mode: OAUTH2 + authorization_url: https://app.blackbaud.com/oauth/authorize + token_url: https://oauth2.sky.blackbaud.com/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.sky.blackbaud.com + docs: https://docs.nango.dev/integrations/all/blackbaud + +blandai: + display_name: BlandAI + categories: + - support + auth_mode: API_KEY + proxy: + base_url: https://api.bland.ai + headers: + authorization: ${apiKey} + docs: https://docs.nango.dev/integrations/all/blandai + credentials: + apiKey: + type: string + title: API Key + description: The API key for your BlandAI account + +boldsign: + display_name: BoldSign + categories: + - legal + auth_mode: OAUTH2 + authorization_url: https://account.boldsign.com/connect/authorize + token_url: https://account.boldsign.com/connect/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.boldsign.com + docs: https://docs.nango.dev/integrations/all/boldsign + +box: + display_name: Box + categories: + - knowledge-base + - storage + auth_mode: OAUTH2 + authorization_url: https://account.box.com/api/oauth2/authorize + token_url: https://api.box.com/oauth2/token + proxy: + base_url: https://api.box.com + docs: https://docs.nango.dev/integrations/all/box + +booking-com: + display_name: Booking.com + categories: + - e-commerce + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.environmentType}-xml.booking.com + docs: https://docs.nango.dev/integrations/all/booking-com + connection_config: + environmentType: + type: string + title: Environment Type + description: The environment type for your various requests + pattern: '^(secure-supply|supply)$' + example: secure-supply|supply + suffix: -xml.booking.com + prefix: https:// + +braintree: + display_name: Braintree + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://api.braintreegateway.com/oauth/connect + token_url: https://api.braintreegateway.com/oauth/access_tokens + scope_separator: ',' + authorization_method: header + body_format: json + token_params: + grant_type: authorization_code + redirect_uri_metadata: + - merchantId + proxy: + base_url: https://api.braintreegateway.com + docs: https://docs.nango.dev/integrations/all/braintree + +braintree-sandbox: + display_name: Braintree (sandbox) + auth_mode: OAUTH2 + authorization_url: https://api.sandbox.braintreegateway.com/oauth/connect + token_url: https://api.sandbox.braintreegateway.com/oauth/access_tokens + scope_separator: ',' + authorization_method: header + body_format: json + token_params: + grant_type: authorization_code + redirect_uri_metadata: + - merchantId + proxy: + base_url: https://api.sandbox.braintreegateway.com + docs: https://docs.nango.dev/integrations/all/braintree + +braze: + display_name: Braze + categories: + - communication + auth_mode: API_KEY + proxy: + base_url: https://rest.${connectionConfig.instanceUrl} + headers: + authorization: Bearer ${apiKey} + retry: + at: 'x-ratelimit-reset' + docs: https://docs.nango.dev/integrations/all/braze + docs_connect: https://docs.nango.dev/integrations/all/braze/connect + connection_config: + instanceUrl: + type: string + title: Instance URL + description: The REST API URL of your Braze instance + example: iad-02.braze.com + format: hostname + prefix: https://rest. + order: 1 + doc_section: '#step-1-finding-your-instance-url' + credentials: + apiKey: + type: string + title: API Key + description: The API key to your Braze account + doc_section: '#step-2-finding-your-api-key' + +brevo-api-key: + display_name: Brevo (api key) + categories: + - marketing + auth_mode: API_KEY + proxy: + headers: + api-key: ${apiKey} + base_url: https://api.brevo.com/v3 + docs: https://docs.nango.dev/integrations/all/brevo + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Brevo account + +brex: + display_name: Brex + categories: + - banking + auth_mode: OAUTH2 + authorization_url: https://accounts-api.brex.com/oauth2/default/v1/authorize + token_url: https://accounts-api.brex.com/oauth2/default/v1/token + default_scopes: + - openid + - offline_access + proxy: + base_url: https://platform.brexapis.com + docs: https://docs.nango.dev/integrations/all/brex + +brex-api-key: + display_name: Brex (api key) + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://platform.brexapis.com + docs: https://docs.nango.dev/integrations/all/brex + docs_connect: https://docs.nango.dev/integrations/all/brex-api-key/connect + credentials: + apiKey: + type: string + title: API Token + description: The API Token to your Brex account + example: bxt_vRUwQT3snBmA1IDVq5iK1kXc4N0bhxr377z4 + pattern: '^bxt_[a-zA-Z0-9]+$' + doc_section: '#step-1-finding-your-api-token' + +brex-staging: + display_name: Brex (staging) + auth_mode: OAUTH2 + authorization_url: https://accounts-api.staging.brexapps.com/oauth2/default/v1/authorize + token_url: https://accounts-api.staging.brexapps.com/oauth2/default/v1/token + proxy: + base_url: https://platform.staging.brexapis.com + docs: https://docs.nango.dev/integrations/all/brex + +brightcrowd: + display_name: BrightCrowd + categories: + - social + auth_mode: OAUTH2_CC + token_url: https://bcb-staging.auth.us-east-1.amazoncognito.com/oauth2/token + token_request_auth_method: basic + token_params: + grant_type: client_credentials + proxy: + base_url: https://api.brightcrowd.com/partner + paginate: + type: cursor + cursor_path_in_response: nextPageToken + cursor_name_in_request: pageToken + docs: https://docs.nango.dev/integrations/all/brightcrowd + docs_connect: https://docs.nango.dev/integrations/all/brightcrowd/connect + +builder-io-private: + display_name: Builder.io (private) + categories: + - dev-tools + - design + - cms + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.domain} + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/builder-io + docs_connect: https://docs.nango.dev/integrations/all/builder-io-private/connect + connection_config: + domain: + type: string + title: Domain + description: The domain used to access your Builder.io API + example: cdn.builder.io + format: hostname + prefix: https:// + doc_section: '#step-1-finding-your-api-domain' + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Builder.io account + pattern: '^[a-zA-Z0-9]+$' + example: bb209fb71eh2412dbe0114bdae18fd15 + doc_section: '#step-2-finding-your-api-key' + +builder-io-public: + display_name: Builder.io (public) + categories: + - dev-tools + - design + - cms + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.domain} + query: + apiKey: ${apiKey} + docs: https://docs.nango.dev/integrations/all/builder-io + docs_connect: https://docs.nango.dev/integrations/all/builder-io-public/connect + connection_config: + domain: + type: string + title: Domain + description: The domain used to access your Builder.io API + example: builder.io + format: hostname + prefix: https:// + doc_section: '#step-1-finding-your-api-domain' + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Builder.io account + pattern: '^[a-zA-Z0-9]+$' + example: bb209fb71eh2412dbe0114bdae18fd15 + doc_section: '#step-2-finding-your-api-key' + +buildium: + display_name: Buildium + categories: + - accounting + - crm + - payment + auth_mode: API_KEY + proxy: + base_url: https://api.buildium.com + headers: + x-buildium-client-id: ${connectionConfig.clientId} + x-buildium-client-secret: ${apiKey} + verification: + method: GET + endpoint: /v1/rentals + docs: https://docs.nango.dev/integrations/all/buildium + docs_connect: https://docs.nango.dev/integrations/all/buildium/connect + connection_config: + clientId: + type: string + title: Client ID + description: Your API Key Client ID + pattern: '^[a-f0-9-]+$' + example: a228f0e7-b4a3-4150-b9ae-8552fc2880d3 + doc_section: '#step-2-finding-your-client-id-and-secret' + order: 1 + credentials: + apiKey: + type: string + title: Secret + description: The Secret for your Buildium account + pattern: '^[A-Za-z0-9+/]+$' + example: uOq2p+xlgpFdijfV/HqY+EvYpZKHRwlyhGuAVbJIxXs + doc_section: '#step-2-finding-your-client-id-and-secret' + +builtwith: + display_name: BuiltWith + categories: + - dev-tools + - analytics + - crm + - marketing + - e-commerce + auth_mode: API_KEY + proxy: + base_url: https://api.builtwith.com + query: + KEY: ${apiKey} + docs: https://docs.nango.dev/integrations/all/builtwith + docs_connect: https://docs.nango.dev/integrations/all/builtwith/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your BuiltWith account + example: 1bc32cba-a5d6-438a-bbcc-af312f560a3c + format: uuid + doc_section: '#step-1-finding-your-api-key' + +cal-com-v1: + display_name: Cal.com (v1) + categories: + - productivity + auth_mode: API_KEY + proxy: + base_url: https://api.cal.com/v1 + query: + apiKey: ${apiKey} + retry: + at: 'x-ratelimit-reset' + verification: + method: GET + endpoint: /me + docs: https://docs.nango.dev/integrations/all/cal-com + docs_connect: https://docs.nango.dev/integrations/all/cal-com-v1/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Cal.com account + pattern: '^cal_[a-zA-Z0-9_]+$' + example: cal_xxxxxx + doc_section: '#step-1-finding-your-api-key' +cal-com-v2: + display_name: Cal.com (v2) + categories: + - productivity + auth_mode: API_KEY + proxy: + base_url: https://api.cal.com/v2 + headers: + authorization: Bearer ${apiKey} + paginate: + type: cursor + cursor_name_in_request: cursor + cursor_path_in_response: data.data.nextCursor + limit_name_in_request: limit + retry: + at: 'x-ratelimit-reset' + verification: + method: GET + endpoint: /me + docs: https://docs.nango.dev/integrations/all/cal-com + docs_connect: https://docs.nango.dev/integrations/all/cal-com-v2/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Cal.com account + pattern: '^cal_[a-zA-Z0-9_]+$' + example: cal_xxxxxx + doc_section: '#step-1-finding-your-api-key' + +calendly: + display_name: Calendly + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://auth.calendly.com/oauth/authorize + token_url: https://auth.calendly.com/oauth/token + authorization_params: + response_type: code + proxy: + base_url: https://api.calendly.com + paginate: + type: link + link_path_in_response_body: pagination.next_page + retry: + at: 'x-ratelimit-reset' + token_response_metadata: + - owner + post_connection_script: calendlyPostConnection + docs: https://docs.nango.dev/integrations/all/calendly + +canny: + display_name: Canny + categories: + - support + auth_mode: API_KEY + proxy: + base_url: https://canny.io/api/v1 + query: + apiKey: ${apiKey} + verification: + method: POST + endpoint: /boards/list + docs: https://docs.nango.dev/integrations/all/canny + docs_connect: https://docs.nango.dev/integrations/all/canny/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Canny account + example: a1f5937c-82df-bd29-4e3a-7b6fda8c54d1 + pattern: '^[a-zA-Z0-9-]+$' + doc_section: '#step-1-finding-your-api-key' +canva-scim: + display_name: Canva (SCIM API) + categories: + - design + - dev-tools + auth_mode: API_KEY + proxy: + base_url: https://www.canva.com/_scim + headers: + authorization: Bearer ${apiKey} + accept: application/json + content-type: application/json + docs: https://docs.nango.dev/integrations/all/canva + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Canva scim account + doc_section: '#step-1-finding-canva-api-key' + +certn: + display_name: Certn + categories: + - legal + auth_mode: API_KEY + proxy: + base_url: https://api.certn.co + headers: + authorization: Bearer ${apiKey} + paginate: + type: link + link_path_in_response_body: next + response_path: results + verification: + method: GET + endpoint: /api/v2/teams + docs: https://docs.nango.dev/integrations/all/certn + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Certn account + +certn-partner: + display_name: Certn Partner + categories: + - legal + auth_mode: OAUTH2_CC + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://api.certn.co + paginate: + type: offset + offset_name_in_request: page + response_path: data + limit_name_in_request: limit + verification: + method: GET + endpoint: /api/v2/teams + docs: https://docs.nango.dev/integrations/all/certn + +chargebee: + display_name: Chargebee + categories: + - payment + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.subdomain}.chargebee.com + verification: + method: GET + endpoint: /api/v2/business_entities + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/chargebee + connection_config: + subdomain: + type: string + title: Chargebee Domain + description: The subdomain of your Chargebee account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .chargebee.com + prefix: https:// + +chattermill: + display_name: Chattermill + categories: + - support + - analytics + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.subdomain}.chattermill.com + headers: + authorization: Bearer ${apiKey} + accept: application/json + content-type: application/json + docs: https://docs.nango.dev/integrations/all/chattermill + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Chattermill account + connection_config: + subdomain: + type: string + title: Chattermill subdomain + description: The subdomain for your api requests + pattern: '^(app|api|backend)$' + example: 'app|api|backend' + suffix: .chattermill.com + prefix: https:// + +checkr-partner: + display_name: Checkr Partner + categories: + - legal + auth_mode: OAUTH2 + authorization_url: https://partners.checkr.com/authorize/${connectionConfig.client_id} + token_url: https://api.checkr.com/oauth/tokens + disable_pkce: true + token_params: + grant_type: authorization_code + proxy: + retry: + at: 'x-ratelimit-reset' + base_url: https://api.checkr.com + token_response_metadata: + - checkr_account_id + webhook_routing_script: checkrWebhookRouting + post_connection_script: checkrPostConnection + docs: https://docs.nango.dev/integrations/all/checkr-partner + connection_config: + client_id: + type: string + title: Client ID + description: The client ID of your Checkr Partner account + +checkr-partner-staging: + display_name: Checkr Partner (staging) + categories: + - legal + auth_mode: OAUTH2 + authorization_url: https://partners.checkrhq-staging.net/authorize/${connectionConfig.client_id} + token_url: https://api.checkr-staging.com/oauth/tokens + disable_pkce: true + token_params: + grant_type: authorization_code + proxy: + retry: + at: 'x-ratelimit-reset' + base_url: https://api.checkr-staging.com + token_response_metadata: + - checkr_account_id + webhook_routing_script: checkrWebhookRouting + post_connection_script: checkrPostConnection + docs: https://docs.nango.dev/integrations/all/checkr-partner + connection_config: + client_id: + type: string + title: Client ID + description: The client ID of your Checkr Partner account + +checkout-com: + display_name: Checkout.com + categories: + - payment + auth_mode: OAUTH2_CC + token_url: https://access.checkout.com/connect/token + token_request_auth_method: basic + token_params: + grant_type: client_credentials + proxy: + headers: + content-type: application/json + accept: application/json + base_url: https://api.checkout.com + docs: https://docs.nango.dev/integrations/all/checkout-com + +checkout-com-sandbox: + display_name: Checkout.com (sandbox) + categories: + - payment + auth_mode: OAUTH2_CC + token_url: https://access.sandbox.checkout.com/connect/token + token_request_auth_method: basic + token_params: + grant_type: client_credentials + proxy: + headers: + content-type: application/json + accept: application/json + base_url: https://api.sandbox.checkout.com + docs: https://docs.nango.dev/integrations/all/checkout-com + +chorus: + display_name: Chorus + auth_mode: API_KEY + proxy: + base_url: https://chorus.ai + verification: + method: GET + endpoint: /api/v1/users/me + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/chorus + docs_connect: https://docs.nango.dev/integrations/all/chorus/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Chorus account + doc_section: '#step-1-generating-your-chorus-api-key' + +circle-so: + display_name: Circle.so + categories: + - communication + auth_mode: API_KEY + proxy: + base_url: https://app.circle.so + headers: + authorization: Token ${apiKey} + docs: https://docs.nango.dev/integrations/all/circle-so + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Circle.so account + +clari-copilot: + display_name: Clari Copilot + categories: + - marketing + auth_mode: API_KEY + proxy: + headers: + x-api-key: ${apiKey} + x-api-password: ${connectionConfig.API_PASSWORD} + base_url: https://rest-api.copilot.clari.com + docs: https://docs.nango.dev/integrations/all/clari-copilot + connection_config: + API_PASSWORD: + type: string + title: API Password + description: The API password of your Clari Copilot account + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Clari Copilot account + +clickup: + display_name: ClickUp + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://app.clickup.com/api + token_url: https://api.clickup.com/api/v2/oauth/token + proxy: + base_url: https://api.clickup.com + docs: https://docs.nango.dev/integrations/all/clickup + +cloudentity: + display_name: Cloudentity + auth_mode: OAUTH2_CC + categories: + - other + token_url: https://${connectionConfig.tenantID}.${connectionConfig.regionID}.authz.cloudentity.io/${connectionConfig.tenantID}/${connectionConfig.workspaceID}/oauth2/token + scope_separator: ' ' + token_params: + grant_type: client_credentials + proxy: + base_url: https://${connectionConfig.tenantID}.${connectionConfig.regionID}.authz.cloudentity.io/${connectionConfig.tenantID}/${connectionConfig.workspaceID} + docs: https://docs.nango.dev/integrations/all/cloudentity + connection_config: + tenantID: + type: string + title: Tenant ID + description: The tenant ID of your Cloudentity account + regionID: + type: string + title: Region ID + description: The region ID of your Cloudentity account + workspaceID: + type: string + title: Workspace ID + description: The workspace ID of your Cloudentity account + +close: + display_name: Close + categories: + - crm + auth_mode: OAUTH2 + authorization_url: https://app.close.com/oauth2/authorize + token_url: https://api.close.com/oauth2/token/ + authorization_params: + response_type: code + default_scopes: + - offline_access + proxy: + base_url: https://api.close.com/api + docs: https://docs.nango.dev/integrations/all/close + +coda: + display_name: Coda + categories: + - knowledge-base + - productivity + auth_mode: API_KEY + proxy: + base_url: https://coda.io/apis/v1 + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/coda + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Coda account + +codeclimate: + display_name: Code Climate + categories: + - dev-tools + - productivity + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.domain} + headers: + accept: application/vnd.api+json + authorization: Token token=${apiKey} + verification: + method: GET + endpoint: /v1/user + docs: https://docs.nango.dev/integrations/all/codeclimate + connection_config: + domain: + type: string + title: Domain + description: The domain of your Code Climate account + format: hostname + prefix: https:// + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Code Climate account + +copper: + display_name: Copper + categories: + - crm + auth_mode: OAUTH2 + proxy: + base_url: https://api.copper.com/developer_api + default_scopes: + - developer/v1/all + authorization_url: https://app.copper.com/oauth/authorize + token_url: https://app.copper.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + docs: https://docs.nango.dev/integrations/all/copper + +copper-api-key: + display_name: Copper (api key) + categories: + - crm + auth_mode: API_KEY + proxy: + base_url: https://api.copper.com/developer_api + headers: + x-pw-accesstoken: ${apiKey} + x-pw-application: developer_api + x-pw-useremail: ${connectionConfig.userEmail} + content-type: application/json + verification: + method: GET + endpoint: /v1/account + docs_connect: https://docs.nango.dev/integrations/all/copper/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Copper account + pattern: '^[a-f0-9]{32}$' + example: '4f3c12efb9659a0b5c123b568745dbf9' + doc_section: '#step-1-finding-copper-api-key' + connection_config: + userEmail: + type: string + title: User Email + description: Email address of the user who generated the token + docs: https://docs.nango.dev/integrations/all/copper + +connectwise-psa: + display_name: ConnectWise PSA + categories: + - support + - ticketing + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.subdomain}.myconnectwise.net/v4_6_release/apis/3.0 + headers: + accept: application/vnd.connectwise.com+json; version=${connectionConfig.apiVersion} + clientid: ${connectionConfig.clientId} + docs: https://docs.nango.dev/integrations/all/connectwise-psa + connection_config: + subdomain: + type: string + title: ConnectWise PSA subdomain + description: The subdomain to connect to ConnectWise PSA + pattern: '^api-(au|eu|na)$' + example: api-au + suffix: .myconnectwise.net + prefix: https:// + apiVersion: + type: string + title: Api version + description: The API version to connect to ConnectWise PSA + clientId: + type: string + title: Client ID + description: The Client ID assigned to your integration + +connectwise-psa-staging: + display_name: ConnectWise PSA (staging) + categories: + - support + - ticketing + auth_mode: BASIC + proxy: + base_url: https://api-staging.connectwisedev.com/v4_6_release/apis/3.0 + headers: + accept: application/vnd.connectwise.com+json; version=${connectionConfig.apiVersion} + clientid: ${connectionConfig.clientId} + docs: https://docs.nango.dev/integrations/all/connectwise-psa + connection_config: + apiVersion: + type: string + title: Api version + description: The API version to connect to ConnectWise PSA + clientId: + type: string + title: Client ID + description: The Client ID assigned to your integration + +confluence: + display_name: Confluence + categories: + - knowledge-base + alias: jira + docs: https://docs.nango.dev/integrations/all/confluence + +contentful: + display_name: Contentful + categories: + - dev-tools + - design + - cms + auth_mode: OAUTH2 + authorization_url: https://be.contentful.com/oauth/authorize + token_url: https://be.contentful.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.subdomain}.contentful.com + retry: + after: x-contentful-ratelimit-reset + docs: https://docs.nango.dev/integrations/all/contentful + connection_config: + subdomain: + type: string + title: Contentful Domain + description: The subdomain of your Contentful account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .contentful.com + prefix: https:// + +contentstack: + display_name: Contentstack + categories: + - cms + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.contentstack.com/apps/${connectionConfig.appId}/authorize + token_url: https://${connectionConfig.subdomain}.contentstack.com/apps-api/apps/token + docs: https://docs.nango.dev/integrations/all/contentstack + proxy: + base_url: https://${connectionConfig.apiDomain} + connection_config: + subdomain: + type: string + title: Contentstack Domain + description: The subdomain of your Contentstack account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .contentstack.com + prefix: https:// + order: 2 + appId: + type: string + title: App ID + description: The app ID of your Contentstack account + order: 1 + apiDomain: + type: string + title: API Domain + description: The domain to where you will access your API + pattern: '^[a-z0-9_-]+$' + example: eu-api.contentstack.com + prefix: https:// + order: 3 + +coros: + display_name: Coros + categories: + - sports + auth_mode: OAUTH2 + authorization_url: https://open.coros.com/oauth2/authorize + token_url: https://open.coros.com/oauth2/accesstoken + refresh_url: https://open.coros.com/oauth2/refresh-token + authorization_params: + response_type: code + token_response_metadata: + - openId + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://open.coros.com + docs: https://docs.nango.dev/integrations/all/coros + +coros-sandbox: + display_name: Coros (sandbox) + auth_mode: OAUTH2 + authorization_url: https://opentest.coros.com/oauth2/authorize + token_url: https://opentest.coros.com/oauth2/accesstoken + refresh_url: https://opentest.coros.com/oauth2/refresh-token + authorization_params: + response_type: code + token_response_metadata: + - openId + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://opentest.coros.com + docs: https://docs.nango.dev/integrations/all/coros + +coupa-compass: + display_name: Coupa Compass + categories: + - payment + - invoicing + auth_mode: OAUTH2_CC + scope_separator: ' ' + token_url: https://${connectionConfig.instanceDomain}/oauth2/token + token_params: + grant_type: client_credentials + proxy: + base_url: https://${connectionConfig.instanceDomain} + docs: https://docs.nango.dev/integrations/all/coupa-compass + connection_config: + instanceDomain: + type: string + title: Instance Domain + description: The domain of your Coupa Compass account + format: hostname + prefix: https:// + +databricks-account: + display_name: Databricks (Account Level) + categories: + - analytics + auth_mode: OAUTH2_CC + token_url: https://accounts.cloud.databricks.com/oidc/accounts/${connectionConfig.accountId}/v1/token + token_params: + grant_type: client_credentials + proxy: + base_url: https://accounts.cloud.databricks.com/api/2.0/accounts/${connectionConfig.accountId} + docs: https://docs.nango.dev/integrations/all/databricks + connection_config: + accountId: + type: string + title: Account ID + description: The ID to your account + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + +databricks-workspace: + display_name: Databricks (Workspace Level) + categories: + - analytics + auth_mode: OAUTH2_CC + token_url: https://${connectionConfig.databricksInstance}/oidc/v1/token + token_params: + grant_type: client_credentials + proxy: + base_url: https://${connectionConfig.databricksInstance}/api/2.0/ + docs: https://docs.nango.dev/integrations/all/databricks + connection_config: + databricksInstance: + type: string + title: Databricks Instance + description: The instance to your databricks deployment + pattern: '^[a-z0-9_-]+(\.[a-z0-9_-]+)*$' + example: dbc-a1b2345c-d6e7.cloud.databricks.com + +# Untested configuration. Please reach out if you have a test account that we can use to test it. +datev: + display_name: Datev + categories: + - legal + - hr + auth_mode: OAUTH2 + authorization_url: https://login.datev.de/openid/authorize + token_url: https://api.datev.de/token + token_request_auth_method: basic + scope_separator: ' ' + default_scopes: + - openid + authorization_params: + response_type: code id_token + response_mode: query + nonce: AnotherRandomStringDatev + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.datev.de + docs: https://docs.nango.dev/integrations/all/datev + +datadog: + display_name: Datadog + categories: + - analytics + - dev-tools + auth_mode: API_KEY + proxy: + base_url: https://api.${connectionConfig.siteParameter}/api + headers: + dd-api-key: ${apiKey} + dd-application-key: ${connectionConfig.applicationKey} + verification: + method: GET + endpoint: /v1/validate + retry: + after: 'x-ratelimit-reset' + docs: https://docs.nango.dev/integrations/all/datadog + docs_connect: https://docs.nango.dev/integrations/all/datadog/connect + connection_config: + siteParameter: + type: string + title: Site Parameter + description: The site parameter to datadog + pattern: '^(us[35]\.)?(ap1\.)?(datadoghq\.(com|eu)|ddog-gov\.com)$' + example: 'us5.datadoghq.com' + doc_section: '#step-1-finding-your-datadog-domain' + applicationKey: + type: string + title: Application Key + description: The application key required for read data access + pattern: '^[a-f0-9]{40}$' + example: '5d8a7b3f2dc8bce1b234e7f1a1ac54728dbf9e4a7' + doc_section: '#step-3-datadog-application-key' + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Datadog account + pattern: '^[a-f0-9]{32}$' + example: '4f3c12efb9659a0b5c123b568745dbf9' + doc_section: '#step-2-datadog-api-key' + +deel: + display_name: Deel + categories: + - hr + auth_mode: OAUTH2 + authorization_url: https://auth.letsdeel.com/oauth2/authorize + token_url: https://auth.letsdeel.com/oauth2/tokens + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.letsdeel.com + docs: https://docs.nango.dev/integrations/all/deel + +deel-sandbox: + display_name: Deel (sandbox) + auth_mode: OAUTH2 + authorization_url: https://auth-demo.letsdeel.com/oauth2/authorize + token_url: https://auth-demo.letsdeel.com/oauth2/tokens + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api-staging.letsdeel.com + docs: https://docs.nango.dev/integrations/all/deel + +dialpad: + display_name: Dialpad + categories: + - communication + auth_mode: OAUTH2 + authorization_url: https://dialpad.com/oauth2/authorize + token_url: https://dialpad.com/oauth2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://dialpad.com + docs: https://docs.nango.dev/integrations/all/dialpad + +dialpad-sandbox: + display_name: Dialpad (sandbox) + categories: + - communication + auth_mode: OAUTH2 + authorization_url: https://sandbox.dialpad.com/oauth2/authorize + token_url: https://sandbox.dialpad.com/oauth2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://sandbox.dialpad.com + docs: https://docs.nango.dev/integrations/all/dialpad + +digitalocean: + display_name: DigitalOcean + categories: + - dev-tools + auth_mode: OAUTH2 + authorization_url: https://cloud.digitalocean.com/v1/oauth/authorize + token_url: https://cloud.digitalocean.com/v1/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.digitalocean.com + docs: https://docs.nango.dev/integrations/all/digitalocean + +discord: + display_name: Discord + categories: + - gaming + - social + auth_mode: OAUTH2 + authorization_url: https://discord.com/api/oauth2/authorize + token_url: https://discord.com/api/oauth2/token + authorization_params: + response_type: code + proxy: + base_url: https://discord.com + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/discord + +discourse: + display_name: Discourse + categories: + - communication + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.defaultHost} + retry: + after: 'retry-after' + headers: + api-username: ${connectionConfig.apiUsername} + api-key: ${apiKey} + accept: application/json + docs: https://docs.nango.dev/integrations/all/discourse + connection_config: + defaultHost: + type: string + title: Domain + description: The domain of your Discourse account + format: hostname + prefix: https:// + apiUsername: + type: string + title: API Username + description: The API username of your Discourse account + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Discourse account + +dixa: + display_name: Dixa + categories: + - support + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.apiType}.dixa.io + headers: + authorization: ${apiKey} + docs: https://docs.nango.dev/integrations/all/dixa + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Dixa account + connection_config: + apiType: + type: string + title: Api Type + description: The Api type for your requests + pattern: '^dev\|exports$' + example: 'dev|exports' + +docusign: + display_name: DocuSign + categories: + - legal + auth_mode: OAUTH2 + authorization_url: https://account.docusign.com/oauth/auth + token_url: https://account.docusign.com/oauth/token + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://www.docusign.net + post_connection_script: docusignPostConnection + docs: https://docs.nango.dev/integrations/all/docusign + +docusign-sandbox: + display_name: DocuSign (sandbox) + auth_mode: OAUTH2 + authorization_url: https://account-d.docusign.com/oauth/auth + token_url: https://account-d.docusign.com/oauth/token + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://demo.docusign.net + post_connection_script: docusignPostConnection + docs: https://docs.nango.dev/integrations/all/docusign + +dropbox: + display_name: Dropbox + categories: + - knowledge-base + - storage + auth_mode: OAUTH2 + authorization_url: https://www.dropbox.com/oauth2/authorize + token_url: https://api.dropboxapi.com/oauth2/token + authorization_params: + token_access_type: offline + proxy: + base_url: https://api.dropboxapi.com + docs: https://docs.nango.dev/integrations/all/dropbox + +emarsys: + display_name: Emarsys Core API (WSSE) + categories: + - marketing + auth_mode: SIGNATURE + signature: + protocol: WSSE + proxy: + base_url: https://api.emarsys.net + headers: + content-type: application/json + x-wsse: ${accessToken} + verification: + method: GET + endpoint: /api/v2/settings + retry: + at: 'x-ratelimit-reset' + token: + expires_in_ms: 300000 + docs: https://docs.nango.dev/integrations/all/emarsys + credentials: + username: + type: string + title: ID + description: The ID of your Emarsys WSSE API Credentials + pattern: '^[a-zA-Z0-9_-]+$' + password: + type: string + title: Client Secret + description: The Client Secret of your Emarsys WSSE API Credentials + pattern: '^[a-zA-Z0-9-]+$' + +emarsys-oauth: + display_name: Emarsys (Ouath) + categories: + - marketing + auth_mode: OAUTH2_CC + token_url: https://auth.emarsys.net/oauth2/token + token_request_auth_method: basic + token_params: + grant_type: client_credentials + proxy: + base_url: https://api.emarsys.net + retry: + at: 'x-ratelimit-reset' + docs: https://docs.nango.dev/integrations/all/emarsys + +ebay: + display_name: eBay + categories: + - e-commerce + auth_mode: OAUTH2 + authorization_url: https://auth.ebay.com/oauth2/authorize + token_url: https://api.ebay.com/identity/v1/oauth2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + token_request_auth_method: basic + proxy: + base_url: https://api.ebay.com/ + docs: https://docs.nango.dev/integrations/all/ebay + +ebay-sandbox: + display_name: eBay (sandbox) + categories: + - e-commerce + auth_mode: OAUTH2 + authorization_url: https://auth.sandbox.ebay.com/oauth2/authorize + token_url: https://api.sandbox.ebay.com/identity/v1/oauth2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + token_request_auth_method: basic + proxy: + base_url: https://api.sandbox.ebay.com/ + docs: https://docs.nango.dev/integrations/all/ebay + +e-conomic: + display_name: e-conomic + categories: + - accounting + auth_mode: BASIC + proxy: + base_url: https://restapi.e-conomic.com + headers: + content-type: application/json + docs: https://docs.nango.dev/integrations/all/e-conomic + +egnyte: + display_name: Egnyte + categories: + - storage + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.egnyte.com/puboauth/token + token_url: https://${connectionConfig.subdomain}.egnyte.com/puboauth/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.subdomain}.egnyte.com/pubapi + docs: https://docs.nango.dev/integrations/all/egnyte + connection_config: + subdomain: + type: string + title: Egnyte Domain + description: The subdomain of your Egnyte account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .egnyte.com + prefix: https:// + +elevenlabs: + display_name: Eleven Labs + categories: + - dev-tools + auth_mode: API_KEY + proxy: + base_url: https://api.elevenlabs.io + headers: + xi-api-key: ${apiKey} + verification: + method: GET + endpoint: /v1/user + docs: https://docs.nango.dev/integrations/all/elevenlabs + credentials: + apiKey: + type: string + title: API Key + description: The API key for your ElevenLabs account + +elevio: + display_name: Elevio + categories: + - knowledge-base + - support + auth_mode: API_KEY + proxy: + base_url: https://api.elev.io + headers: + x-api-key: ${apiKey} + authorization: Bearer ${connectionConfig.jwt} + docs: https://docs.nango.dev/integrations/all/elevio + credentials: + apiKey: + type: string + title: API Key + description: The API key to your Elevio account + pattern: '\b[a-f0-9]{40}\b' + example: 'x12z67890dd34t8gq5j01ycc75912348' + connection_config: + jwt: + type: string + title: JWT + description: The JWT to your Elevio account + pattern: '^[A-Za-z0-9-_]+\.([A-Za-z0-9-_]+\.[A-Za-z0-9-_]+)$' + +entrata: + display_name: Entrata + categories: + - other + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.subdomain}.entrata.com + docs: https://docs.nango.dev/integrations/all/entrata + connection_config: + subdomain: + type: string + title: Entrata Domain + description: The subdomain of your Entrata account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .entrata.com + prefix: https:// + +envoy: + display_name: Envoy + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://app.envoy.com/a/auth/v0/authorize + token_url: https://app.envoy.com/a/auth/v0/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.envoy.com + docs: https://docs.nango.dev/integrations/all/envoy + +epic-games: + display_name: Epic Games + categories: + - gaming + auth_mode: OAUTH2 + authorization_url: https://www.epicgames.com/id/authorize + token_url: https://api.epicgames.dev/epic/oauth/v1/token + authorization_method: header + proxy: + base_url: https://api.epicgames.dev + docs: https://docs.nango.dev/integrations/all/epic-games + +evaluagent: + display_name: EvaluAgent + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.region}.evaluagent.com + verification: + method: GET + endpoint: /v1/ping + docs: https://docs.nango.dev/integrations/all/evaluagent + connection_config: + region: + type: string + title: Region + description: The region of your EvaluAgent account + example: eu + pattern: '^[a-z]+$' + +eventbrite: + display_name: Eventbrite + categories: + - marketing + auth_mode: OAUTH2 + authorization_url: https://www.eventbrite.com/oauth/authorize + token_url: https://www.eventbrite.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://www.eventbriteapi.com + docs: https://docs.nango.dev/integrations/all/eventbrite + +exa: + display_name: Exa + categories: + - analytics + auth_mode: API_KEY + proxy: + base_url: https://api.exa.ai + headers: + x-api-key: ${apiKey} + docs: https://docs.nango.dev/integrations/all/exa + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Exa account + +exact-online: + display_name: Exact Online + categories: + - accounting + - hr + - productivity + auth_mode: OAUTH2 + authorization_url: https://start.exactonline.${connectionConfig.extension}/api/oauth2/auth + token_url: https://start.exactonline.${connectionConfig.extension}/api/oauth2/token + authorization_method: header + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + token_expiration_buffer: 30 + proxy: + base_url: https://start.exactonline.${connectionConfig.extension}/ + headers: + accept: application/json + retry: + at: 'x-ratelimit-reset' + paginate: + type: link + link_path_in_response_body: d.__next + docs: https://docs.nango.dev/integrations/all/exact-online + connection_config: + extension: + type: string + title: Domain Extension + description: The domain extension of your Exact Online account + example: nl + pattern: '^[a-z.]+$' + +exist: + display_name: Exist + categories: + - other + auth_mode: OAUTH2 + authorization_url: https://exist.io/oauth2/authorize + token_url: https://exist.io/oauth2/access_token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://exist.io/ + paginate: + type: link + link_path_in_response_body: next + docs: https://docs.nango.dev/integrations/all/exist + +expensify: + display_name: Expensify + categories: + - productivity + auth_mode: BASIC + proxy: + base_url: https://integrations.expensify.com/Integration-Server/ + headers: + content-type: application/x-www-form-urlencoded + credentials: + username: + type: string + title: Partner User ID + description: Your unique account identifier of Expensify + doc_section: '#step-1-finding-your-partneruserid-and-partnerusersecret' + password: + type: string + title: Partner User Secret + description: Unique secret for your account + doc_section: '#step-1-finding-your-partneruserid-and-partnerusersecret' + docs: https://docs.nango.dev/integrations/all/expensify + docs_connect: https://docs.nango.dev/integrations/all/expensify/connect + +factorial: + display_name: Factorial + categories: + - hr + auth_mode: OAUTH2 + authorization_url: https://api.factorialhr.com/oauth/authorize + token_url: https://api.factorialhr.com/oauth/token + disable_pkce: true + proxy: + base_url: https://api.factorialhr.com/api + docs: https://docs.nango.dev/integrations/all/factorial + +facebook: + display_name: Facebook + categories: + - marketing + - social + auth_mode: OAUTH2 + authorization_url: https://www.facebook.com/v15.0/dialog/oauth + token_url: https://graph.facebook.com/v15.0/oauth/access_token + proxy: + base_url: https://graph.facebook.com + docs: https://docs.nango.dev/integrations/all/facebook + +figjam: + display_name: FigJam + categories: + - design + - productivity + alias: figma + docs: https://docs.nango.dev/integrations/all/figjam + +figma: + display_name: Figma + categories: + - design + - productivity + auth_mode: OAUTH2 + authorization_url: https://www.figma.com/oauth + token_url: https://www.figma.com/api/oauth/token + refresh_url: https://www.figma.com/api/oauth/refresh + disable_pkce: true + proxy: + base_url: https://api.figma.com + docs: https://docs.nango.dev/integrations/all/figma + +falai: + display_name: fal.ai + categories: + - productivity + - dev-tools + auth_mode: API_KEY + proxy: + headers: + authorization: Key ${apiKey} + base_url: https://queue.fal.run + docs: https://docs.nango.dev/integrations/all/falai + credentials: + apiKey: + type: string + title: API Key + description: The API key for your fal.ai account + +findymail: + display_name: FindyMail + categories: + - marketing + - crm + auth_mode: API_KEY + proxy: + base_url: https://app.findymail.com + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/findymail + docs_connect: https://docs.nango.dev/integrations/all/findymail/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your FindyMail account + +firefish: + display_name: Firefish + scope_separator: ' ' + categories: + - crm + auth_mode: OAUTH2_CC + token_url: https://api.firefishsoftware.com/authorization/token + token_params: + grant_type: client_credentials + proxy: + base_url: https://api.firefishsoftware.com + docs: https://docs.nango.dev/integrations/all/firefish + +fireflies: + display_name: Fireflies + categories: + - analytics + - communication + - productivity + auth_mode: API_KEY + proxy: + base_url: https://api.fireflies.ai + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/fireflies + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Fireflies account + +fiserv: + display_name: Fiserv + categories: + - banking + - payment + auth_mode: OAUTH2_CC + token_url: https://cert.api.fiservapps.com/fts-apim/oauth2/v2 + token_request_auth_method: basic + expires_in_unit: milliseconds + token_params: + grant_type: client_credentials + proxy: + base_url: https://${connectionConfig.hostUrl} + docs: https://docs.nango.dev/integrations/all/fiserv + connection_config: + hostUrl: + type: string + title: Domain + description: The domain of your Fiserv account + format: hostname + prefix: https:// + +fiserv-api-key: + display_name: Fiserv (api key) + categories: + - banking + - payment + auth_mode: API_KEY + proxy: + base_url: https://prod.emea.api.fiservapps.com + headers: + api-key: ${apiKey} + verification: + method: GET + endpoint: /sandbox/exp/v1/authorisations + docs: https://docs.nango.dev/integrations/all/fiserv + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Fiserv account + +fitbit: + display_name: Fitbit + categories: + - sports + auth_mode: OAUTH2 + authorization_url: https://www.fitbit.com/oauth2/authorize + token_url: https://api.fitbit.com/oauth2/token + authorization_method: header + proxy: + base_url: https://api.fitbit.com + docs: https://docs.nango.dev/integrations/all/fitbit + +fortnox: + display_name: Fortnox + categories: + - accounting + - invoicing + auth_mode: OAUTH2 + authorization_url: https://apps.fortnox.se/oauth-v1/auth + token_url: https://apps.fortnox.se/oauth-v1/token + token_request_auth_method: basic + scope_separator: ' ' + authorization_params: + response_type: code + access_type: offline + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.fortnox.se/3 + docs: https://docs.nango.dev/integrations/all/fortnox + +freshbooks: + display_name: FreshBooks + categories: + - accounting + auth_mode: OAUTH2 + authorization_url: https://auth.freshbooks.com/oauth/authorize + token_url: https://api.freshbooks.com/auth/oauth/token + authorization_params: + response_type: code + proxy: + base_url: https://api.freshbooks.com + docs: https://docs.nango.dev/integrations/all/freshbooks + +freshdesk: + display_name: FreshDesk + categories: + - support + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.subdomain}.freshdesk.com + verification: + endpoint: /api/v2/settings/helpdesk + docs: https://docs.nango.dev/integrations/all/freshdesk + docs_connect: https://docs.nango.dev/integrations/all/freshdesk/connect + credentials: + username: + type: string + title: FreshDesk API Key + description: The API Key of your FreshDesk account + doc_section: '#step-1-finding-your-freshdesk-api-key' + secret: true + password: + type: string + title: '' + description: '' + default_value: X + hidden: true + connection_config: + subdomain: + type: string + title: FreshDesk Domain + description: The subdomain of your FreshDesk account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .freshdesk.com + prefix: https:// + doc_section: '#step-2-finding-your-freshdesk-domain' + +freshsales: + display_name: Freshsales + categories: + - crm + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.subdomain}.freshsales.io + verification: + method: GET + endpoint: /api/settings/leads/fields + headers: + authorization: Token token=${apiKey} + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/freshsales + docs_connect: https://docs.nango.dev/integrations/all/freshsales/connect + connection_config: + subdomain: + type: string + title: Freshsales subdomain + description: The subdomain of your Freshsales account + pattern: '^[a-z0-9_-]+$' + example: subdomain + suffix: .freshsales.io + prefix: https:// + doc_section: '#step-2-finding-your-freshsales-subdomain' + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Freshsales account + example: 4oBqA_AzM_G3xbW3TJGvrA + pattern: '[A-Za-z0-9_]{22}' + doc_section: '#step-1-finding-your-freshsales-api-key' + +freshservice: + display_name: Freshservice + categories: + - support + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.subdomain}.freshservice.com + verification: + method: GET + endpoint: /api/v2/tickets + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/freshservice + docs_connect: https://docs.nango.dev/integrations/all/freshservice/connect + connection_config: + subdomain: + type: string + title: Freshservice subdomain + description: The subdomain of your Freshservice account + pattern: '^[a-z0-9_-]+$' + example: subdomain + suffix: .freshservice.com + prefix: https:// + doc_section: '#step-2-finding-your-freshservice-subdomain' + credentials: + username: + type: string + title: API key + description: The API Key of your Freshservice account + secret: true + doc_section: '#step-1-finding-your-freshservice-api-key' + password: + type: string + title: '' + description: '' + # https://api.freshservice.com/#authentication + # FreshService is using basic auth with an api key, the basic username/password was deprecated + default_value: 'X' + hidden: true + +freshteam: + display_name: Freshteam + categories: + - hr + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.accountName}.freshteam.com + headers: + authorization: Bearer ${apiKey} + accept: application/json + docs: https://docs.nango.dev/integrations/all/freshteam + docs_connect: https://docs.nango.dev/integrations/all/freshteam/connect + connection_config: + accountName: + type: string + title: Account Name + description: The account name of your Freshteam account + example: nango + format: hostname + suffix: .freshteam.com + prefix: https:// + order: 1 + doc_section: '#step-1-finding-your-account-name' + credentials: + apiKey: + type: string + title: API Key + description: The API key to your Freshteam account + doc_section: '#step-2-finding-your-api-key' + example: 'XtoF94LMNyKPbd5AvR1QJh' + pattern: '^[a-zA-Z0-9_!@#$%^&*()\\-+=]+$' + +front: + display_name: Front + categories: + - support + - ticketing + auth_mode: OAUTH2 + authorization_url: https://app.frontapp.com/oauth/authorize + token_url: https://app.frontapp.com/oauth/token + proxy: + base_url: https://api2.frontapp.com + retry: + after: 'retry-after' + paginate: + type: link + response_path: _results + link_path_in_response_body: _pagination.next + docs: https://docs.nango.dev/integrations/all/front + +gainsight-cc: + display_name: Gainsight CC + categories: + - support + - crm + auth_mode: OAUTH2_CC + token_url: https://api2-${connectionConfig.region}.insided.com/oauth2/token + scope_separator: ' ' + token_params: + grant_type: client_credentials + proxy: + base_url: https://api2-${connectionConfig.region}.insided.com + docs: https://docs.nango.dev/integrations/all/gainsight-cc + docs_connect: https://docs.nango.dev/integrations/all/gainsight-cc/connect + connection_config: + region: + type: string + title: Region + description: The region of your Gainsight account + example: eu-west-1 + pattern: '^[a-z]{2}-[a-z]+-[1-9]$' + doc_section: '#step-2-finding-your-region' + +garmin: + display_name: Garmin + categories: + - sports + auth_mode: OAUTH1 + request_url: https://connectapi.garmin.com/oauth-service/oauth/request_token + authorization_url: https://connect.garmin.com/oauthConfirm + token_url: https://connectapi.garmin.com/oauth-service/oauth/access_token + signature_method: 'HMAC-SHA1' + proxy: + base_url: https://apis.garmin.com + docs: https://docs.nango.dev/integrations/all/garmin + +gerrit: + display_name: Gerrit + categories: + - dev-tools + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.host} + verification: + method: GET + endpoint: /config/server/version + docs: https://docs.nango.dev/integrations/all/gerrit + docs_connect: https://docs.nango.dev/integrations/all/gerrit/connect + connection_config: + host: + type: string + title: Gerrit Host + description: The host to where you Gerrit instance is hosted + pattern: '^https?:\/\/[a-z0-9.-]+(:\d+)?(\/.*)?$' + example: http://localhost:8080 + doc_section: '#step-1-finding-your-host' + order: 1 + +guru: + display_name: Guru + categories: + - knowledge-base + auth_mode: BASIC + proxy: + base_url: https://api.getguru.com/api/v1 + verification: + method: GET + endpoint: /whoami + docs: https://docs.nango.dev/integrations/all/guru + docs_connect: https://docs.nango.dev/integrations/all/guru/connect + credentials: + username: + type: string + title: User/Collection ID + description: The user or collection ID of your Guru account + doc_section: '#step-1-finding-your-user-collection-id' + password: + type: string + title: User/Collection Token + description: The user or collection token of your Guru account + secret: true + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + doc_section: '#step-2-generating-your-user-collection-token' + +github: + display_name: GitHub + categories: + - dev-tools + - support + - ticketing + auth_mode: OAUTH2 + authorization_url: https://github.com/login/oauth/authorize + token_url: https://github.com/login/oauth/access_token + proxy: + base_url: https://api.github.com + retry: + at: 'x-ratelimit-reset' + remaining: 'x-ratelimit-remaining' + error_code: 403 + paginate: + type: link + limit_name_in_request: per_page + link_rel_in_response_header: next + docs: https://docs.nango.dev/integrations/all/github + +github-app: + display_name: GitHub App + categories: + - dev-tools + - ticketing + alias: github + auth_mode: APP + authorization_url: ${connectionConfig.appPublicLink}/installations/new + token_url: https://api.github.com/app/installations/${connectionConfig.installation_id}/access_tokens + webhook_routing_script: githubAppWebhookRouting + docs: https://docs.nango.dev/integrations/all/github + connection_config: + appPublicLink: + type: string + title: App Public Link + description: The public link of your GitHub App + format: uri + pattern: '^https?://.*$' + installation_id: + type: string + title: Installation ID + description: The installation ID of your GitHub App + example: '38631545' + automated: true + +github-app-oauth: + display_name: GitHub App (oauth) + categories: + - dev-tools + - ticketing + alias: github + auth_mode: CUSTOM + authorization_url: ${connectionConfig.appPublicLink}/installations/new + authorization_url_skip_encode: + - base_url + token_url: + OAUTH2: https://github.com/login/oauth/access_token + APP: https://api.github.com/app/installations/${connectionConfig.installation_id}/access_tokens + webhook_routing_script: githubAppOauthWebhookRouting + post_connection_script: githubAppOauthPostConnection + docs: https://docs.nango.dev/integrations/all/github + connection_config: + appPublicLink: + type: string + title: App Public Link + description: The public link of your GitHub App + format: uri + pattern: '^https?://.*$' + installation_id: + type: string + title: Installation ID + description: The installation ID of your GitHub App + example: '38631545' + automated: true + +gitlab: + display_name: GitLab + categories: + - dev-tools + - ticketing + auth_mode: OAUTH2 + authorization_url: https://gitlab.com/oauth/authorize + token_url: https://gitlab.com/oauth/token + authorization_params: + response_type: code + proxy: + base_url: https://gitlab.com + docs: https://docs.nango.dev/integrations/all/gitlab + +ghost-admin: + display_name: Ghost (Admin API) + categories: + - dev-tools + - design + - cms + auth_mode: JWT + token: + expires_in_ms: 300000 + headers: + alg: HS256 + payload: + aud: /admin/ + proxy: + headers: + accept: application/json + accept-version: ${connectionConfig.version} + base_url: https://${connectionConfig.adminDomain}/ghost/api/admin/ + docs: https://docs.nango.dev/integrations/all/ghost + connection_config: + adminDomain: + type: string + title: Ghost Admin Domain + description: The domain of your Ghost Admin which can be different from your main domain + example: 'mock.ghost.io' + pattern: '^([a-z0-9_-]+\.|)(ghost\.io|[a-z0-9_-]+\.[a-z]{2,})$' + version: + type: string + title: API Version + description: The version of the Ghost Admin API to use + example: 'v3.0' + pattern: '^v\d+\.\d+$' + +ghost-content: + display_name: Ghost (Content API) + categories: + - dev-tools + - design + - cms + auth_mode: API_KEY + proxy: + headers: + accept-version: ${connectionConfig.version} + base_url: https://${connectionConfig.adminDomain}/ghost/api/content/ + query: + key: ${apiKey} + verification: + method: GET + endpoint: /tags + docs: https://docs.nango.dev/integrations/all/ghost + connection_config: + version: + type: string + title: API Version + description: The version of the Ghost Admin API to use + example: 'v3.0' + pattern: '^v\d+\.\d+$' + adminDomain: + type: string + title: Ghost Admin Domain + description: The domain of your Ghost Admin which can be different from your main domain + example: 'mock.ghost.io' + pattern: '^([a-z0-9_-]+\.|)(ghost\.io|[a-z0-9_-]+\.[a-z]{2,})$' + credentials: + apiKey: + type: string + title: API Key + description: The content API key for your Ghost account + pattern: '^[a-zA-Z0-9]{26}$' + example: a1b2c3d4e5f6g7h8i9j0k1l2m3 + +gong: + display_name: Gong + categories: + - productivity + auth_mode: BASIC + proxy: + base_url: https://api.gong.io + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/gong + docs_connect: https://docs.nango.dev/integrations/all/gong/connect + credentials: + username: + type: string + title: Access Key + description: Your Gong Access Key + pattern: '^[a-zA-Z0-9-]+$' + doc_section: '#step-1-finding-gong-api-key-and-api-key-secret' + password: + type: string + title: Access Key Secret + description: Your Gong Access Key Secret + default_value: '' + doc_section: '#step-1-finding-gong-api-key-and-api-key-secret' + +gong-oauth: + display_name: Gong (oauth) + auth_mode: OAUTH2 + categories: + - productivity + authorization_url: https://app.gong.io/oauth2/authorize + token_url: https://app.gong.io/oauth2/generate-customer-token + token_response_metadata: + - api_base_url_for_customer + authorization_params: + response_type: code + access_type: offline + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + disable_pkce: true + token_request_auth_method: basic + proxy: + base_url: ${connectionConfig.api_base_url_for_customer} || https://api.gong.io + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/gong + connection_config: + api_base_url_for_customer: + type: string + title: API Base URL + description: The base URL of your Gong account + format: uri + pattern: '^https?://.*$' + +google: + display_name: Google + auth_mode: OAUTH2 + authorization_url: https://accounts.google.com/o/oauth2/v2/auth + token_url: https://oauth2.googleapis.com/token + authorization_params: + response_type: code + access_type: offline + prompt: consent + proxy: + base_url: https://www.googleapis.com + paginate: + type: cursor + cursor_path_in_response: nextPageToken + limit_name_in_request: maxSize + cursor_name_in_request: pageToken + response_path: items + docs: https://docs.nango.dev/integrations/all/google + +google-analytics: + display_name: Google Analytics + alias: google + categories: + - analytics + docs: https://docs.nango.dev/integrations/all/google-analytics + +google-calendar: + display_name: Google Calendar + categories: + - productivity + alias: google + proxy: + base_url: https://www.googleapis.com + paginate: + type: cursor + cursor_path_in_response: nextPageToken + limit_name_in_request: maxSize + cursor_name_in_request: pageToken + response_path: items + docs: https://docs.nango.dev/integrations/all/google-calendar + +google-docs: + display_name: Google Docs + categories: + - productivity + alias: google + proxy: + base_url: https://docs.googleapis.com + docs: https://docs.nango.dev/integrations/all/google-docs + +google-mail: + display_name: Google Mail + categories: + - productivity + alias: google + proxy: + base_url: https://gmail.googleapis.com + docs: https://docs.nango.dev/integrations/all/google-mail + +google-sheet: + display_name: Google Sheet + categories: + - productivity + alias: google + proxy: + base_url: https://sheets.googleapis.com + docs: https://docs.nango.dev/integrations/all/google-sheet + +google-drive: + display_name: Google Drive + categories: + - knowledge-base + - storage + alias: google + docs: https://docs.nango.dev/integrations/all/google-drive + +google-ads: + display_name: Google Ads + categories: + - marketing + alias: google + token_url: https://www.googleapis.com/oauth2/v3/token + proxy: + base_url: https://googleads.googleapis.com + paginate: + type: cursor + cursor_path_in_response: nextPageToken + limit_name_in_request: pageSize + cursor_name_in_request: pageToken + response_path: results + docs: https://docs.nango.dev/integrations/all/google-ads + +google-play: + display_name: Google Play + categories: + - dev-tools + auth_mode: OAUTH2 + authorization_url: https://accounts.google.com/o/oauth2/auth + token_url: https://accounts.google.com/o/oauth2/token + authorization_params: + response_type: code + access_type: offline + prompt: consent + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://play.googleapis.com + docs: https://docs.nango.dev/integrations/all/google-play + +gorgias: + display_name: Gorgias + categories: + - e-commerce + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.gorgias.com/oauth/authorize + token_url: https://${connectionConfig.subdomain}.gorgias.com/oauth/token + token_request_auth_method: basic + default_scopes: + - offline + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.subdomain}.gorgias.com + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/gorgias + connection_config: + subdomain: + type: string + title: Gorgias Domain + description: The subdomain of your Gorgias account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .gorgias.com + prefix: https:// + +grain: + display_name: Grain + categories: + - video + - communication + - productivity + auth_mode: OAUTH2 + authorization_url: https://grain.com/_/public-api/oauth2/authorize + token_url: https://api.grain.com/_/public-api/oauth2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://api.grain.com + docs: https://docs.nango.dev/integrations/all/grain + +grain-api-key: + display_name: Grain (api key) + categories: + - video + - communication + - productivity + auth_mode: API_KEY + proxy: + base_url: https://api.grain.com + verification: + method: GET + endpoint: /_/public-api/me + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/grain + credentials: + apiKey: + type: string + title: API Key + description: The personal access token to your Grain account + +greenhouse: + display_name: Greenhouse + categories: + - ats + auth_mode: OAUTH2 + authorization_url: https://api.greenhouse.io/oauth/authorize + token_url: https://api.greenhouse.io/oauth/token + proxy: + base_url: https://${connectionConfig.resource}.greenhouse.io + retry: + after: 'retry-after' + paginate: + type: link + limit_name_in_request: per_page + link_rel_in_response_header: next + docs: https://docs.nango.dev/integrations/all/greenhouse + connection_config: + resource: + type: string + title: Greenhouse API Domain + description: The Greenhouse API Domain you want to connect to + pattern: '^[a-z0-9_-]+$' + example: harvest + suffix: .greenhouse.io + prefix: https:// + +greenhouse-basic: + display_name: Greenhouse (basic auth) + categories: + - ats + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.resource}.greenhouse.io + retry: + after: 'retry-after' + paginate: + type: link + limit_name_in_request: per_page + link_rel_in_response_header: next + docs: https://docs.nango.dev/integrations/all/greenhouse + docs_connect: https://docs.nango.dev/integrations/all/greenhouse-basic/connect + connection_config: + resource: + type: string + title: Greenhouse API Domain + description: The Greenhouse API Domain you want to connect to + pattern: '^[a-z0-9_-]+$' + example: harvest + suffix: .greenhouse.io + prefix: https:// + order: 1 + credentials: + username: + type: string + title: API key + description: The API Key of your Greenhouse account + pattern: '^[a-zA-Z0-9-]+$' + secret: true + doc_section: '#step-1-finding-greenhouse-api-key' + password: + type: string + title: Password + description: Password + # https://developers.greenhouse.io/harvest.html#authentication + # Greenhouse is using basic auth with an api key + default_value: '' + hidden: true + +gumroad: + display_name: Gumroad + categories: + - design + - e-commerce + - payment + auth_mode: OAUTH2 + authorization_url: https://gumroad.com/oauth/authorize + token_url: https://api.gumroad.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.gumroad.com + docs: https://docs.nango.dev/integrations/all/gumroad + +gusto: + display_name: Gusto + categories: + - hr + auth_mode: OAUTH2 + authorization_url: https://api.gusto.com/oauth/authorize + token_url: https://api.gusto.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.gusto.com + post_connection_script: gustoPostConnection + docs: https://docs.nango.dev/integrations/all/gusto + +gusto-demo: + display_name: Gusto (demo) + auth_mode: OAUTH2 + authorization_url: https://api.gusto-demo.com/oauth/authorize + token_url: https://api.gusto-demo.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.gusto-demo.com + post_connection_script: gustoPostConnection + docs: https://docs.nango.dev/integrations/all/gusto + +hackerrank-work: + display_name: HackerRank Work + auth_mode: BASIC + proxy: + base_url: https://www.hackerrank.com + verification: + method: GET + endpoint: /x/api/v3/users?limit=10&offset=10 + docs: https://docs.nango.dev/integrations/all/hackerrank-work + docs_connect: https://docs.nango.dev/integrations/all/hackerrank-work/connect + credentials: + username: + type: string + title: API Key + description: Your HackerRank Work API Key + doc_section: '#step-1-finding-hackerrank-api-key' + password: + type: string + title: '' + description: '' + default_value: '' + hidden: true + +harvest: + display_name: Harvest + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://id.getharvest.com/oauth2/authorize + token_url: https://id.getharvest.com/api/v2/oauth2/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + headers: + user-agent: ${connectionConfig.appDetails} || App (support@nango.dev) + retry: + after: 'retry-after' + base_url: https://api.harvestapp.com + docs: https://docs.nango.dev/integrations/all/harvest + connection_config: + appDetails: + type: string + title: App Details + description: The details of your app + automated: true + +health-gorilla: + display_name: Health Gorilla + auth_mode: OAUTH2 + authorization_url: https://api.healthgorilla.com/oauth/authorize + token_url: https://api.healthgorilla.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://healthgorilla.com + docs: https://docs.nango.dev/integrations/all/healthgorilla + +hibob-service-user: + display_name: Hibob Service User + categories: + - hr + auth_mode: BASIC + proxy: + base_url: https://api.hibob.com + verification: + method: GET + endpoint: /v1/company/named-lists + retry: + at: 'x-ratelimit-reset' + credentials: + username: + type: string + title: User name + description: Your Hibob ID + doc_section: '#step-1-finding-your-hibob-service-user-id' + password: + type: string + title: Password + description: Your Hibob Token + default_value: '' + hidden: true + doc_section: '#step-2-finding-your-hibob-token' + docs: https://docs.nango.dev/integrations/all/hibob + docs_connect: https://docs.nango.dev/integrations/all/hibob-service-user/connect + +highlevel: + display_name: HighLevel + categories: + - marketing + auth_mode: OAUTH2 + authorization_url: https://marketplace.gohighlevel.com/oauth/chooselocation + token_url: https://services.leadconnectorhq.com/oauth/token + scope_separator: ' ' + proxy: + base_url: https://services.leadconnectorhq.com + disable_pkce: true + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + docs: https://docs.nango.dev/integrations/all/highlevel + +highlevel-white-label: + display_name: HighLevel (white label) + categories: + - marketing + auth_mode: OAUTH2 + authorization_url: https://marketplace.leadconnectorhq.com/oauth/chooselocation + token_url: https://services.leadconnectorhq.com/oauth/token + scope_separator: ' ' + proxy: + base_url: https://services.leadconnectorhq.com + disable_pkce: true + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + docs: https://docs.nango.dev/integrations/all/highlevel + +holded: + display_name: Holded + categories: + - accounting + - crm + - invoicing + auth_mode: API_KEY + proxy: + base_url: https://api.holded.com/api + headers: + key: ${apiKey} + verification: + method: GET + endpoint: /invoicing/v1/contacts + docs: https://docs.nango.dev/integrations/all/holded + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Holded account + +hubspot: + display_name: HubSpot + categories: + - marketing + - support + - crm + auth_mode: OAUTH2 + authorization_url: https://app.hubspot.com/oauth/authorize + token_url: https://api.hubapi.com/oauth/v1/token + connection_configuration: + - portalId + post_connection_script: hubspotPostConnection + webhook_routing_script: hubspotWebhookRouting + proxy: + base_url: https://api.hubapi.com + decompress: true + paginate: + type: cursor + cursor_path_in_response: paging.next.after + limit_name_in_request: limit + cursor_name_in_request: after + response_path: results + docs: https://docs.nango.dev/integrations/all/hubspot + +insightly: + display_name: Insightly + categories: + - crm + auth_mode: BASIC + proxy: + base_url: https://api.${connectionConfig.pod}.insightly.com + verification: + method: GET + endpoint: /v3.1/Contacts + docs: https://docs.nango.dev/integrations/all/insightly + connection_config: + pod: + type: string + title: Insightly Domain + description: The subdomain of your Insightly account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .insightly.com + prefix: https:// + credentials: + username: + type: string + title: API Key + description: Your Insightly API key + password: + type: string + title: '' + description: '' + hidden: true + default_value: '' + +instantly: + display_name: Instantly + categories: + - marketing + - communication + auth_mode: API_KEY + proxy: + base_url: https://api.instantly.ai/api + docs: https://docs.nango.dev/integrations/all/instantly + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Instantly account + +instagram: + display_name: Instagram + categories: + - marketing + - social + auth_mode: OAUTH2 + authorization_url: https://api.instagram.com/oauth/authorize + token_url: https://api.instagram.com/oauth/access_token + proxy: + base_url: https://graph.instagram.com + docs: https://docs.nango.dev/integrations/all/instagram + +intercom: + display_name: Intercom + categories: + - marketing + - support + - surveys + - ticketing + auth_mode: OAUTH2 + authorization_url: https://app.intercom.io/oauth + token_url: https://api.intercom.io/auth/eagle/token + proxy: + base_url: https://api.intercom.io + retry: + at: 'x-ratelimit-reset' + docs: https://docs.nango.dev/integrations/all/intercom + +intuit: + display_name: Intuit + categories: + - accounting + auth_mode: OAUTH2 + authorization_url: https://appcenter.intuit.com/connect/oauth2 + token_url: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer + proxy: + base_url: https://quickbooks.api.intuit.com + docs: https://docs.nango.dev/integrations/all/intuit + +jira: + display_name: Jira + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://auth.atlassian.com/authorize + token_url: https://auth.atlassian.com/oauth/token + authorization_params: + audience: api.atlassian.com + prompt: consent + connection_configuration: + - cloudId + - accountId + proxy: + base_url: https://api.atlassian.com + paginate: + type: link + link_rel_in_response_header: next + limit_name_in_request: limit + response_path: results + link_path_in_response_body: _links.next + post_connection_script: jiraPostConnection + webhook_routing_script: jiraWebhookRouting + docs: https://docs.nango.dev/integrations/all/jira + +jira-basic: + display_name: Jira (basic auth) + categories: + - productivity + - ticketing + auth_mode: BASIC + proxy: + retry: + after: 'retry-after' + base_url: https://${connectionConfig.subdomain}.atlassian.net + verification: + method: GET + endpoint: /rest/api/3/events + docs: https://docs.nango.dev/integrations/all/jira + connection_config: + subdomain: + type: string + title: Jira Domain + description: The subdomain of your Jira account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .atlassian.net + prefix: https:// + order: 1 + doc_section: '#step-2-finding-your-atlassian-domain' + credentials: + username: + type: string + title: Email Address + description: The Email Address of your Jira account + format: email + doc_section: '#step-3-finding-your-user-name' + password: + type: string + title: API Key + description: The API Key of your Jira account + doc_section: '#step-1-finding-atlassian-api-key' + docs_connect: https://docs.nango.dev/integrations/all/jira-basic/connect + +jira-data-center: + display_name: Jira Data Center + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.endpointURL}/rest/oauth2/latest/authorize + authorization_params: + grant_type: authorization_code + token_url: https://${connectionConfig.endpointURL}/rest/oauth2/latest/token + docs: https://docs.nango.dev/integrations/all/jira-data-center + proxy: + base_url: https://${connectionConfig.endpointURL}/rest/api/latest + connection_config: + endpointURL: + type: string + title: Domain + description: The domain of your Jira Data Center account + pattern: '^https://[a-z0-9.-]+.atlassian.net$' + example: https://foobar.atlassian.net + +jotform: + display_name: Jotform + categories: + - surveys + auth_mode: API_KEY + proxy: + base_url: https://api.jotform.com + headers: + apikey: ${apiKey} + docs: https://docs.nango.dev/integrations/all/jotform + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Jotform account + +helpscout-docs: + display_name: Help Scout Docs + auth_mode: BASIC + proxy: + retry: + after: 'x-ratelimit-reset' + base_url: https://docsapi.helpscout.net + verification: + method: GET + endpoint: /v1/sites + docs: https://docs.nango.dev/integrations/all/helpscout + docs_connect: https://docs.nango.dev/integrations/all/helpscout-docs/connect + credentials: + username: + type: string + title: API Key + description: Your Help Scout Docs API Key + secret: true + doc_section: '#step-1-finding-help-scout-api-key' + password: + type: string + title: '' + description: '' + default_value: 'X' + hidden: true + +helpscout-mailbox: + display_name: Help Scout Mailbox + auth_mode: OAUTH2 + authorization_url: https://secure.helpscout.net/authentication/authorizeClientApplication + token_url: https://api.helpscout.net/v2/oauth2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + retry: + after: 'x-ratelimit-retry-after' + base_url: https://api.helpscout.net + docs: https://docs.nango.dev/integrations/all/helpscout + +keap: + display_name: Keap + categories: + - marketing + auth_mode: OAUTH2 + authorization_url: https://accounts.infusionsoft.com/app/oauth/authorize + token_url: https://api.infusionsoft.com/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.infusionsoft.com + docs: https://docs.nango.dev/integrations/all/keap + +keeper-scim: + display_name: Keeper(SCIM) + categories: + - productivity + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://keepersecurity.com/api/rest/scim/v2/${connectionConfig.node} + verification: + method: GET + endpoint: /Users + docs: https://docs.nango.dev/integrations/all/keeper + docs_connect: https://docs.nango.dev/integrations/all/keeper/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your node keeper account + pattern: '^[A-Za-z0-9+/=]+$' + example: 'J9b7kgdL2gf14d5F9p67zYXVrTZPTMEnl3/EmwwI9K2=' + doc_section: '#step-2-finding-your-api-key-api-token' + connection_config: + node: + type: string + title: Node + description: The node id to your Keeper account + pattern: '^\d{15}$' + example: '123435384338765' + doc_section: '#step-1-finding-your-node-id' + +klipfolio: + display_name: Klipfolio + categories: + - productivity + - dev-tools + auth_mode: API_KEY + proxy: + base_url: https://app.klipfolio.com + headers: + kf-api-key: ${apiKey} + verification: + method: GET + endpoint: /api/1.0/profile + docs: https://docs.nango.dev/integrations/all/klipfolio + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Klipfolio account + +klaviyo: + display_name: Klaviyo + categories: + - marketing + auth_mode: API_KEY + proxy: + base_url: https://a.klaviyo.com + headers: + authorization: Klaviyo-API-Key ${apiKey} + revision: '2024-07-15' + verification: + method: GET + endpoint: /api/accounts + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/klaviyo + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Klaviyo account + doc_section: '#step-1-finding-klaviyo-api-key' + +klaviyo-oauth: + display_name: Klaviyo (oauth) + categories: + - marketing + auth_mode: OAUTH2 + authorization_url: https://www.klaviyo.com/oauth/authorize + token_url: https://a.klaviyo.com/oauth/token + token_request_auth_method: basic + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://a.klaviyo.com + headers: + revision: '2024-07-15' + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/klaviyo + +kustomer: + display_name: Kustomer + categories: + - crm + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.extension}.kustomerapp.com + retry: + after: 'x-ratelimit-reset' + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/kustomer + connection_config: + extension: + type: string + title: Kustomer Domain + description: The subdomain of your Kustomer account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .kustomerapp.com + prefix: https:// + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Kustomer account + +lagrowthmachine: + display_name: La Growth Machine + categories: + - marketing + auth_mode: API_KEY + proxy: + base_url: https://apiv2.lagrowthmachine.com + query: + KEY: ${apiKey} + docs: https://docs.nango.dev/integrations/all/lagrowthmachine + docs_connect: https://docs.nango.dev/integrations/all/lagrowthmachine/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your La Growth Machine account + example: 1bc32cba-a5d6-438a-bbcc-af312f560a3c + format: uuid + doc_section: '#step-1-finding-your-api-key' + +lastpass: + display_name: LastPass + categories: + - productivity + auth_mode: BASIC + proxy: + base_url: https://lastpass.com + docs: https://docs.nango.dev/integrations/all/lastpass + docs_connect: https://docs.nango.dev/integrations/all/lastpass/connect + credentials: + username: + type: string + title: CID + description: Your LastPass Account number + doc_section: '#step-1-finding-your-cid' + password: + type: string + title: Provhash + description: 'Your LastPass API key' + secret: true + doc_section: '#step-2-generating-your-provhash' + +lattice: + display_name: Lattice + categories: + - hr + auth_mode: API_KEY + proxy: + base_url: https://api.latticehq.com/ + headers: + authorization: Bearer ${apiKey} + accept: application/json + content-type: application/json + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/lattice + docs_connect: https://docs.nango.dev/integrations/all/lattice/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Lattice account + doc_section: '#step-1-finding-lattice-api-key' + +lessonly: + display_name: Lessonly + categories: + - productivity + auth_mode: BASIC + proxy: + base_url: https://api.lessonly.com/api + docs: https://docs.nango.dev/integrations/all/lessonly + credentials: + username: + type: string + title: Subdomain + description: Your Lessonly Subdomain + password: + type: string + title: API Key + description: Your Lessonly API key + secret: true + +lever: + display_name: Lever + categories: + - ats + auth_mode: OAUTH2 + authorization_url: https://auth.lever.co/authorize + token_url: https://auth.lever.co/oauth/token + authorization_params: + response_type: code + prompt: consent + audience: https://api.lever.co/v1 + proxy: + base_url: https://api.lever.co + docs: https://docs.nango.dev/integrations/all/lever + +lever-basic: + display_name: Lever (basic auth) + auth_mode: BASIC + proxy: + base_url: https://api.lever.co + docs: https://docs.nango.dev/integrations/all/lever + docs_connect: https://docs.nango.dev/integrations/all/lever-basic/connect + credentials: + username: + type: string + title: User name + description: The API Key of your lever account + doc_section: '#step-1-finding-lever-api-key' + password: + type: string + title: '' + description: '' + default_value: '' + hidden: true + +lever-sandbox: + display_name: Lever (sandbox) + auth_mode: OAUTH2 + authorization_url: https://sandbox-lever.auth0.com/authorize + token_url: https://sandbox-lever.auth0.com/oauth/token + authorization_params: + response_type: code + prompt: consent + audience: https://api.sandbox.lever.co/v1/ + proxy: + base_url: https://api.sandbox.lever.co + docs: https://docs.nango.dev/integrations/all/lever + +lever-basic-sandbox: + display_name: Lever (basic auth) (sandbox) + auth_mode: BASIC + proxy: + base_url: https://api.sandbox.lever.co + docs: https://docs.nango.dev/integrations/all/lever + credentials: + username: + type: string + title: User name + description: The API Key of your Lever sandbox account + password: + type: string + title: '' + description: '' + default_value: '' + hidden: true + +linear: + display_name: Linear + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://linear.app/oauth/authorize + token_url: https://api.linear.app/oauth/token + scope_separator: ',' + authorization_params: + prompt: consent + proxy: + base_url: https://api.linear.app + retry: + at: 'x-ratelimit-requests-reset' + remaining: 'x-ratelimit-requests-remaining' + error_code: 400 + disable_pkce: true + webhook_routing_script: linearWebhookRouting + post_connection_script: linearPostConnection + webhook_user_defined_secret: true + docs: https://docs.nango.dev/integrations/all/linear + +linkedin: + display_name: LinkedIn + categories: + - ats + - social + auth_mode: OAUTH2 + authorization_url: https://www.linkedin.com/oauth/v2/authorization + token_url: https://www.linkedin.com/oauth/v2/accessToken + disable_pkce: true + proxy: + base_url: https://api.linkedin.com + docs: https://docs.nango.dev/integrations/all/linkedin + +linkhut: + display_name: LinkHut + auth_mode: OAUTH2 + authorization_url: https://ln.ht/_/oauth/authorize + token_url: https://api.ln.ht/v1/oauth/token + proxy: + base_url: https://api.ln.ht + docs: https://docs.nango.dev/integrations/all/linkhut + +loops-so: + display_name: Loops.so + categories: + - marketing + - communication + auth_mode: API_KEY + proxy: + base_url: https://app.loops.so/api + headers: + accept: application/json + authorization: Bearer ${apiKey} + verification: + method: GET + endpoint: /v1/api-key + docs: https://docs.nango.dev/integrations/all/loops-so + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Loops.so account + pattern: '^[a-f0-9]{32}$' + example: d2d561f5ff80136f69b4b5a31b9fb3c9 + +luma: + display_name: Luma + categories: + - productivity + - ticketing + auth_mode: API_KEY + proxy: + headers: + x-luma-api-key: ${apiKey} + base_url: https://api.lu.ma + verification: + method: GET + endpoint: /public/v1/user/get-self + docs: https://docs.nango.dev/integrations/all/luma + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Luma account + +listmonk: + display_name: Listmonk + categories: + - marketing + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.domain}/api + headers: + content-type: application/json + retry: + after: 'retry-after' + verification: + method: GET + endpoint: /lists + docs: https://docs.nango.dev/integrations/all/listmonk + connection_config: + domain: + type: string + title: Domain + description: The domain of your Listmonk account + format: hostname + prefix: https:// + credentials: + username: + type: string + title: API User + description: The API user to your Listmonk account + password: + type: string + title: Token + description: The token to your Listmonk account + secret: true + +make: + display_name: Make + categories: + - productivity + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.environmentUrl}/api/v2 + headers: + authorization: Token ${apiKey} + verification: + method: GET + endpoint: /users/me + docs: https://docs.nango.dev/integrations/all/make + connection_config: + environmentUrl: + type: string + title: Domain + description: The domain of your Make account + format: hostname + prefix: https:// + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Make account + +mailgun: + display_name: Mailgun + categories: + - marketing + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.region}.mailgun.net + verification: + method: GET + endpoint: /v4/domains + docs: https://docs.nango.dev/integrations/all/mailgun + connection_config: + region: + type: string + title: Region + description: The region of your Mailgun account + pattern: '^[a-z]+$' + example: us + +mailchimp: + display_name: Mailchimp + categories: + - marketing + - surveys + auth_mode: OAUTH2 + authorization_url: https://login.mailchimp.com/oauth2/authorize + token_url: https://login.mailchimp.com/oauth2/token + authorization_params: + response_type: code + proxy: + base_url: https://${connectionConfig.dc}.api.mailchimp.com + docs: https://docs.nango.dev/integrations/all/mailchimp + connection_config: + dc: + type: string + title: Data Center + description: The data center for your account + pattern: '^[a-z]+\d*$' + example: us6 + +# Untested configuration. Please reach out if you have a test account that we can use to test it. +manatal: + display_name: Manatal + auth_mode: API_KEY + categories: + - crm + - hr + proxy: + base_url: https://api.manatal.com/open/v3 + verification: + method: GET + endpoint: /users + headers: + authorization: Token ${apiKey} + paginate: + type: link + limit_name_in_request: page_size + link_path_in_response_body: next + response_path: results + docs: https://docs.nango.dev/integrations/all/manatal + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Manatal account + +marketo: + display_name: Marketo + auth_mode: OAUTH2_CC + proxy: + base_url: https://${connectionConfig.endpointURL} + token_url: https://${connectionConfig.identityURL}/identity/oauth/token + token_params: + grant_type: client_credentials + docs: https://docs.nango.dev/integrations/all/marketo + connection_config: + endpointURL: + type: string + title: Domain + description: The domain of your Marketo account + format: hostname + example: xxx.mktorest.com + prefix: https:// + suffix: / + order: 1 + identityURL: + type: string + title: Identity URL + description: The identity URL of your Marketo account + format: hostname + prefix: https:// + example: xxx.mktorest.com + suffix: /identity/oauth/token + order: 2 + +malwarebytes: + display_name: Malwarebytes + categories: + - other + auth_mode: OAUTH2_CC + token_url: https://api.malwarebytes.com/oauth2/token + token_request_auth_method: basic + scope_separator: ' ' + token_params: + grant_type: client_credentials + proxy: + base_url: https://api.malwarebytes.com + headers: + accountid: ${connectionConfig.accountId} + connection_config: + accountId: + type: string + title: Account Id + description: Your Nebula account id + pattern: '[\da-fA-F]{8}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{4}-?[\da-fA-F]{12}$' + example: 9256034b-7967-4253-a5d9-260663e4fa4f + order: 1 + doc_section: '#step-1-finding-your-account-id' + + docs: https://docs.nango.dev/integrations/all/malwarebytes + docs_connect: https://docs.nango.dev/integrations/all/malwarebytes/connect + +medallia: + display_name: Medallia + categories: + - crm + - support + - surveys + auth_mode: OAUTH2_CC + token_url: https://${connectionConfig.reportingInstance}/oauth/${connectionConfig.tenantName}/token + token_request_auth_method: basic + token_params: + grant_type: client_credentials + proxy: + retry: + after: 'x-ratelimit-reset' + base_url: https://${connectionConfig.gatewayUrl}.apis.medallia.com + docs: https://docs.nango.dev/integrations/all/medallia + connection_config: + reportingInstance: + type: string + title: Domain + description: The domain of your Medallia account + format: hostname + prefix: https:// + tenantName: + type: string + title: Tenant Name + description: The tenant name of your Medallia account + gatewayUrl: + type: string + title: Gateway URL + description: The gateway URL of your Medallia account + format: hostname + prefix: https:// + +metabase: + display_name: Metabase + categories: + - analytics + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.domain}.com + headers: + x-api-key: ${apiKey} + verification: + method: GET + endpoint: /api/database + docs: https://docs.nango.dev/integrations/all/metabase + connection_config: + domain: + type: string + title: Metabase Domain + description: The domain (without the extension) of your Metabase account + pattern: '^[a-z0-9.-]+$' + example: metabase + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Metabase account + +microsoft: + display_name: Microsoft + auth_mode: OAUTH2 + authorization_url: https://login.microsoftonline.com/common/oauth2/v2.0/authorize + token_url: https://login.microsoftonline.com/common/oauth2/v2.0/token + disable_pkce: true + default_scopes: + - offline_access + authorization_params: + response_type: code + response_mode: query + prompt: consent + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://graph.microsoft.com + retry: + after: 'retry-after' + decompress: true + docs: https://docs.nango.dev/integrations/all/microsoft + +microsoft-teams: + display_name: Microsoft Teams + categories: + - productivity + - video + alias: microsoft + webhook_routing_script: microsoftTeamsWebhookRouting + post_connection_script: microsoftTeamsPostConnection + docs: https://docs.nango.dev/integrations/all/microsoft-teams + +microsoft-tenant-specific: + display_name: Microsoft (tenant) + categories: + - erp + auth_mode: OAUTH2 + authorization_url: https://login.microsoftonline.com/${connectionConfig.tenant}/oauth2/v2.0/authorize + token_url: https://login.microsoftonline.com/${connectionConfig.tenant}/oauth2/v2.0/token + disable_pkce: true + default_scopes: + - offline_access + authorization_params: + response_type: code + response_mode: query + prompt: consent + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://graph.microsoft.com + docs: https://docs.nango.dev/integrations/all/microsoft-tenant-specific + connection_config: + tenant: + type: string + title: Tenant + description: The tenant of your Microsoft account + +microsoft-ads: + display_name: Microsoft Ads + alias: microsoft + categories: + - marketing + default_scopes: + - https://ads.microsoft.com/msads.manage + - offline_access + proxy: + base_url: https://clientcenter.api.bingads.microsoft.com/Api + refresh_params: + grant_type: refresh_token + scope: https://ads.microsoft.com/msads.manage + docs: https://docs.nango.dev/integrations/all/microsoft-ads + +microsoft-entra-id: + display_name: Microsoft Entra ID + categories: + - other + alias: microsoft + docs: https://docs.nango.dev/integrations/all/microsoft-entra-id + +microsoft-power-bi: + display_name: Microsoft Power BI + categories: + - productivity + alias: microsoft + proxy: + base_url: https://api.powerbi.com + docs: https://docs.nango.dev/integrations/all/microsoft-power-bi + +mindbody: + display_name: Mindbody (api key) + categories: + - productivity + auth_mode: API_KEY + proxy: + base_url: https://api.mindbodyonline.com + headers: + api-key: ${apiKey} + siteid: ${connectionConfig.siteId} + authorization: ${connectionConfig.staffUserToken} + verification: + method: GET + endpoint: /public/v6/site/locations + docs: https://docs.nango.dev/integrations/all/mindbody + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Mindbody account + pattern: '^[a-f0-9]{32}$' + example: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + connection_config: + siteId: + type: string + title: Site ID + description: The site ID for your Mindbody account + pattern: '^\d+$' + example: '-99' + staffUserToken: + type: string + title: Staff User Token + description: The staff user token for your Mindbody account + pattern: '^[a-f0-9]{32}$' + example: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4 + +mixpanel: + display_name: Mixpanel + categories: + - analytics + auth_mode: BASIC + proxy: + base_url: https://mixpanel.com + credentials: + # https://developer.mixpanel.com/reference/service-accounts + username: + type: string + title: Service Account Username + description: Mixpanel Service Account Username + doc_section: '#step-1-finding-mixpanel-api-key' + password: + type: string + title: Service Account Secret + description: Mixpanel Service Account Secret + doc_section: '#step-1-finding-mixpanel-api-key' + docs: https://docs.nango.dev/integrations/all/mixpanel + docs_connect: https://docs.nango.dev/integrations/all/mixpanel/connect + +miro: + display_name: Miro + categories: + - design + - productivity + auth_mode: OAUTH2 + authorization_url: https://miro.com/oauth/authorize + token_url: https://api.miro.com/v1/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.miro.com + docs: https://docs.nango.dev/integrations/all/miro + +miro-scim: + display_name: Miro (SCIM API) + categories: + - design + - productivity + auth_mode: API_KEY + proxy: + base_url: https://miro.com/api + verification: + method: GET + endpoint: /v1/scim/Users + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/miro + docs_connect: https://docs.nango.dev/integrations/all/miro-scim/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Miro scim account + doc_section: '#step-1-finding-miro-api-key' + +monday: + display_name: Monday + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://auth.monday.com/oauth2/authorize + token_url: https://auth.monday.com/oauth2/token + proxy: + base_url: https://api.monday.com + docs: https://docs.nango.dev/integrations/all/monday + +mural: + display_name: Mural + categories: + - design + auth_mode: OAUTH2 + authorization_url: https://app.mural.co/api/public/v1/authorization/oauth2 + token_url: https://app.mural.co/api/public/v1/authorization/oauth2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://app.mural.co + docs: https://docs.nango.dev/integrations/all/mural + +nationbuilder: + display_name: NationBuilder + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.accountId}.nationbuilder.com/oauth/authorize + token_url: https://${connectionConfig.accountId}.nationbuilder.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + default_scopes: + - default + docs: https://docs.nango.dev/integrations/all/nationbuilder + proxy: + base_url: https://${connectionConfig.accountId}.nationbuilder.com/api + connection_config: + accountId: + type: string + title: Account ID + description: The account ID of your NationBuilder account + +netsuite: + display_name: NetSuite + categories: + - accounting + - erp + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.accountId}.app.netsuite.com/app/login/oauth2/authorize.nl + authorization_params: + prompt: consent + token_url: https://${connectionConfig.accountId}.suitetalk.api.netsuite.com/services/rest/auth/oauth2/v1/token + default_scopes: + - rest_webservices + proxy: + base_url: https://${connectionConfig.accountId}.suitetalk.api.netsuite.com/services/rest/record/v1 + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/netsuite + connection_config: + accountId: + type: string + title: Account ID + description: The account ID of your NetSuite account + pattern: '^[a-zA-Z0-9-_]+$' + example: tstdrv231585 + +netsuite-tba: + alias: netsuite + display_name: NetSuite (tba) + auth_mode: TBA + docs: https://docs.nango.dev/integrations/all/netsuite + +next-cloud-ocs: + display_name: Next Cloud OCS + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.domain}/ocs/v1.php + headers: + 'ocs-apirequest': 'true' + docs: http://docs.nango.dev/integrations/all/next-cloud + connection_config: + domain: + type: string + title: Domain + description: The domain of your Next Cloud account + format: hostname + prefix: https:// + +notion: + display_name: Notion + categories: + - knowledge-base + - productivity + auth_mode: OAUTH2 + authorization_url: https://api.notion.com/v1/oauth/authorize + token_url: https://api.notion.com/v1/oauth/token + authorization_params: + response_type: code + owner: user + authorization_method: header + body_format: json + proxy: + retry: + after: 'retry-after' + base_url: https://api.notion.com + headers: + 'notion-version': '2022-06-28' + paginate: + type: cursor + cursor_path_in_response: next_cursor + cursor_name_in_request: start_cursor + limit_name_in_request: page_size + response_path: results + docs: https://docs.nango.dev/integrations/all/notion + +notion-scim: + display_name: Notion (SCIM API) + categories: + - knowledge-base + - productivity + auth_mode: API_KEY + proxy: + base_url: https://api.notion.com/scim + verification: + method: GET + endpoint: /v2/Users + headers: + authorization: Bearer ${apiKey} + docs: https://docs.nango.dev/integrations/all/notion + docs_connect: https://docs.nango.dev/integrations/all/notion-scim/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Notion scim account + doc_section: '#step-1-finding-your-scim-api-key-token' + +odoo: + display_name: Odoo + categories: + - erp + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.serverUrl}/restapi/1.0/common/oauth2/authorize + token_url: https://${connectionConfig.serverUrl}/restapi/1.0/common/oauth2/access_token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.serverUrl} + docs: https://docs.nango.dev/integrations/all/odoo + connection_config: + serverUrl: + type: string + title: Domain + description: The domain of your Odoo account + format: hostname + prefix: https:// + +okta: + display_name: Okta + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.okta.com/oauth2/v1/authorize + token_url: https://${connectionConfig.subdomain}.okta.com/oauth2/v1/token + authorization_params: + response_type: code + response_mode: query + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.subdomain}.okta.com + retry: + at: 'x-rate-limit-reset' + paginate: + type: 'link' + limit_name_in_request: 'limit' + link_rel_in_response_header: 'next' + docs: https://docs.nango.dev/integrations/all/okta + connection_config: + subdomain: + type: string + title: Okta Domain + description: The subdomain of your Okta account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .okta.com + prefix: https:// + +okta-preview: + alias: okta + display_name: Okta (Preview) + authorization_url: https://${connectionConfig.subdomain}.oktapreview.com/oauth2/v1/authorize + token_url: https://${connectionConfig.subdomain}.oktapreview.com/oauth2/v1/token + proxy: + base_url: https://${connectionConfig.subdomain}.oktapreview.com + docs: https://docs.nango.dev/integrations/all/okta + connection_config: + subdomain: + type: string + title: Okta Preview Domain + description: The subdomain of your Okta Preview account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .oktapreview.com + prefix: https:// + +one-drive: + display_name: One Drive + categories: + - knowledge-base + - storage + alias: microsoft + docs: https://docs.nango.dev/integrations/all/one-drive + +one-note: + display_name: One Note + categories: + - productivity + alias: microsoft + docs: https://docs.nango.dev/integrations/all/one-note + +openai: + display_name: OpenAI + categories: + - productivity + - dev-tools + auth_mode: API_KEY + proxy: + base_url: https://api.openai.com + headers: + authorization: Bearer ${apiKey} + content-type: application/json + verification: + method: GET + endpoint: /v1/models + retry: + after: 'x-ratelimit-reset-requests' + docs: https://docs.nango.dev/integrations/all/openai + credentials: + apiKey: + type: string + title: API Key + description: The API key for your OpenAI account + +ory: + display_name: Ory + categories: + - other + auth_mode: OAUTH2_CC + proxy: + base_url: https://${connectionConfig.projectSlug}.projects.oryapis.com + token_url: https://${connectionConfig.projectSlug}.projects.oryapis.com/oauth2/token + scope_separator: ' ' + token_params: + grant_type: client_credentials + docs: https://docs.nango.dev/integrations/all/ory + connection_config: + projectSlug: + type: string + title: Project Slug + description: The project slug of your Ory project + +osu: + display_name: Osu + categories: + - gaming + auth_mode: OAUTH2 + authorization_url: https://osu.ppy.sh/oauth/authorize + token_url: https://osu.ppy.sh/oauth/token + default_scopes: + - identify + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://osu.ppy.sh + docs: https://docs.nango.dev/integrations/all/osu + +oura: + display_name: Oura + categories: + - sports + auth_mode: OAUTH2 + authorization_url: https://cloud.ouraring.com/oauth/authorize + token_url: https://api.ouraring.com/oauth/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.ouraring.com + docs: https://docs.nango.dev/integrations/all/oura + +outlook: + display_name: Outlook + categories: + - communication + alias: microsoft + docs: https://docs.nango.dev/integrations/all/outlook + +outreach: + display_name: Outreach + categories: + - marketing + auth_mode: OAUTH2 + authorization_url: https://api.outreach.io/oauth/authorize + token_url: https://api.outreach.io/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.outreach.io + docs: https://docs.nango.dev/integrations/all/outreach + +pagerduty: + display_name: PagerDuty + categories: + - dev-tools + auth_mode: OAUTH2 + authorization_url: https://app.pagerduty.com/oauth/authorize + token_url: https://app.pagerduty.com/oauth/token + proxy: + base_url: https://api.pagerduty.com + docs: https://docs.nango.dev/integrations/all/pagerduty + +pandadoc: + display_name: Pandadoc + categories: + - legal + auth_mode: OAUTH2 + authorization_url: https://app.pandadoc.com/oauth2/authorize + token_url: https://api.pandadoc.com/oauth2/access_token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.pandadoc.com + docs: https://docs.nango.dev/integrations/all/pandadoc + +payfit: + display_name: Payfit + categories: + - hr + auth_mode: OAUTH2 + authorization_url: https://oauth.payfit.com/authorize + token_url: https://app.pagerduty.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://partner-api.payfit.com + docs: https://docs.nango.dev/integrations/all/payfit + +paypal: + display_name: Paypal + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://www.paypal.com/signin/authorize + token_url: https://api.paypal.com/v1/oauth2/token + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api-m.paypal.com + docs: https://docs.nango.dev/integrations/all/paypal + +paypal-sandbox: + display_name: Paypal (sandbox) + auth_mode: OAUTH2 + authorization_url: https://www.sandbox.paypal.com/signin/authorize + token_url: https://api-m.sandbox.paypal.com/v1/oauth2/token + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api-m.sandbox.paypal.com + docs: https://docs.nango.dev/integrations/all/paypal + +pendo: + display_name: Pendo + categories: + - analytics + auth_mode: API_KEY + proxy: + base_url: https://app.pendo.io + verification: + method: GET + endpoint: /api/v1/page + headers: + x-pendo-integration-key: ${apiKey} + docs: https://docs.nango.dev/integrations/all/pendo + docs_connect: https://docs.nango.dev/integrations/all/pendo/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Pendo account + doc_section: '#step-1-finding-pendo-api-key' + +pennylane: + display_name: Pennylane + categories: + - accounting + - banking + - invoicing + - payment + auth_mode: OAUTH2 + authorization_url: https://app.pennylane.com/oauth/authorize + token_url: https://app.pennylane.com/oauth/token + proxy: + base_url: https://app.pennylane.com + scope_separator: '+' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + authorization_url_skip_encode: + - scopes + docs: https://docs.nango.dev/integrations/all/pennylane + +peopledatalabs: + display_name: People Data Labs + categories: + - analytics + auth_mode: API_KEY + proxy: + base_url: https://api.peopledatalabs.com + query: + api_key: ${apiKey} + docs: https://docs.nango.dev/integrations/all/peopledatalabs + credentials: + apiKey: + type: string + title: API Key + description: The API key for your People Data Labs account + +perplexity: + display_name: Perplexity + categories: + - productivity + - dev-tools + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://api.perplexity.ai + docs: https://docs.nango.dev/integrations/all/perplexity + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Perplexity account + pattern: '^pplx-[a-f0-9]+$' + example: pplx-xxxxxx + +perimeter81: + display_name: Perimeter81 + categories: + - productivity + auth_mode: TWO_STEP + proxy: + base_url: https://api.perimeter81.com/api/rest + token_url: https://api.${connectionConfig.domain}.com/api/v1/auth/authorize + token_params: + apiKey: ${credential.apiKey} + grantType: api_key + token_headers: + content-type: application/json + token_response: + token: data.accessToken + token_expiration: data.accessTokenExpire + token_expiration_strategy: expireAt + docs: https://docs.nango.dev/integrations/all/perimeter81 + docs_connect: https://docs.nango.dev/integrations/all/perimeter81/connect + connection_config: + domain: + type: string + title: Domain + description: The domain for Perimeter81 + pattern: '^(perimeter81|eu\.sase\.checkpoint)$' + example: '(perimeter81,eu.sase.checkpoint)' + doc_section: '#step-1-finding-your-perimeter81-domain-and-perimeter81-api-key' + suffix: .com + prefix: https://api. + order: 1 + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Perimeter81 account + secret: true + +personio: + display_name: Personio + categories: + - hr + auth_mode: OAUTH2_CC + proxy: + base_url: https://api.personio.de/v1 + headers: + x-personio-partner-id: ${connectionConfig.partnerId} + x-personio-app-id: ${connectionConfig.appId} + token_url: https://api.personio.de/v1/auth + body_format: json + docs: https://docs.nango.dev/integrations/all/personio + docs_connect: https://docs.nango.dev/integrations/all/personio/connect + connection_config: + partnerId: + type: string + title: Partner ID + description: The partner ID of your Personio account + doc_section: '#step-1-finding-personio-client-id' + appId: + type: string + title: App ID + description: The app ID of your Personio account + doc_section: '#step-2-finding-personio-client-secret' + +personio-v2: + display_name: Personio (v2) + categories: + - hr + auth_mode: OAUTH2_CC + proxy: + base_url: https://api.personio.de/v2 + headers: + content-type: application/x-www-form-urlencoded + token_url: https://api.personio.de/v2/auth/token + scope_separator: ' ' + docs: https://docs.nango.dev/integrations/all/personio + token_params: + grant_type: client_credentials + +personio-recruiting: + display_name: Personio Recruiting + categories: + - hr + auth_mode: API_KEY + proxy: + base_url: https://api.personio.de/v1 + headers: + authorization: Bearer ${apiKey} + x-company-id: ${connectionConfig.companyId} + x-personio-partner-id: ${connectionConfig.partnerId} + x-personio-app-id: ${connectionConfig.appId} + verification: + method: GET + endpoint: /xml?language=en + base_url_override: https://${connectionConfig.company}.jobs.personio.de + headers: + accept: application/xml + content-type: xml + docs: https://docs.nango.dev/integrations/all/personio + connection_config: + companyId: + type: string + title: Company ID + description: The company ID of your Personio account + company: + type: string + title: Company Name + description: The company name of your Personio account + partnerId: + type: string + title: Partner ID + description: The partner ID of your Personio account + appId: + type: string + title: App ID + description: The app ID of your Personio account + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Pingboard account + +pingboard: + display_name: Pingboard + categories: + - productivity + auth_mode: OAUTH2_CC + proxy: + base_url: https://app.pingboard.com/api/v2 + token_url: https://app.pingboard.com/oauth/token + scope_separator: ' ' + token_params: + grant_type: client_credentials + docs: https://docs.nango.dev/integrations/all/pingboard + +pinterest: + display_name: Pinterest + categories: + - design + - marketing + - social + - video + auth_mode: OAUTH2 + authorization_url: https://www.pinterest.com/oauth + token_url: https://api.pinterest.com/v5/oauth/token + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.pinterest.com + docs: https://docs.nango.dev/integrations/all/pinterest + +pipedrive: + display_name: Pipedrive + categories: + - crm + auth_mode: OAUTH2 + authorization_url: https://oauth.pipedrive.com/oauth/authorize + token_url: https://oauth.pipedrive.com/oauth/token + token_response_metadata: + - api_domain + proxy: + base_url: ${connectionConfig.api_domain}/api + decompress: true + paginate: + type: offset + offset_name_in_request: start + response_path: data + limit_name_in_request: limit + docs: https://docs.nango.dev/integrations/all/pipedrive + connection_config: + api_domain: + type: string + title: API URL + description: The API URL of your Pipedrive account + format: uri + pattern: '^https?://.*$' + +pivotaltracker: + display_name: Pivotal Tracker + categories: + - productivity + auth_mode: API_KEY + proxy: + headers: + x-trackertoken: ${apiKey} + base_url: https://www.pivotaltracker.com/services/v5 + verification: + method: GET + endpoint: /accounts + docs: https://docs.nango.dev/integrations/all/pivotaltracker + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Pivotal Tracker account + +plain: + display_name: Plain + categories: + - support + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://core-api.uk.plain.com/graphql/v1 + verification: + method: GET + endpoint: ?query=%7B__schema%7Btypes%7Bname,kind,fields%7Bname%7D%7D%7D%7D + docs: https://docs.nango.dev/integrations/all/plain + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Plain account + +podium: + display_name: Podium + categories: + - communication + - marketing + auth_mode: OAUTH2 + authorization_url: https://api.podium.com/oauth/authorize + token_url: https://api.podium.com/oauth/token + scope_separator: ' ' + body_format: json + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + headers: + podium-version: ${connectionConfig.apiVersion} + content-type: application/json + base_url: https://api.podium.com + retry: + after: 'x-ratelimit-reset' + docs: https://docs.nango.dev/integrations/all/podium + connection_config: + apiVersion: + type: string + title: API Version + description: The API version of your Podium account + +posthog: + display_name: PostHog + categories: + - dev-tools + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://${connectionConfig.subdomain}.posthog.com + verification: + method: GET + endpoint: /api/users/@me + docs: https://docs.nango.dev/integrations/all/posthog + docs_connect: https://docs.nango.dev/integrations/all/posthog/connect + connection_config: + subdomain: + type: string + title: PostHog Domain + description: The subdomain of your PostHog account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .posthog.com + prefix: https:// + credentials: + apiKey: + type: string + title: API Key + description: The API key for your PostHog account + doc_section: '#step-1-finding-your-posthog-api-key' + +productboard: + display_name: Productboard + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://app.productboard.com/oauth2/authorize + token_url: https://app.productboard.com/oauth2/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + headers: + x-version: '1' + base_url: https://api.productboard.com + docs: https://docs.nango.dev/integrations/all/productboard + +qualtrics: + display_name: Qualtrics + categories: + - surveys + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.qualtrics.com/oauth2/auth + token_url: https://${connectionConfig.subdomain}.qualtrics.com/oauth2/token + proxy: + base_url: https://${connectionConfig.subdomain}.qualtrics.com + docs: https://docs.nango.dev/integrations/all/qualtrics + connection_config: + subdomain: + type: string + title: Qualtrics Domain + description: The subdomain of your Qualtrics account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .qualtrics.com + prefix: https:// + +quickbooks: + display_name: Quickbooks + categories: + - accounting + auth_mode: OAUTH2 + authorization_url: https://appcenter.intuit.com/connect/oauth2 + token_url: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer + redirect_uri_metadata: + - realmId + proxy: + connection_config: + realmId: ${connectionConfig.realmId} + base_url: https://quickbooks.api.intuit.com + docs: https://docs.nango.dev/integrations/all/quickbooks + docs_connect: https://docs.nango.dev/integrations/all/quickbooks/connect + connection_config: + realmId: + type: string + title: Quickbooks Realm ID + optional: true + description: The realmId of your quickbooks company + pattern: '^\d{16}$' + example: '9341453474484455' + doc_section: '#step-1-finding-your-realm-id' + +quickbooks-sandbox: + alias: quickbooks + display_name: Quickbooks (sandbox) + proxy: + connection_config: + realmId: ${connectionConfig.realmId} + base_url: https://sandbox-quickbooks.api.intuit.com + docs: https://docs.nango.dev/integrations/all/quickbooks + docs_connect: https://docs.nango.dev/integrations/all/quickbooks-sandbox/connect + connection_config: + realmId: + type: string + title: Quickbooks Realm ID + optional: true + description: The realmId of your quickbooks sandbox company + pattern: '^\d{16}$' + example: '9341453474484455' + doc_section: '#step-1-finding-your-realm-id' + +ragieai: + display_name: Ragie AI + categories: + - dev-tools + auth_mode: API_KEY + proxy: + base_url: https://api.ragie.ai + headers: + authorization: Bearer ${apiKey} + verification: + method: GET + endpoint: /documents + docs: https://docs.nango.dev/integrations/all/ragieai + credentials: + apiKey: + type: string + title: API Key + description: The API key for your ragie.ai account + example: tnt_IZ56tqGVgX9_k8CKnxQ9MvQgzDXcDGgtcjXABkwusxSOR8QzwxxeA1B + pattern: '^tnt_[a-zA-Z0-9_]+$' + +ramp: + display_name: Ramp + categories: + - banking + auth_mode: OAUTH2 + authorization_url: https://app.ramp.com/v1/authorize + token_url: https://api.ramp.com/developer/v1/token + authorization_method: header + proxy: + base_url: https://api.ramp.com + docs: https://docs.nango.dev/integrations/all/ramp + +ramp-sandbox: + display_name: Ramp (sandbox) + auth_mode: OAUTH2 + authorization_url: https://demo.ramp.com/v1/authorize + token_url: https://demo-api.ramp.com/developer/v1/token + authorization_method: header + proxy: + base_url: https://demo-api.ramp.com + docs: https://docs.nango.dev/integrations/all/ramp + +rapidapi: + display_name: RapidAPI + categories: + - dev-tools + auth_mode: API_KEY + proxy: + headers: + x-rapidapi-key: ${apiKey} + x-rapidapi-host: ${connectionConfig.subdomain}.p.rapidapi.com + base_url: https://${connectionConfig.subdomain}.p.rapidapi.com + docs: https://docs.nango.dev/integrations/all/rapidapi + credentials: + apiKey: + type: string + title: API Key + description: The API key for your RapidAPI account + example: b7c156af2dmgh5c635305f3744bap168553jsp75193c8367ef + pattern: '^[a-zA-Z0-9]+$' + connection_config: + subdomain: + type: string + title: Subdomain + description: The subdomain of the Rapid API. + pattern: '^[a-z0-9_-]+$' + example: api-football-v1 + suffix: .p.rapidapi.com + prefix: https:// + +reddit: + display_name: Reddit + categories: + - social + auth_mode: OAUTH2 + authorization_url: https://www.reddit.com/api/v1/authorize + token_url: https://www.reddit.com/api/v1/access_token + authorization_method: header + authorization_params: + duration: permanent + proxy: + base_url: https://oauth.reddit.com + docs: https://docs.nango.dev/integrations/all/reddit + +refiner: + display_name: Refiner + categories: + - surveys + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://api.refiner.io/v1 + verification: + method: GET + endpoint: /account + docs: https://docs.nango.dev/integrations/all/refiner + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Refiner account + +replicate: + display_name: Replicate + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://api.replicate.com + verification: + method: GET + endpoint: /v1/account + docs: https://docs.nango.dev/integrations/all/replicate + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Replicate account + +ring-central: + display_name: RingCentral + categories: + - support + auth_mode: OAUTH2 + authorization_url: https://platform.ringcentral.com/restapi/oauth/authorize + token_url: https://platform.ringcentral.com/restapi/oauth/token + authorization_method: header + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://platform.ringcentral.com + docs: https://docs.nango.dev/integrations/all/ring-central + +ring-central-sandbox: + display_name: RingCentral (sandbox) + auth_mode: OAUTH2 + authorization_url: https://platform.devtest.ringcentral.com/restapi/oauth/authorize + token_url: https://platform.devtest.ringcentral.com/restapi/oauth/token + authorization_method: header + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://platform.devtest.ringcentral.com + docs: https://docs.nango.dev/integrations/all/ring-central + +segment: + display_name: Segment + categories: + - analytics + - marketing + auth_mode: OAUTH2 + authorization_url: https://id.segmentapis.com/oauth2/auth + token_url: https://id.segmentapis.com/oauth2/token + token_request_auth_method: basic + proxy: + base_url: https://api.segment.io + docs: https://docs.nango.dev/integrations/all/segment + +sage: + display_name: Sage + categories: + - accounting + - erp + auth_mode: OAUTH2 + authorization_url: https://www.sageone.com/oauth2/auth/central + token_url: https://oauth.accounting.sage.com/token + authorization_params: + filter: apiv3.1 + proxy: + base_url: https://api.accounting.sage.com + docs: https://docs.nango.dev/integrations/all/sage + +sage-intacct: + display_name: Sage Intacct + categories: + - accounting + - erp + auth_mode: TWO_STEP + proxy: + base_url: https://api.intacct.com/ia/xml/xmlgw.phtml + token_url: https://api.intacct.com/ia/xml/xmlgw.phtml + body_format: xml + token_params: + request: + control: + senderid: ${credential.senderId} + password: ${credential.senderPassword} + controlid: ${now} + uniqueid: false + dtdversion: '3.0' + includewhitespace: false + operation: + authentication: + login: + userid: ${credential.userId} + companyid: ${credential.companyId} + password: ${credential.userPassword} + content: + function: + $controlid: '{{$guid}}' + getAPISession: '' + token_headers: + content-type: application/xml + token_response: + token: response.operation.result.data.api.sessionid + token_expiration: response.operation.authentication.sessiontimeout + token_expiration_strategy: expireAt + docs: https://docs.nango.dev/integrations/all/sage + docs_connect: https://docs.nango.dev/integrations/all/sage-intacct/connect + credentials: + senderId: + type: string + title: Sender ID + description: Your Sage Intacct Sender ID + doc_section: '#step-1-how-to-retrieve-the-sender-id' + senderPassword: + type: string + title: Sender Password + description: Your Sage Intacct Sender Password + secret: true + userId: + type: string + title: User ID + description: Your Sage Intacct User ID + doc_section: '#step-2-how-to-retrieve-the-user-id' + companyId: + type: string + title: Company ID + description: Your Sage Intacct Company ID + doc_section: '#step-3-how-to-retrieve-the-company-id' + userPassword: + type: string + title: User Password + description: Your Sage Intacct User Password + secret: true + +salesforce: + display_name: Salesforce + categories: + - crm + auth_mode: OAUTH2 + authorization_url: https://login.salesforce.com/services/oauth2/authorize + token_url: https://login.salesforce.com/services/oauth2/token + authorization_params: + prompt: consent + default_scopes: + - offline_access + token_response_metadata: + - instance_url + proxy: + base_url: ${connectionConfig.instance_url} + webhook_routing_script: salesforceWebhookRouting + post_connection_script: salesforcePostConnection + docs: https://docs.nango.dev/integrations/all/salesforce + connection_config: + instance_url: + type: string + title: Instance URL + description: The instance URL of your Salesforce account + format: uri + pattern: '^https?://.*$' + automated: true + +salesforce-sandbox: + display_name: Salesforce (sandbox) + auth_mode: OAUTH2 + authorization_url: https://test.salesforce.com/services/oauth2/authorize + token_url: https://test.salesforce.com/services/oauth2/token + default_scopes: + - offline_access + token_response_metadata: + - instance_url + proxy: + base_url: ${connectionConfig.instance_url} + docs: https://docs.nango.dev/integrations/all/salesforce + connection_config: + instance_url: + type: string + title: Instance URL + description: The instance URL of your Salesforce account + format: uri + pattern: '^https?://.*$' + automated: true + +salesforce-experience-cloud: + display_name: Salesforce Experience Cloud + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.my.site.com/services/oauth2/authorize + token_url: https://${connectionConfig.subdomain}.my.site.com/services/oauth2/token + default_scopes: + - offline_access + token_response_metadata: + - instance_url + proxy: + base_url: ${connectionConfig.instance_url} + docs: https://docs.nango.dev/integrations/all/salesforce-experience-cloud + connection_config: + subdomain: + type: string + title: Salesforce Domain + description: The subdomain of your Salesforce Experience Cloud account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .my.site.com + prefix: https:// + instance_url: + type: string + title: Instance URL + description: The instance URL of your Salesforce Experience Cloud account + format: uri + pattern: '^https?://.*$' + automated: true +sap-success-factors: + display_name: SAP SuccessFactors + categories: + - hr + auth_mode: TWO_STEP + token_url: https://${connectionConfig.apiServer}/oauth/token + token_params: + company_id: ${connectionConfig.companyId} + client_id: ${credential.apiKey} + grant_type: urn:ietf:params:oauth:grant-type:saml2-bearer + assertion: ${credential.assertion} + token_headers: + content-type: application/x-www-form-urlencoded + proxy: + base_url: https://${connectionConfig.apiServer} + token_response: + token: access_token + token_expiration: expires_in + token_expiration_strategy: expireIn + docs: https://docs.nango.dev/integrations/all/sap-success-factors + docs_connect: https://docs.nango.dev/integrations/all/sap-success-factors/connect + connection_config: + apiServer: + type: string + title: API Server + description: The API Server to connect to your SAP SuccessFactors account + pattern: '^[a-z0-9.-]+$' + example: api41preview.sapsf.com + prefix: https:// + doc_section: '#step-1-finding-your-api-server' + order: 1 + companyId: + type: string + title: Company ID + description: The company ID of your SAP SuccessFactors account + example: SFSALES012345 + pattern: '^[A-Z0-9]+$' + doc_section: '#step-2-finding-your-company-id' + order: 2 + credentials: + apiKey: + type: string + title: API Key + description: The API key for your SAP SuccessFactors account + secret: true + doc_section: '#step-3-generating-your-api-key' + assertion: + type: string + title: SAML Assertion + description: The SAML Assertion generated for your SAP SuccessFactors account + secret: true + doc_section: '#step-4-generating-your-saml-assertion' + +scrapedo: + display_name: Scrape.do + categories: + - other + auth_mode: API_KEY + proxy: + base_url: https://api.scrape.do + query: + token: ${apiKey} + docs: https://docs.nango.dev/integrations/all/scrapedo + docs_connect: https://docs.nango.dev/integrations/all/scrapedo/connect + credentials: + apiKey: + type: string + title: API Token + description: The API Token for your Scrape.do account + example: 3c12d71308a346c41d10b19a2b2ac1ea5cacb53588d + pattern: '^[a-zA-Z0-9]+$' + doc_section: '#step-1-finding-your-api-key' + +salesloft: + display_name: Salesloft + categories: + - marketing + auth_mode: OAUTH2 + authorization_url: https://accounts.salesloft.com/oauth/authorize + token_url: https://accounts.salesloft.com/oauth/token + proxy: + base_url: https://api.salesloft.com + docs: https://docs.nango.dev/integrations/all/salesloft + +sendgrid: + display_name: SendGrid + categories: + - marketing + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://api.sendgrid.com + docs: https://docs.nango.dev/integrations/all/sendgrid + docs_connect: https://docs.nango.dev/integrations/all/sendgrid/connect + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Sendgrid account + doc_section: '#step-1-generating-your-sendgrid-api-key' + +sedna: + display_name: Sedna (Oauth2) + auth_mode: OAUTH2_CC + categories: + - communication + proxy: + base_url: https://${connectionConfig.tenant}.sednanetwork.com/platform + token_url: https://${connectionConfig.tenant}.sednanetwork.com/platform/oauth/token + token_params: + grant_type: client_credentials + scope_separator: ',' + docs: https://docs.nango.dev/integrations/all/sedna + connection_config: + tenant: + type: string + title: Tenant + description: The tenant name to your sedna account + +sedna-basic: + display_name: Sedna (Basic Auth) + auth_mode: BASIC + categories: + - communication + proxy: + base_url: https://${connectionConfig.tenant}.sednanetwork.com/platform + docs: https://docs.nango.dev/integrations/all/sedna + connection_config: + tenant: + type: string + title: Tenant + description: The tenant name to your sedna account + +servicem8: + display_name: ServiceM8 + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://go.servicem8.com/oauth/authorize + token_url: https://go.servicem8.com/oauth/access_token + proxy: + base_url: https://api.servicem8.com + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + docs: https://docs.nango.dev/integrations/all/servicem8 + +signnow: + display_name: SignNow + categories: + - legal + auth_mode: OAUTH2 + authorization_url: https://app.signnow.com/authorize + token_url: https://api.signnow.com/oauth2/token + disable_pkce: true + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.signnow.com + docs: https://docs.nango.dev/integrations/all/signnow + +signnow-sandbox: + display_name: SignNow (sandbox) + categories: + - legal + auth_mode: OAUTH2 + authorization_url: https://app-eval.signnow.com/authorize + token_url: https://api-eval.signnow.com/oauth2/token + disable_pkce: true + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api-eval.signnow.com + docs: https://docs.nango.dev/integrations/all/signnow + +servicenow: + display_name: ServiceNow + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.service-now.com/oauth_auth.do + token_url: https://${connectionConfig.subdomain}.service-now.com/oauth_token.do + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.subdomain}.service-now.com + docs: https://docs.nango.dev/integrations/all/servicenow + connection_config: + subdomain: + type: string + title: ServiceNow Domain + description: The subdomain of your ServiceNow account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .service-now.com + prefix: https:// + +sharepoint-online: + display_name: SharePoint Online + categories: + - storage + - communication + alias: microsoft + docs: https://docs.nango.dev/integrations/all/sharepoint-online + +sharepoint-online-v1: + display_name: SharePoint Online (v1) + categories: + - storage + - communication + auth_mode: TWO_STEP + token_url: https://login.microsoftonline.com/${connectionConfig.tenantId}/oauth2/token + body_format: form + token_params: + client_id: ${credential.clientId} + grant_type: client_credentials + resource: https://${connectionConfig.tenantId}.sharepoint.com + client_assertion_type: urn:ietf:params:oauth:client-assertion-type:jwt-bearer + client_assertion: ${credential.assertion} + token_headers: + content-type: application/x-www-form-urlencoded + proxy: + base_url: https://${connectionConfig.tenantName}.sharepoint.com + headers: + accept: application/json;odata=verbose + token_response: + token: access_token + token_expiration: expires_in + token_expiration_strategy: expireIn + docs: https://docs.nango.dev/integrations/all/sharepoint-online + docs_connect: https://docs.nango.dev/integrations/all/sharepoint-online-v1/connect + connection_config: + tenantId: + type: string + title: Tenant ID + description: The unique identifier for your organization that uses Microsoft services + format: uuid + example: a1b2c3d4-e5f6-47a8-9b0c-d1234567890f + doc_section: '#step-1-finding-your-tenant-id' + order: 1 + tenantName: + type: string + title: Tenant Name + description: The initial domain name for your Microsoft services tenant + example: mycompany + pattern: '^[a-zA-Z0-9]+$' + doc_section: '#step-2-finding-your-tenant-name' + order: 2 + credentials: + clientId: + type: string + title: Client ID + description: Your application Client ID + secret: true + doc_section: '#step-3-finding-your-client-id' + assertion: + type: string + title: Client Assertion + description: Your generated client assertion + secret: true + doc_section: '#step-4-generating-your-client-assertion' + +shipstation: + display_name: Shipstation + categories: + - e-commerce + auth_mode: BASIC + proxy: + base_url: https://ssapi.shipstation.com + retry: + after: 'x-rate-limit-reset' + verification: + method: GET + endpoint: /users + docs: https://docs.nango.dev/integrations/all/shipstation + docs_connect: https://docs.nango.dev/integrations/all/shipstation/connect + credentials: + username: + type: string + title: API Key + description: Your ShipStation API key + doc_section: '#step-1-finding-shipstation-api-key-and-api-secret' + password: + type: string + title: API Secret + description: Your Shipstation API secret + # https://www.shipstation.com/docs/api/requirements/#authentication + # Shipstation is using basic auth with API key and secret + doc_section: '#step-1-finding-shipstation-api-key-and-api-secret' + +shopify: + display_name: Shopify + categories: + - e-commerce + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.myshopify.com/admin/oauth/authorize + token_url: https://${connectionConfig.subdomain}.myshopify.com/admin/oauth/access_token + proxy: + base_url: https://${connectionConfig.subdomain}.myshopify.com + headers: + x-shopify-access-token: ${accessToken} + docs: https://docs.nango.dev/integrations/all/shopify + docs_connect: https://docs.nango.dev/integrations/all/shopify/connect + connection_config: + subdomain: + type: string + title: Shopify Domain + description: The subdomain of your Shopify account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .myshopify.com + prefix: https:// + doc_section: '#step-1-finding-your-shopify-domain' + +shopify-api-key: + display_name: Shopify (api key) + categories: + - e-commerce + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.subdomain}.myshopify.com + headers: + x-shopify-access-token: ${apiKey} + content-type: application/json + verification: + method: POST + endpoint: /admin/api/2024-10/graphql.json?query=%7B__schema%7Btypes%7Bname%2Ckind%2Cfields%7Bname%7D%7D%7D%7D + docs: https://docs.nango.dev/integrations/all/shopify + docs_connect: https://docs.nango.dev/integrations/all/shopify-api-key/connect + connection_config: + subdomain: + type: string + title: Shopify Domain + description: The subdomain of your Shopify account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .myshopify.com + prefix: https:// + doc_section: '#step-1-finding-your-shopify-domain' + order: 1 + credentials: + apiKey: + type: string + title: API Access Token + description: The API access token generated + example: shpat_***************c03266f + pattern: '^shpat_[a-f0-9]{32}$' + doc_section: '#step-2-generating-your-api-access-token' + +shopify-scim: + display_name: Shopify (SCIM API) + categories: + - e-commerce + auth_mode: API_KEY + proxy: + base_url: https://shopifyscim.com/scim + headers: + authorization: Bearer ${apiKey} + accept: application/json + content-type: application/json + retry: + after: 'retry-after' + docs: https://docs.nango.dev/integrations/all/shopify + docs_connect: https://docs.nango.dev/integrations/all/shopify-scim/connect + credentials: + apiKey: + type: string + title: SCIM API Token + description: The SCIM API token generated from your Shopify organization settings. + doc_section: '#step-1-generating-your-scim-api-token' + +shortcut: + display_name: Shortcut + categories: + - dev-tools + - productivity + auth_mode: API_KEY + proxy: + base_url: https://api.app.shortcut.com + headers: + shortcut-token: ${apiKey} + verification: + method: GET + endpoint: /v3/member + docs: https://docs.nango.dev/integrations/all/shortcut + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Shortcut account + +slack: + display_name: Slack + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://slack.com/oauth/v2/authorize + token_url: https://slack.com/api/oauth.v2.access + token_response_metadata: + - incoming_webhook.url + - incoming_webhook.channel + - incoming_webhook.channel_id + - bot_user_id + - team.id + proxy: + base_url: https://slack.com/api + paginate: + type: cursor + cursor_path_in_response: response_metadata.next_cursor + cursor_name_in_request: cursor + limit_name_in_request: limit + webhook_routing_script: slackWebhookRouting + docs: https://docs.nango.dev/integrations/all/slack + +smartrecruiters-api-key: + display_name: Smartrecruiters (api key) + auth_mode: API_KEY + proxy: + base_url: https://api.smartrecruiters.com + headers: + x-smarttoken: ${apiKey} + verification: + method: GET + endpoint: /feed/publications + docs: https://docs.nango.dev/integrations/all/smartrecruiters + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Smartrecruiters account + +smartsheet: + display_name: Smartsheet + auth_mode: OAUTH2 + authorization_url: https://app.smartsheet.com/b/authorize + token_url: https://api.smartsheet.com/2.0/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://api.smartsheet.com + docs: https://docs.nango.dev/integrations/all/smartsheet + +smugmug: + display_name: Smugmug + auth_mode: OAUTH1 + request_url: https://api.smugmug.com/services/oauth/1.0a/getRequestToken + authorization_url: https://api.smugmug.com/services/oauth/1.0a/authorize + token_url: https://api.smugmug.com/services/oauth/1.0a/getAccessToken + scope_separator: ',' + signature_method: 'PLAINTEXT' + proxy: + base_url: https://www.smugmug.com + docs: https://docs.nango.dev/integrations/all/smugmug + +snowflake: + display_name: Snowflake + categories: + - dev-tools + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.snowflake_account_url}/oauth/authorize + token_url: https://${connectionConfig.snowflake_account_url}/oauth/token-request + token_request_auth_method: basic + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.snowflake_account_url} + docs: https://docs.nango.dev/integrations/all/snowflake + connection_config: + snowflake_account_url: + type: string + title: Domain + description: The domain of your Snowflake account + format: hostname + prefix: https:// + +splitwise: + display_name: Splitwise + categories: + - payment + - social + auth_mode: OAUTH2 + authorization_url: https://secure.splitwise.com/oauth/authorize + token_url: https://secure.splitwise.com/oauth/token + proxy: + base_url: https://secure.splitwise.com + docs: https://docs.nango.dev/integrations/all/splitwise + +spotify: + display_name: Spotify + categories: + - other + auth_mode: OAUTH2 + authorization_url: https://accounts.spotify.com/authorize + token_url: https://accounts.spotify.com/api/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.spotify.com + docs: https://docs.nango.dev/integrations/all/spotify +spotify-oauth2-cc: + display_name: Spotify (custom) + categories: + - other + auth_mode: OAUTH2_CC + token_url: https://accounts.spotify.com/api/token + token_request_auth_method: basic + scope_separator: ' ' + token_params: + grant_type: client_credentials + proxy: + base_url: https://api.spotify.com + docs: https://docs.nango.dev/integrations/all/spotify + +squarespace: + display_name: Squarespace + categories: + - dev-tools + - design + auth_mode: OAUTH2 + authorization_url: https://login.squarespace.com/api/1/login/oauth/provider/authorize + token_url: https://login.squarespace.com/api/1/login/oauth/provider/tokens + token_request_auth_method: basic + scope_separator: ',' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.squarespace.com + headers: + user-agent: ${connectionConfig.customappDescription} + docs: https://docs.nango.dev/integrations/all/squarespace + connection_config: + customappDescription: + type: string + title: User Agent + description: The user agent of your custom app + +squareup: + display_name: Squareup + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://connect.squareup.com/oauth2/authorize + token_url: https://connect.squareup.com/oauth2/token + disable_pkce: true + decode_url: true + authorization_params: + response_type: code + session: false + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://connect.squareup.com + docs: https://docs.nango.dev/integrations/all/squareup + +squareup-sandbox: + display_name: Squareup (sandbox) + auth_mode: OAUTH2 + authorization_url: https://connect.squareupsandbox.com/oauth2/authorize + token_url: https://connect.squareupsandbox.com/oauth2/token + disable_pkce: true + authorization_params: + response_type: code + session: false + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://connect.squareupsandbox.com + docs: https://docs.nango.dev/integrations/all/squareup + +stackexchange: + display_name: Stack Exchange + categories: + - knowledge-base + - support + auth_mode: OAUTH2 + authorization_url: https://stackoverflow.com/oauth + token_url: https://stackoverflow.com/oauth/access_token/json + default_scopes: + - no_expiry + proxy: + base_url: https://api.stackexchange.com + docs: https://docs.nango.dev/integrations/all/stackexchange + +strava: + display_name: Strava (mobile) + categories: + - social + - sports + auth_mode: OAUTH2 + authorization_url: https://www.strava.com/oauth/mobile/authorize + token_url: https://www.strava.com/api/v3/oauth/token + scope_separator: ',' + authorization_params: + response_type: code + approval_prompt: auto + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://www.strava.com + docs: https://docs.nango.dev/integrations/all/strava + +strava-web: + display_name: Strava (web) + categories: + - social + - sports + auth_mode: OAUTH2 + authorization_url: https://www.strava.com/oauth/authorize + token_url: https://www.strava.com/api/v3/oauth/token + scope_separator: ',' + authorization_params: + response_type: code + approval_prompt: force + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://www.strava.com + docs: https://docs.nango.dev/integrations/all/strava + +stripe: + display_name: Stripe + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://connect.stripe.com/oauth/authorize + token_url: https://connect.stripe.com/oauth/token + proxy: + base_url: https://api.stripe.com + docs: https://docs.nango.dev/integrations/all/stripe + +stripe-express: + display_name: Stripe Express + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://connect.stripe.com/express/oauth/authorize + token_url: https://connect.stripe.com/oauth/token + token_response_metadata: + - stripe_user_id + proxy: + base_url: https://api.stripe.com + docs: https://docs.nango.dev/integrations/all/stripe-express + +stripe-app: + display_name: Stripe App + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://marketplace.stripe.com/oauth/v2/authorize + token_url: https://api.stripe.com/v1/oauth/token + disable_pkce: true + proxy: + base_url: https://api.stripe.com + refresh_params: + grant_type: refresh_token + docs: https://docs.nango.dev/integrations/all/stripe-app + +stripe-app-sandbox: + display_name: Stripe App (sandbox) + auth_mode: OAUTH2 + authorization_url: https://marketplace.stripe.com/oauth/v2/${connectionConfig.appDomain}/authorize + token_url: https://api.stripe.com/v1/oauth/token + disable_pkce: true + proxy: + base_url: https://api.stripe.com + refresh_params: + grant_type: refresh_token + docs: https://docs.nango.dev/integrations/all/stripe-app + connection_config: + appDomain: + type: string + title: App Domain + description: The domain of your Stripe app + +survey-monkey: + display_name: SurveyMonkey + categories: + - surveys + auth_mode: OAUTH2 + authorization_url: https://api.surveymonkey.com/oauth/authorize + token_url: https://api.surveymonkey.com/oauth/token + disable_pkce: true + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://api.surveymonkey.com + docs: https://docs.nango.dev/integrations/all/survey-monkey + +tapclicks: + display_name: TapClicks + auth_mode: OAUTH2_CC + categories: + - marketing + - analytics + token_url: https://api.tapclicks.com/oauth/accesstoken + token_params: + grant_type: client_credentials + proxy: + base_url: https://api.tapclicks.com/v2 + docs: https://docs.nango.dev/integrations/all/tapclicks + docs_connect: https://docs.nango.dev/integrations/all/tapclicks/connect + +tableau: + display_name: Tableau + categories: + - analytics + auth_mode: TABLEAU + token_url: https://${connectionConfig.myServer}/api/${connectionConfig.version}/auth/signin + proxy: + headers: + accept: application/json + content-type: application/json + base_url: https://${connectionConfig.myServer}/api/${connectionConfig.version} + docs: https://docs.nango.dev/integrations/all/tableau + connection_config: + myServer: + type: string + title: Domain + description: The domain of your Tableau instance + format: hostname + prefix: https:// + version: + type: string + title: API Version + description: The version of the Tableau API to use + +teamtailor: + display_name: Teamtailor + categories: + - ats + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.extension}.teamtailor.com + retry: + after: 'x-rate-limit-reset' + headers: + authorization: Token token=${apiKey} + x-api-version: '20210218' + verification: + method: GET + endpoint: /v1/users + docs: https://docs.nango.dev/integrations/all/teamtailor + connection_config: + extension: + type: string + title: Teamtailor Domain + description: The subdomain of your Teamtailor instance + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .teamtailor.com + prefix: https:// + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Teamtailor account + +teamwork: + display_name: Teamwork + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://www.teamwork.com/launchpad/login + token_url: https://www.teamwork.com/launchpad/v1/token.json + token_response_metadata: + - installation.apiEndPoint + proxy: + base_url: ${connectionConfig.installation.apiEndPoint} + docs: https://docs.nango.dev/integrations/all/teamwork + +ticktick: + display_name: TickTick + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://ticktick.com/oauth/authorize + token_url: https://ticktick.com/oauth/token + scope_separator: ' ' + proxy: + base_url: https://api.ticktick.com + docs: https://docs.nango.dev/integrations/all/ticktick + +tiktok-accounts: + display_name: TikTok Accounts + categories: + - social + auth_mode: OAUTH2 + authorization_url: https://www.tiktok.com/v2/auth/authorize/ + token_url: https://business-api.tiktok.com/open_api/v1.3/tt_user/oauth2/token/ + refresh_url: https://business-api.tiktok.com/open_api/v1.3/tt_user/oauth2/refresh_token/ + proxy: + base_url: https://business-api.tiktok.com/open_api/v1.3/ + authorization_params: + response_type: code + authorization_url_replacements: + client_id: client_key + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + scope_separator: ',' + docs: https://docs.nango.dev/integrations/all/tiktok-accounts + +tiktok-ads: + display_name: TikTok Ads + categories: + - social + auth_mode: OAUTH2 + authorization_url: https://business-api.tiktok.com/portal/auth + token_url: https://business-api.tiktok.com/open_api/v1.3/oauth2/access_token/ + proxy: + base_url: https://business-api.tiktok.com/open_api/v1.3/ + headers: + access-token: ${accessToken} + token_params: + grant_type: authorization_code + authorization_url_replacements: + client_id: app_id + docs: https://docs.nango.dev/integrations/all/tiktok-ads + +timely: + display_name: Timely + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://api.timelyapp.com/1.1/oauth/authorize + token_url: https://api.timelyapp.com/1.1/oauth/token + disable_pkce: true + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://api.timelyapp.com + docs: https://docs.nango.dev/integrations/all/timely + +thrivecart-oauth: + display_name: ThriveCart (OAuth) + categories: + - e-commerce + - payment + auth_mode: OAUTH2 + authorization_url: https://thrivecart.com/authorization/new + token_url: https://thrivecart.com/authorization/token + scope_separator: ' ' + proxy: + base_url: https://thrivecart.com/api/external + docs: https://docs.nango.dev/integrations/all/thrivecart + +thrivecart-api-key: + display_name: ThriveCart (api key) + categories: + - e-commerce + - payment + auth_mode: API_KEY + proxy: + base_url: https://thrivecart.com/api/external + headers: + authorization: Bearer ${apiKey} + verification: + method: GET + endpoint: /ping + docs: https://docs.nango.dev/integrations/all/thrivecart + credentials: + apiKey: + type: string + title: API Key + description: The API key for your ThriveCart account + example: 'ASYDV5S8-0BSO1SH2-4BH5PO7U-YF8SV3CZ' + pattern: '^[A-Z0-9]{8}-[A-Z0-9]{10}-[A-Z0-9]{8}-[A-Z0-9]{8}$' + +tremendous: + display_name: Tremendous + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://api.tremendous.com/oauth/authorize + token_url: https://api.tremendous.com/oauth/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.tremendous.com/api/v2 + docs: https://docs.nango.dev/integrations/all/tremendous + +tremendous-sandbox: + display_name: Tremendous (sandbox) + categories: + - payment + auth_mode: OAUTH2 + authorization_url: https://testflight.tremendous.com/oauth/authorize + token_url: https://testflight.tremendous.com/oauth/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://testflight.tremendous.com/api/v2 + docs: https://docs.nango.dev/integrations/all/tremendous + +trello: + display_name: Trello + categories: + - productivity + - ticketing + auth_mode: OAUTH1 + request_url: https://trello.com/1/OAuthGetRequestToken + authorization_url: https://trello.com/1/OAuthAuthorizeToken + token_url: https://trello.com/1/OAuthGetAccessToken + signature_method: 'HMAC-SHA1' + scope_separator: ',' + authorization_params: + expiration: never + proxy: + base_url: https://api.trello.com + docs: https://docs.nango.dev/integrations/all/trello + +trello-scim: + display_name: Trello (SCIM API) + categories: + - productivity + - ticketing + auth_mode: API_KEY + proxy: + base_url: https://trello.com/scim + headers: + authorization: Bearer ${apiKey} + verification: + method: GET + endpoint: /v2/users?sortBy=displayName&count=10 + docs: https://docs.nango.dev/integrations/all/trello + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Trello scim account + doc_section: '#step-1-finding-your-trello-api-key' + +tsheetsteam: + display_name: TSheets + categories: + - hr + - productivity + auth_mode: OAUTH2 + authorization_url: https://rest.tsheets.com/api/v1/authorize + token_url: https://rest.tsheets.com/api/v1/grant + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://rest.tsheets.com/api/v1 + docs: https://docs.nango.dev/integrations/all/tsheetsteam + +todoist: + display_name: Todoist + categories: + - productivity + - ticketing + auth_mode: OAUTH2 + authorization_url: https://todoist.com/oauth/authorize + token_url: https://todoist.com/oauth/access_token + scope_separator: ',' + proxy: + base_url: https://api.todoist.com + docs: https://docs.nango.dev/integrations/all/todoist + +tumblr: + display_name: Tumblr + categories: + - social + - communication + auth_mode: OAUTH2 + authorization_url: https://www.tumblr.com/oauth2/authorize + token_url: https://api.tumblr.com/v2/oauth2/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.tumblr.com/v2 + docs: https://docs.nango.dev/integrations/all/tumblr + +twitch: + display_name: Twitch + categories: + - gaming + - social + - sports + - video + auth_mode: OAUTH2 + authorization_url: https://id.twitch.tv/oauth2/authorize + token_url: https://id.twitch.tv/oauth2/token + authorization_params: + force_verify: false + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.twitch.tv + docs: https://docs.nango.dev/integrations/all/twitch + +twitter: + display_name: Twitter (v1) + categories: + - marketing + - social + auth_mode: OAUTH1 + request_url: https://api.twitter.com/oauth/request_token + authorization_url: https://api.twitter.com/oauth/authorize + token_url: https://api.twitter.com/oauth/access_token + signature_method: 'HMAC-SHA1' + request_params: + x_auth_access_type: write + proxy: + base_url: https://api.twitter.com + docs: https://docs.nango.dev/integrations/all/twitter +twitter-v2: + display_name: Twitter (v2) + categories: + - marketing + - social + auth_mode: OAUTH2 + authorization_url: https://twitter.com/i/oauth2/authorize + token_url: https://api.twitter.com/2/oauth2/token + token_request_auth_method: basic + authorization_params: + response_type: code + response_mode: query + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + default_scopes: + - offline.access + proxy: + base_url: https://api.twitter.com + docs: https://docs.nango.dev/integrations/all/twitter +twitter-oauth2-cc: + display_name: Twitter (custom) + categories: + - marketing + - social + auth_mode: OAUTH2_CC + token_url: https://api.twitter.com/oauth2/token + token_request_auth_method: basic + scope_separator: ' ' + token_params: + grant_type: client_credentials + proxy: + base_url: https://api.twitter.com + docs: https://docs.nango.dev/integrations/all/twitter + +twinfield: + display_name: Twinfield + auth_mode: OAUTH2 + authorization_url: https://login.twinfield.com/auth/authentication/connect/authorize + token_url: https://login.twinfield.com/auth/authentication/connect/token + authorization_params: + response_type: code + nonce: AnotherRandomStringTwinfield + refresh_params: + grant_type: refresh_token + scope_separator: ' ' + default_scopes: + - openid + - twf.user + - twf.organisation + - twf.organisationUser + - offline_access + disable_pkce: true + proxy: + base_url: https://${connectionConfig.cluster}.twinfield.com + docs: https://docs.nango.dev/integrations/all/twinfield + connection_config: + cluster: + type: string + title: Twinfield Cluster + description: The cluster to your Twinfield instance + pattern: '^[a-z0-9_-]+$' + example: accounting + suffix: .twinfield.com + prefix: https:// + +twenty-crm: + display_name: Twenty CRM + categories: + - crm + auth_mode: API_KEY + proxy: + base_url: https://api.twenty.com/rest + headers: + authorization: Bearer ${apiKey} + retry: + after: 'retry-after' + verification: + method: GET + endpoint: /companies + docs: https://docs.nango.dev/integrations/all/twenty-crm + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Twenty CRM account + example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMTIxMjEyMS0yNmExLTRkODktYjQ2YS0wNDI0NTViODM3N2YiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjEyMTIxMjEtMjZhMS00ZDg5LWI0NmEtMDQyNDU1YjgzNzdmIiwiaWF0IjoxNzMxMzA5MzQwLCJleHAiOjQ4ODQ5MDU3MzksImp0aSI6ImVmZTg4MjcxLTM4OWItNDk5Mi04MjYwLWZjNGIxZmYxYjRiMSJ9.n3tohFIEBBRMsyas_agbh3-KvKXYUnjyhrYzTHYC3vc' + pattern: '^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$' + +twenty-crm-self-hosted: + display_name: Twenty CRM (Self Hosted) + categories: + - crm + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.domain}/rest + headers: + authorization: Bearer ${apiKey} + retry: + after: 'retry-after' + verification: + method: GET + endpoint: /companies + docs: https://docs.nango.dev/integrations/all/twenty-crm + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Twenty CRM account + example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMTIxMjEyMS0yNmExLTRkODktYjQ2YS0wNDI0NTViODM3N2YiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjEyMTIxMjEtMjZhMS00ZDg5LWI0NmEtMDQyNDU1YjgzNzdmIiwiaWF0IjoxNzMxMzA5MzQwLCJleHAiOjQ4ODQ5MDU3MzksImp0aSI6ImVmZTg4MjcxLTM4OWItNDk5Mi04MjYwLWZjNGIxZmYxYjRiMSJ9.n3tohFIEBBRMsyas_agbh3-KvKXYUnjyhrYzTHYC3vc' + pattern: '^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$' + connection_config: + domain: + type: string + title: Twenty CRM domain + description: The domain of your Twnety CRM instance + pattern: '^[A-Za-z0-9.-]+\.[A-Za-z]{2,}$' + example: domain + +typeform: + display_name: Typeform + categories: + - surveys + auth_mode: OAUTH2 + authorization_url: https://api.typeform.com/oauth/authorize + token_url: https://api.typeform.com/oauth/token + disable_pkce: true + default_scopes: + - offline + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.typeform.com + docs: https://docs.nango.dev/integrations/all/typeform + +typefully: + display_name: Typefully + categories: + - analytics + - communication + - social + auth_mode: API_KEY + proxy: + base_url: https://api.typefully.com + headers: + x-api-key: Bearer ${apiKey} + verification: + method: GET + endpoint: /v1/notifications/ + docs: https://docs.nango.dev/integrations/all/typefully + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Typefully account + +uber: + display_name: Uber + auth_mode: OAUTH2 + authorization_url: https://login.uber.com/oauth/v2/authorize + token_url: https://login.uber.com/oauth/v2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.uber.com + docs: https://docs.nango.dev/integrations/all/uber + +unanet: + display_name: Unanet + categories: + - crm + - erp + - accounting + auth_mode: BASIC + proxy: + headers: + x-compass-firm-id: ${connectionConfig.firmId} + x-compass-api-key: ${connectionConfig.apiKey} + base_url: https://compass.cosential.com + verification: + method: GET + endpoint: /api/projects + docs: https://docs.nango.dev/integrations/all/unanet + docs_connect: https://docs.nango.dev/integrations/all/unanet/connect + connection_config: + firmId: + type: string + title: Firm ID + description: The firm ID of your Unanet instance + doc_section: '#step-2-finding-the-firm-id' + apiKey: + type: string + title: API Key + description: The API key of your Unanet instance + secret: true + doc_section: '#step-3-finding-the-api-key' + credentials: + username: + type: string + title: User name + description: Your Unanet username + doc_section: '#step-1-finding-username-and-password' + password: + type: string + title: Password + description: Your Unanet password + default_value: '' + doc_section: '#step-1-finding-username-and-password' + +unauthenticated: + display_name: Unauthenticated + auth_mode: NONE + webhook_routing_script: unauthenticatedWebhookRouting + docs: https://docs.nango.dev/integrations/all/unauthenticated + +unipile: + display_name: Unipile + categories: + - crm + - marketing + auth_mode: API_KEY + proxy: + base_url: https://${connectionConfig.subdomain}.unipile.com:${connectionConfig.port} + headers: + x-api-key: ${apiKey} + verification: + method: GET + endpoint: /api/v1/contacts + docs: https://docs.nango.dev/integrations/all/unipile + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Unipile instance + connection_config: + subdomain: + type: string + title: Subdomain + description: The subdomain of your Unipile instance + pattern: '^[a-z0-9_-]+$' + example: api1 + suffix: .unipile.com + prefix: https:// + port: + type: string + title: Port + description: The port of your Unipile instance + pattern: '^[0-9]+$' + example: '13113' + +vimeo: + display_name: Vimeo + categories: + - video + auth_mode: OAUTH2 + authorization_url: https://api.vimeo.com/oauth/authorize + token_url: https://api.vimeo.com/oauth/access_token + token_request_auth_method: basic + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://api.vimeo.com + docs: https://docs.nango.dev/integrations/all/vimeo + +vimeo-basic: + display_name: Vimeo (basic auth) + categories: + - video + auth_mode: BASIC + proxy: + base_url: https://api.vimeo.com + verification: + method: GET + endpoint: / + docs: https://docs.nango.dev/integrations/all/vimeo + +wakatime: + display_name: Wakatime + categories: + - analytics + - dev-tools + auth_mode: OAUTH2 + authorization_url: https://wakatime.com/oauth/authorize + token_url: https://wakatime.com/oauth/token + proxy: + base_url: https://wakatime.com + docs: https://docs.nango.dev/integrations/all/wakatime + +wave-accounting: + display_name: Wave Accounting + categories: + - accounting + auth_mode: OAUTH2 + authorization_url: https://api.waveapps.com/oauth2/authorize + token_url: https://api.waveapps.com/oauth2/token/ + proxy: + base_url: https://gql.waveapps.com + docs: https://docs.nango.dev/integrations/all/wave-accounting + +wealthbox: + display_name: Wealthbox + categories: + - crm + auth_mode: OAUTH2 + authorization_url: https://app.crmworkspace.com/oauth/authorize + token_url: https://app.crmworkspace.com/oauth/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.crmworkspace.com + docs: https://docs.nango.dev/integrations/all/wealthbox + +webflow: + display_name: Webflow + categories: + - dev-tools + - design + - cms + auth_mode: OAUTH2 + authorization_url: https://webflow.com/oauth/authorize + token_url: https://api.webflow.com/oauth/access_token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://api.webflow.com + docs: https://docs.nango.dev/integrations/all/webflow + +whatsapp-business: + display_name: WhatsApp Business + categories: + - communication + - marketing + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + content-type: application/json + base_url: https://graph.facebook.com + verification: + endpoint: /v21.0/me + method: GET + docs: https://docs.nango.dev/integrations/all/whatsapp-business + credentials: + apiKey: + type: string + title: API Key + description: The access token to your whatsapp account + pattern: '^[a-zA-Z0-9]+$' + +whoop: + display_name: Whoop + categories: + - sports + auth_mode: OAUTH2 + authorization_url: https://api.prod.whoop.com/oauth/oauth2/auth + token_url: https://api.prod.whoop.com/oauth/oauth2/token + authorization_params: + response_type: code + proxy: + base_url: https://api.prod.whoop.com/ + retry: + after: 'x-ratelimit-reset' + paginate: + type: cursor + offset_name_in_request: nextToken + limit_name_in_request: limit + docs: https://docs.nango.dev/integrations/all/whoop + +wildix-pbx: + display_name: Wildix PBX + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.wildixin.com/authorization/oauth2 + token_url: https://${connectionConfig.subdomain}.wildixin.com/authorization/oauth2Token + authorization_params: + response_type: code + redirect_uri_metadata: + - subdomain + docs: https://docs.nango.dev/integrations/all/wildix-pbx + proxy: + base_url: https://${connectionConfig.subdomain}.wildixin.com + connection_config: + subdomain: + type: string + title: Wildix Domain + description: The subdomain of your Wildix instance + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .wildixin.com + prefix: https:// + +wordpress: + display_name: WordPress + categories: + - dev-tools + - design + - cms + auth_mode: OAUTH2 + authorization_url: https://public-api.wordpress.com/oauth2/authorize + token_url: https://public-api.wordpress.com/oauth2/token + scope_separator: ' ' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + proxy: + base_url: https://public-api.wordpress.com/rest/v1 + docs: https://docs.nango.dev/integrations/all/wordpress + +woocommerce: + display_name: WooCommerce + categories: + - e-commerce + - dev-tools + - design + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.storeURL} + verification: + method: GET + endpoint: /wp-json/wc/v3/customers + docs: https://docs.nango.dev/integrations/all/woocommerce + docs_connect: https://docs.nango.dev/integrations/all/woocommerce/connect + connection_config: + storeURL: + type: string + title: Domain + description: The domain of your WooCommerce store + credentials: + username: + type: string + title: User name + description: Your woocommerce Consumer Key + doc_section: '#step-1-finding-your-woocommerce-consumer-key' + password: + type: string + title: Password + description: Your woocommerce Consumer Secret + default_value: '' + doc_section: '#step-2-finding-your-woocommerce-consumer-secret' + +workable: + display_name: Workable + categories: + - ats + auth_mode: API_KEY + proxy: + headers: + authorization: Bearer ${apiKey} + base_url: https://${connectionConfig.subdomain}.workable.com + retry: + at: 'x-rate-limit-reset' + post_connection_script: workablePostConnection + docs: https://docs.nango.dev/integrations/all/workable + docs_connect: https://docs.nango.dev/integrations/all/workable/connect + connection_config: + subdomain: + type: string + title: Workable Domain + description: The subdomain of your Workable account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .workable.com + prefix: https:// + optional: true + credentials: + apiKey: + type: string + title: API Key + description: The API key for your Workable account + doc_section: '#step-1-finding-workable-api-key' + +workable-oauth: + display_name: Workable (OAuth) + categories: + - ats + auth_mode: OAUTH2 + authorization_url: https://www.workable.com/oauth/authorize + token_url: https://www.workable.com/oauth/token + scope_separator: '+' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://${connectionConfig.subdomain}.workable.com + retry: + at: 'x-rate-limit-reset' + docs: https://docs.nango.dev/integrations/all/workable + connection_config: + subdomain: + type: string + title: Workable Domain + description: The subdomain of your Workable account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .workable.com + prefix: https:// + +workday: + display_name: Workday + categories: + - hr + auth_mode: BASIC + proxy: + base_url: https://${connectionConfig.subdomain}.workday.com + docs: https://docs.nango.dev/integrations/all/workday + docs_connect: https://docs.nango.dev/integrations/all/workday/connect + connection_config: + subdomain: + type: string + title: Workday Domain + description: The subdomain of your Workday account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .workday.com + prefix: https:// + credentials: + username: + type: string + title: Client ID + description: Workday Client ID + doc_section: '#step-2-find-your-workday-client-id-and-client-secret' + password: + type: string + title: Client Secret + description: Workday Client Secret + doc_section: '#step-2-find-your-workday-client-id-and-client-secret' + # https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html + # Workday is using basic auth with client ID and client secret as username and password + +wrike: + display_name: Wrike + categories: + - productivity + auth_mode: OAUTH2 + authorization_url: https://login.wrike.com/oauth2/authorize/v4 + token_url: https://login.wrike.com/oauth2/token + scope_separator: ',' + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + token_response_metadata: + - host + proxy: + base_url: https://${connectionConfig.host}/api/v4 + docs: https://docs.nango.dev/integrations/all/wrike + connection_config: + host: + type: string + title: Domain + description: The domain of your Wrike account + format: hostname + prefix: https:// + +xero: + display_name: Xero + categories: + - accounting + auth_mode: OAUTH2 + authorization_url: https://login.xero.com/identity/connect/authorize + token_url: https://identity.xero.com/connect/token + authorization_params: + response_type: code + default_scopes: + - offline_access + - openid + proxy: + base_url: https://api.xero.com + retry: + after: 'retry-after' + post_connection_script: xeroPostConnection + docs: https://docs.nango.dev/integrations/all/xero + +yahoo: + display_name: Yahoo + categories: + - social + auth_mode: OAUTH2 + authorization_url: https://api.login.yahoo.com/oauth2/request_auth + token_url: https://api.login.yahoo.com/oauth2/get_token + proxy: + base_url: https://${connectionConfig.apiDomain} + docs: https://docs.nango.dev/integrations/all/yahoo + connection_config: + apiDomain: + type: string + title: API Domain + description: The domain to the API you want to connect to + format: hostname + example: fantasysports.yahooapis.com + prefix: https:// + +yandex: + display_name: Yandex + categories: + - social + auth_mode: OAUTH2 + authorization_url: https://oauth.yandex.com/authorize + token_url: https://oauth.yandex.com/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://translate.yandex.net + docs: https://docs.nango.dev/integrations/all/yandex + +youtube: + display_name: YouTube + alias: google + categories: + - video + docs: https://docs.nango.dev/integrations/all/youtube + +zapier: + display_name: Zapier + categories: + - dev-tools + auth_mode: OAUTH2 + authorization_url: https://api.zapier.com/v2/authorize + token_url: https://zapier.com/oauth/token + scope_separator: ' ' + default_scopes: + - authentication + - authentication:write + - profile + - zap + - zap:write + proxy: + base_url: https://api.zapier.com + authorization_params: + response_type: code + response_mode: query + state: N@nG0s%rinG + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + docs: https://docs.nango.dev/integrations/all/zapier + +zapier-nla: + display_name: Zapier NLA + auth_mode: OAUTH2 + authorization_url: https://nla.zapier.com/oauth/authorize/ + token_url: https://nla.zapier.com/oauth/token/ + proxy: + base_url: https://nla.zapier.com + docs: https://docs.nango.dev/integrations/all/zapier-nla + +zendesk: + display_name: Zendesk + categories: + - support + - ticketing + auth_mode: OAUTH2 + authorization_url: https://${connectionConfig.subdomain}.zendesk.com/oauth/authorizations/new + token_url: https://${connectionConfig.subdomain}.zendesk.com/oauth/tokens + proxy: + base_url: https://${connectionConfig.subdomain}.zendesk.com + retry: + after: 'retry-after' + paginate: + type: link + limit_name_in_request: per_page + link_path_in_response_body: next_page + docs: https://docs.nango.dev/integrations/all/zendesk + docs_connect: https://docs.nango.dev/integrations/all/zendesk/connect + connection_config: + subdomain: + type: string + title: Zendesk Domain + description: The subdomain of your Zendesk account + pattern: '^[a-z0-9_-]+$' + example: domain + suffix: .zendesk.com + prefix: https:// + doc_section: '#step-1-finding-your-subdomain' + +zenefits: + display_name: Zenefits + categories: + - hr + auth_mode: OAUTH2 + authorization_url: https://secure.zenefits.com/oauth2/platform-authorize + token_url: https://secure.zenefits.com/oauth2/token + authorization_params: + response_type: code + token_params: + grant_type: authorization_code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.zenefits.com + docs: https://docs.nango.dev/integrations/all/zenefits + +zoho: + display_name: Zoho + categories: + - accounting + auth_mode: OAUTH2 + authorization_url: https://accounts.zoho.${connectionConfig.extension}/oauth/v2/auth + token_url: https://accounts.zoho.${connectionConfig.extension}/oauth/v2/token + authorization_params: + prompt: consent + access_type: offline + proxy: + base_url: https://www.zohoapis.${connectionConfig.extension} + paginate: + type: offset + response_path: data + offset_name_in_request: page + limit_name_in_request: per_page + docs: https://docs.nango.dev/integrations/all/zoho + connection_config: + extension: + type: string + title: Domain Extension + description: The domain extension of your Zoho account + pattern: '^[a-z.]+$' + prefix: https://accounts.zoho. + example: com + suffix: / + +zoho-books: + display_name: Zoho Books + alias: zoho + docs: https://docs.nango.dev/integrations/all/zoho-books + +zoho-crm: + display_name: Zoho CRM + alias: zoho + docs: https://docs.nango.dev/integrations/all/zoho-crm + +zoho-desk: + display_name: Zoho Desk + categories: + - support + - ticketing + alias: zoho + docs: https://docs.nango.dev/integrations/all/zoho-desk + +zoho-inventory: + display_name: Zoho Inventory + categories: + - e-commerce + alias: zoho + docs: https://docs.nango.dev/integrations/all/zoho-inventory + +zoho-invoice: + display_name: Zoho Invoice + categories: + - invoicing + alias: zoho + docs: https://docs.nango.dev/integrations/all/zoho-invoice + +zoho-mail: + display_name: Zoho Mail + categories: + - productivity + - communication + alias: zoho + proxy: + base_url: https://mail.zoho.${connectionConfig.extension} + docs: https://docs.nango.dev/integrations/all/zoho-mail + connection_config: + extension: + type: string + title: Domain Extension + description: The domain extension of your Zoho account + pattern: '^[a-z.]+$' + +zoho-bigin: + display_name: Zoho Bigin + alias: zoho + docs: https://docs.nango.dev/integrations/all/zoho-bigin + +zoho-people: + display_name: Zoho People + categories: + - hr + alias: zoho + proxy: + base_url: https://people.zoho.com + docs: https://docs.nango.dev/integrations/all/zoho-people + +zoom: + display_name: Zoom + categories: + - video + auth_mode: OAUTH2 + authorization_url: https://zoom.us/oauth/authorize + token_url: https://zoom.us/oauth/token + scope_separator: ',' + authorization_params: + response_type: code + refresh_params: + grant_type: refresh_token + proxy: + base_url: https://api.zoom.us/v2 + paginate: + type: cursor + cursor_path_in_response: next_page_token + cursor_name_in_request: next_page_token + limit_name_in_request: page_size + docs: https://docs.nango.dev/integrations/all/zoom + +zoominfo: + display_name: ZoomInfo + categories: + - crm + - marketing + auth_mode: OAUTH2_CC + proxy: + retry: + after: 'x-ratelimit-reset' + base_url: https://api.zoominfo.com + token_url: https://api.zoominfo.com/authenticate + token_request_auth_method: custom + body_format: json + docs: https://docs.nango.dev/integrations/all/zoominfo + docs_connect: https://docs.nango.dev/integrations/all/zoominfo/connect diff --git a/packages/providers/tsconfig.json b/packages/providers/tsconfig.json new file mode 100644 index 00000000000..bfff90e0bb8 --- /dev/null +++ b/packages/providers/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "lib", + "outDir": "dist" + }, + "include": ["lib/**/*"], + "references": [ + { + "path": "../types" + } + ] +} diff --git a/tsconfig.build.json b/tsconfig.build.json index a69d6e77cbf..5be49e5cdd1 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -67,6 +67,9 @@ { "path": "packages/fleet" }, + { + "path": "packages/providers" + }, { "path": "packages/types" }