---
title: "Create Connection"
method: POST
path: "/v1/connection"
---

# Create Connection

`POST /v1/connection`

Import an existing connection after validation

## Request body

- object
  - `connector_config_id` string, required — The id of the connector config, starts with `ccfg_`
  - `metadata` object
  - `customer_id` string, required — The id of the customer in your application. Ensure it is unique for that customer.
  - `data` union, required — Connector specific data
    - ConnectorAcmeApikeyDiscriminatedConnectionSettings
      - `connector_name` 'acme-apikey', required
      - `settings` object
        - `api_key` string, required
    - ConnectorAcmeOauth2DiscriminatedConnectionSettings
      - `connector_name` 'acme-oauth2', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorAsanaDiscriminatedConnectionSettings
      - `connector_name` 'asana', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorBigqueryDiscriminatedConnectionSettings
      - `connector_name` 'bigquery', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorBoxDiscriminatedConnectionSettings
      - `connector_name` 'box', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorCalendlyDiscriminatedConnectionSettings
      - `connector_name` 'calendly', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorConfluenceDiscriminatedConnectionSettings
      - `connector_name` 'confluence', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorDatabricksDiscriminatedConnectionSettings
      - `connector_name` 'databricks', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
        - `databricks_instance` string, required — The Databricks workspace instance name (e.g., "your-workspace" for your-workspace.cloud.databricks.com)
    - ConnectorDiscordDiscriminatedConnectionSettings
      - `connector_name` 'discord', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorDropboxDiscriminatedConnectionSettings
      - `connector_name` 'dropbox', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorFigmaDiscriminatedConnectionSettings
      - `connector_name` 'figma', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorGithubDiscriminatedConnectionSettings
      - `connector_name` 'github', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorGoogleCalendarDiscriminatedConnectionSettings
      - `connector_name` 'google-calendar', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorGoogleDocsDiscriminatedConnectionSettings
      - `connector_name` 'google-docs', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorGoogleDriveDiscriminatedConnectionSettings
      - `connector_name` 'google-drive', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorGoogleMailDiscriminatedConnectionSettings
      - `connector_name` 'google-mail', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorGoogleSheetDiscriminatedConnectionSettings
      - `connector_name` 'google-sheet', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorHubspotDiscriminatedConnectionSettings
      - `connector_name` 'hubspot', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorInstagramDiscriminatedConnectionSettings
      - `connector_name` 'instagram', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorJiraDiscriminatedConnectionSettings
      - `connector_name` 'jira', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorLinearDiscriminatedConnectionSettings
      - `connector_name` 'linear', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorMondayDiscriminatedConnectionSettings
      - `connector_name` 'monday', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorNotionDiscriminatedConnectionSettings
      - `connector_name` 'notion', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorOnedriveDiscriminatedConnectionSettings
      - `connector_name` 'onedrive', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorOutlookDiscriminatedConnectionSettings
      - `connector_name` 'outlook', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorResendDiscriminatedConnectionSettings
      - `connector_name` 'resend', required
      - `settings` object
        - `api_key` string, required
    - ConnectorSalesforceDiscriminatedConnectionSettings
      - `connector_name` 'salesforce', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
        - `instance_url` string, required — The instance URL of your Salesforce account (e.g., example)
    - ConnectorSendgridDiscriminatedConnectionSettings
      - `connector_name` 'sendgrid', required
      - `settings` object
        - `api_key` string, required
    - ConnectorSharepointDiscriminatedConnectionSettings
      - `connector_name` 'sharepoint', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorSlackDeployedAgentDiscriminatedConnectionSettings
      - `connector_name` 'slack-deployed-agent', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorSlackDiscriminatedConnectionSettings
      - `connector_name` 'slack', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorSnowflakeDiscriminatedConnectionSettings
      - `connector_name` 'snowflake', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
        - `snowflake_account_url` string, required — The domain of your Snowflake account (e.g., https://example-subdomain)
    - ConnectorSpotifyDiscriminatedConnectionSettings
      - `connector_name` 'spotify', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorYoutubeDiscriminatedConnectionSettings
      - `connector_name` 'youtube', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorZendeskDiscriminatedConnectionSettings
      - `connector_name` 'zendesk', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
        - `subdomain` string, required — The subdomain of your Zendesk account (e.g., https://domain.zendesk.com)
    - ConnectorZoomDiscriminatedConnectionSettings
      - `connector_name` 'zoom', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
    - ConnectorApolloDiscriminatedConnectionSettings
      - `connector_name` 'apollo', required
      - `settings` object
        - `api_key` string, required
    - ConnectorPlaidDiscriminatedConnectionSettings
      - `connector_name` 'plaid', required
      - `settings` object
        - `itemId` string, nullable
        - `accessToken` string, required
        - `institution` unknown
        - `item` unknown
        - `status` unknown
        - `webhookItemError` unknown
    - ConnectorPostgresDiscriminatedConnectionSettings
      - `connector_name` 'postgres', required
      - `settings` object
        - `database_url` string
    - ConnectorSlackAgentDiscriminatedConnectionSettings
      - `connector_name` 'slack-agent', required
      - `settings` object
        - `access_token` string, required — Bot OAuth token - xoxb-...
    - ConnectorSlackAgentBuilderDiscriminatedConnectionSettings
      - `connector_name` 'slack-agent-builder', required
      - `settings` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
        - `agent_builder` object
          - `oauth` object, required
            - `credentials` object — Output of the postConnect hook for oauth2 connectors
              - …
            - `created_at` string
            - `updated_at` string
            - `last_fetched_at` string
            - `metadata` object, nullable
          - `app` object — Slack app configuration created by the agent builder
            - `app_id` string, required — The Slack app ID
            - `client_id` string, required — The client ID for the app
            - `client_secret` string, required — The client secret for the app
            - `verification_token` string, required — The verification token for the app
            - `signing_secret` string, required — The signing secret for the app
            - `oauth_url` string, required — The OAuth authorization URL for the app
        - `event_subscription_url` string, uri — URL for Slack event subscriptions
    - ConnectorStripeDiscriminatedConnectionSettings
      - `connector_name` 'stripe', required
      - `settings` object
        - `secret` string, required — Stripe secret key for production
        - `publishable` string, required — Stripe publishable key for production
        - `mcp` string, required — MCP access token
    - ConnectorStripeAgentSandboxDiscriminatedConnectionSettings
      - `connector_name` 'stripe-agent-sandbox', required
      - `settings` object
        - `secret` string, required — Stripe secret key for the sandbox
        - `publishable` string, required — Stripe publishable key for the sandbox
        - `mcp` string, required — MCP access token
        - `claim_url` string, uri, required — URL to claim/access the Stripe sandbox
    - ConnectorTwilioDiscriminatedConnectionSettings
      - `connector_name` 'twilio', required
      - `settings` object
        - `account_sid` string, required
        - `api_key` string, required
        - `api_key_secret` string, required
    - ConnectorWorkatoDiscriminatedConnectionSettings
      - `connector_name` 'workato', required
      - `settings` object
        - `workato_api_host` string, required
        - `workato_api_token` string, required
        - `workato_account_id` string
  - `check_connection` boolean — Perform a synchronous connection check before creating it.

## Response `200`

Successful response

- union
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'acme-apikey', required
    - `settings` object
      - `api_key` string, required
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'acme-oauth2', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'asana', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'bigquery', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'box', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'calendly', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'confluence', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'databricks', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
      - `databricks_instance` string, required — The Databricks workspace instance name (e.g., "your-workspace" for your-workspace.cloud.databricks.com)
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'discord', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'dropbox', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'figma', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'github', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'google-calendar', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'google-docs', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'google-drive', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'google-mail', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'google-sheet', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'hubspot', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'instagram', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'jira', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'linear', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'monday', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'notion', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'onedrive', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'outlook', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'resend', required
    - `settings` object
      - `api_key` string, required
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'salesforce', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
      - `instance_url` string, required — The instance URL of your Salesforce account (e.g., example)
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'sendgrid', required
    - `settings` object
      - `api_key` string, required
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'sharepoint', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'slack-deployed-agent', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'slack', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'snowflake', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
      - `snowflake_account_url` string, required — The domain of your Snowflake account (e.g., https://example-subdomain)
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'spotify', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'youtube', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'zendesk', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
      - `subdomain` string, required — The subdomain of your Zendesk account (e.g., https://domain.zendesk.com)
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'zoom', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'apollo', required
    - `settings` object
      - `api_key` string, required
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'plaid', required
    - `settings` object
      - `itemId` string, nullable
      - `accessToken` string, required
      - `institution` unknown
      - `item` unknown
      - `status` unknown
      - `webhookItemError` unknown
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'postgres', required
    - `settings` object
      - `database_url` string
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'slack-agent', required
    - `settings` object
      - `access_token` string, required — Bot OAuth token - xoxb-...
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'slack-agent-builder', required
    - `settings` object
      - `oauth` object, required
        - `credentials` object — Output of the postConnect hook for oauth2 connectors
          - `access_token` string, required
          - `client_id` string — Client ID used for the connection
          - `scope` string
          - `refresh_token` string
          - `expires_in` number
          - `expires_at` string
          - `token_type` string
          - `raw` object
        - `created_at` string
        - `updated_at` string
        - `last_fetched_at` string
        - `metadata` object, nullable
      - `access_token` string — Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field
      - `agent_builder` object
        - `oauth` object, required
          - `credentials` object — Output of the postConnect hook for oauth2 connectors
            - `access_token` string, required
            - `client_id` string — Client ID used for the connection
            - `scope` string
            - `refresh_token` string
            - `expires_in` number
            - `expires_at` string
            - `token_type` string
            - `raw` object
          - `created_at` string
          - `updated_at` string
          - `last_fetched_at` string
          - `metadata` object, nullable
        - `app` object — Slack app configuration created by the agent builder
          - `app_id` string, required — The Slack app ID
          - `client_id` string, required — The client ID for the app
          - `client_secret` string, required — The client secret for the app
          - `verification_token` string, required — The verification token for the app
          - `signing_secret` string, required — The signing secret for the app
          - `oauth_url` string, required — The OAuth authorization URL for the app
      - `event_subscription_url` string, uri — URL for Slack event subscriptions
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'stripe', required
    - `settings` object
      - `secret` string, required — Stripe secret key for production
      - `publishable` string, required — Stripe publishable key for production
      - `mcp` string, required — MCP access token
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'stripe-agent-sandbox', required
    - `settings` object
      - `secret` string, required — Stripe secret key for the sandbox
      - `publishable` string, required — Stripe publishable key for the sandbox
      - `mcp` string, required — MCP access token
      - `claim_url` string, uri, required — URL to claim/access the Stripe sandbox
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'twilio', required
    - `settings` object
      - `account_sid` string, required
      - `api_key` string, required
      - `api_key_secret` string, required
  - object
    - `id` string, required
    - `customer_id` string, nullable, required
    - `connector_config_id` string, nullable, required
    - `integration_id` string, nullable, required
    - `status_message` string, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `display_name` string, nullable, required
    - `disabled` boolean, nullable, required
    - `status` 'healthy' | 'disconnected' | 'error' | 'manual' | 'unknown' | 'null', nullable
    - `metadata` object, nullable — JSON object can can be used to associate arbitrary metadata to avoid needing a separate 1-1 table just for simple key values in your application. During updates this object will be shallowly merged
    - `connector_name` 'workato', required
    - `settings` object
      - `workato_api_host` string, required
      - `workato_api_token` string, required
      - `workato_account_id` string

## Other responses

- `400` — Invalid input data
- `401` — Authorization not provided
- `403` — Insufficient access
- `500` — Internal server error

---

[API](https://skmtc.net/openintegrations/apis/openint-api.md) · [All operations](https://skmtc.net/openintegrations/apis/openint-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openintegrations/openint-api/versions/1b84cd7f5c05/schema)
