KaireonAI ships 85 connector types in the connector registry. 57 are production-ready; 28 are markedDocumentation Index
Fetch the complete documentation index at: https://docs.kaireonai.com/llms.txt
Use this file to discover all available pages before exploring further.
status: "coming_soon" and are gated behind a shared stub that returns a clear “vendor account required” response at runtime. Every entry below traces to a real registry row by line number.
What it does
Each registry entry is consumed by three layers:- Dynamic UI form —
Data → Connectors → NewreadsconnectionFields[]andauthFields[<authMethod>][]from the connector registry and renders text / password / textarea / select / number inputs without any per-connector UI code. - Test Connection + send + pull — the connector executor for the chosen type exposes
testConnection, optionalsend, and optionalpullmethods that talk to the vendor API. Ready connectors implement the methods directly; coming-soon connectors return{ ok: false, status: 503, error: "coming_soon:<type>: vendor account required..." }from the shared stub. - Pipeline runner — Flow IR source/target nodes resolve to the same executor through the connector dispatcher. The envelope is always
{ ok, status, latencyMs, body?, error? }.
Quick start
Pick a connector bytype from the tables below, then create it via the API:
Connector.lastTestedAt + Connector.lastError and surfaces in the UI as a green/red dot next to the connector row.
Status snapshot
| Status | Count | Source |
|---|---|---|
| Total registered | 80 | connectorRegistry.length (connector-registry.ts:100-1136) |
| Ready (executor implemented) | 52 | Entries with no status field |
| Coming-soon (stub returns 503) | 28 | kinesis + braze + 26 W16 round-3 entries — all listed in the COMING_SOON_CONNECTORS set at connector-registry.ts:36-50 |
| Category | Total | Ready | Coming-soon |
|---|---|---|---|
| Object Storage | 4 | 4 | 0 |
| Streaming | 3 | 2 | 1 |
| Data Warehouses | 8 | 8 | 0 |
| Databases | 3 | 3 | 0 |
| CRM | 11 | 6 | 5 |
| Customer Data Platforms (CDP) | 16 | 9 | 7 |
| Messaging | 12 | 7 | 5 |
| APIs and Webhooks | 23 | 13 | 10 |
Object Storage
All four object-store connectors share the same object-store abstraction shipped in Phase 6.2 and read CSV / JSON / JSON Lines / Parquet / Avro / ORC / TSV / XML through the same format-parser layer.Amazon S3 (aws_s3)
Status: ReadyAuth:
iam_role (env: roleArn, optional externalId) or access_key (env: accessKeyId, secretAccessKey, optional sessionToken)Config fields:
bucket, prefix, region (30 region options), endpoint (for MinIO and other S3-compatible stores)File formats: Yes; default
parquetUse: File-based ingestion from S3 buckets. Supports CSV, JSON, Parquet, Avro, ORC, TSV, XML. (
connector-registry.ts:103-150)
Google Cloud Storage (gcs)
Status: ReadyAuth:
service_account_json (env: serviceAccountJson — paste the GCP service-account key JSON)Config fields:
bucket, prefix, projectIdFile formats: Yes; default
parquetUse: File-based ingestion from GCS buckets. (
connector-registry.ts:151-166)
Azure Blob Storage (azure_blob)
Status: ReadyAuth:
connection_string (env: connectionString) or access_key (env: accountKey)Config fields:
accountName, containerName, prefixFile formats: Yes; default
parquetUse: File-based ingestion from Azure Blob containers. (
connector-registry.ts:167-184)
SFTP (sftp)
Status: ReadyAuth:
username_password (env: username, password) or ssh_key (env: username, privateKey, optional passphrase)Config fields:
host, port (default 22), remotePathFile formats: Yes; default
csvUse: Pull files from a remote SFTP server. (
connector-registry.ts:185-200)
Streaming
Apache Kafka (kafka)
Status: Ready (batch polling — see Honest limits)Auth:
username_password (with saslMechanism — PLAIN, SCRAM-SHA-256, SCRAM-SHA-512) or api_keyConfig fields:
bootstrapServers, topic, consumerGroup, securityProtocol (PLAINTEXT / SASL_SSL / SASL_PLAINTEXT / SSL), schemaRegistryUrlUse: Poll up to
maxMessages records per pipeline run with a 15s wait window, commit offsets, close. True long-lived streaming requires execMode: "streaming" plus a worker deployment (gated by FLOW_STREAMING_ENABLED). (connector-registry.ts:203-228)
Confluent Cloud (confluent_kafka)
Status: Ready (batch polling)Auth:
api_key (env: apiKey, apiSecret — cluster keys; plus optional Schema Registry schemaRegistryApiKey + schemaRegistryApiSecret)Config fields:
bootstrapServers, topic, schemaRegistryUrlUse: Same batch-polling semantics as
kafka, with managed Confluent Cloud Schema Registry support. (connector-registry.ts:229-247)
Amazon Kinesis (amazon_kinesis)
Status: Coming-soonAuth:
iam_role (env: roleArn, optional externalId) or access_key (env: accessKeyId, secretAccessKey, optional sessionToken)Config fields:
streamName, region (us-east-1, us-west-2, eu-west-1), startPosition (LATEST or TRIM_HORIZON)Use: Stream consumer for Kinesis Data Streams. Form definition + Test Connection ship today; live ingestion arrives when the operator wires SigV4 signing. (
connector-registry.ts:248-269)
Data Warehouses
Snowflake (snowflake)
Status: ReadyAuth:
username_password (env: username, password) or token (env: token, authenticator — snowflake / externalbrowser / oauth)Config fields:
account, warehouse, database, schema, role, sourceTable, rowLimit (default 100,000 — set 0 to remove the cap)Use:
SELECT * FROM <sourceTable> LIMIT <rowLimit> against the warehouse. (connector-registry.ts:272-296)
Databricks (databricks)
Status: ReadyAuth:
token (env: token) or oauth2 (env: clientId, clientSecret, tokenUrl, refreshToken)Config fields:
host (workspace URL), httpPath, catalog, schemaUse: SQL Statement Execution API v2 — submit a query against a SQL warehouse and read
result.data_array. Requires warehouseId for SQL pulls. (connector-registry.ts:297-311, executor at lib/connector-executors/reverse-etl.ts)
Google BigQuery (bigquery)
Status: ReadyAuth:
service_account_json (env: serviceAccountJson)Config fields:
projectId, dataset, location (US, EU, us-central1, europe-west2), sourceTable, rowLimit (default 100,000)Use:
SELECT * FROM <dataset>.<sourceTable> LIMIT <rowLimit> against BigQuery. (connector-registry.ts:312-332)
Amazon Redshift (redshift)
Status: ReadyAuth:
username_password (env: username, password) or iam_role (env: roleArn, optional externalId)Config fields:
host (cluster endpoint), port (default 5439), database, schemaUse: Connect to Redshift clusters or serverless endpoints. (
connector-registry.ts:333-347)
Snowpipe (snowpipe)
Status: ReadyAuth:
token (env: jwt — keypair-signed JWT generated via snowsql --generate-jwt)Config fields:
account (e.g. abc12345.us-east-2.aws), pipeName (e.g. DB.SCHEMA.PIPE_NAME)Use: POST staged files to
/v1/data/pipes/<pipe>/insertFiles with X-Snowflake-Authorization-Token-Type: KEYPAIR_JWT. Send-side only (destination connector). (connector-registry.ts:747-762, executor at lib/connector-executors/reverse-etl.ts)
Fivetran (fivetran)
Status: ReadyAuth:
api_key (env: apiKey, apiSecret — used as Basic auth)Config fields: none
Use:
pull lists /v1/connectors; send triggers /v1/connectors/<connectorId>/sync (the connector ID comes from the event payload). (connector-registry.ts:763-778)
Hightouch (hightouch)
Status: ReadyAuth:
api_key (env: apiKey — workspace API key, used as Bearer token)Config fields: none
Use:
send triggers /api/v1/syncs/<syncId>/trigger with optional fullResync. The syncId comes from the event payload. (connector-registry.ts:779-791)
Census (census)
Status: ReadyAuth:
api_key (env: apiKey)Config fields: none
Use:
send triggers /api/v1/syncs/<syncId>/trigger against app.getcensus.com. (connector-registry.ts:792-804)
Databases
PostgreSQL (postgresql)
Status: ReadyAuth:
username_password (env: username, password) or connection_string (env: connectionString)Config fields:
host, port (default 5432), database, schema, sslMode (prefer / require / verify-ca / verify-full / disable)Use: Read from PostgreSQL tables; logical replication CDC is supported when the source role has the REPLICATION Postgres role attribute. (
connector-registry.ts:350-371)
MySQL (mysql)
Status: ReadyAuth:
username_password (env: username, password) or connection_string (env: connectionString)Config fields:
host, port (default 3306), database, sslMode (preferred / required / disabled)Use: Read from MySQL or MariaDB databases. (
connector-registry.ts:372-390)
MongoDB (mongodb)
Status: ReadyAuth:
connection_string (env: connectionString — mongodb+srv://…) or username_password (env: host, port 27017, username, password)Config fields:
database, collectionUse: Read from MongoDB Atlas or self-hosted MongoDB. (
connector-registry.ts:391-409)
CRM
Salesforce (salesforce)
Status: ReadyAuth:
oauth2 (env: clientId, clientSecret, tokenUrl, refreshToken) or username_password (env: username, password, securityToken)Config fields:
instanceUrl, apiVersion (e.g. v58.0), objects (comma-separated list — Contact, Account, Opportunity, etc.)Use: Sync CRM data from Salesforce sObjects. (
connector-registry.ts:412-428)
HubSpot (hubspot)
Status: ReadyAuth:
token (env: token — Private App Token) or oauth2 (env: clientId, clientSecret, tokenUrl, refreshToken)Config fields:
portalId, objects (e.g. contacts,companies,deals)Use: Sync marketing, sales, and service data from HubSpot CRM. (
connector-registry.ts:429-443)
Intercom (intercom)
Status: ReadyAuth:
token (env: accessToken — from Developer Hub > your app > Authentication)Config fields:
region (us / eu / au)Use:
send with action: "track" posts to /events; default action upserts a contact via /contacts. (connector-registry.ts:622-636, executor at lib/connector-executors/cdp.ts)
Zendesk (zendesk)
Status: ReadyAuth:
api_key (env: apiToken; the executor builds Basic auth as Basic base64(<email>/token:<apiToken>))Config fields:
subdomain, emailUse:
testConnection GETs /api/v2/users/me.json; send creates Zendesk Support tickets and syncs users. (connector-registry.ts:637-652, executor at lib/connector-executors/cdp.ts)
HubSpot Marketing (hubspot_marketing)
Status: ReadyAuth:
token (env: privateAppToken)Config fields: none
Use: POST
/events/v3/send with eventName, email, occurredAt, properties. Test pings /account-info/v3/details. (connector-registry.ts:846-851, executor at lib/connector-executors/mktauto.ts)
ActiveCampaign (activecampaign)
Status: ReadyAuth:
api_key (env: apiKey — also requires eventKey in connection config)Config fields:
baseUrl (e.g. https://acme.api-us1.com), actid, eventKeyUse: Send events into ActiveCampaign Deep Data event-tracking. (
connector-registry.ts:852-862)
Pardot (Salesforce MAP) (pardot)
Status: Coming-soonAuth:
oauth2 (env: clientId, clientSecret)Config fields:
businessUnitIdUse: Pull leads + score events from Pardot (Salesforce Marketing Cloud Account Engagement). Stub returns
503 coming_soon:pardot:…. (connector-registry.ts:918-925)
Marketo Engage (marketo_engage)
Status: Coming-soonAuth:
oauth2 (env: clientId, clientSecret)Config fields:
munchkinIdUse: Adobe Marketo Engage REST API — leads, programs, smart lists. (
connector-registry.ts:926-933)
Salesforce Marketing Cloud (salesforce_marketing_cloud)
Status: Coming-soonAuth:
oauth2 (env: clientId, clientSecret)Config fields:
subdomain (tenant subdomain, e.g. mc6abc-def-ghi)Use: SFMC REST API — Data Extensions, Journeys, contact updates. (
connector-registry.ts:934-941)
Freshsales (freshsales)
Status: Coming-soonAuth:
api_key (env: apiKey)Config fields:
domainUse: Freshsales CRM API. (
connector-registry.ts:1086-1093)
Pipedrive (pipedrive)
Status: Coming-soonAuth:
api_key (env: apiToken)Config fields:
companyDomainUse: Pipedrive deals + people API. (
connector-registry.ts:1094-1101)
Customer Data Platforms (CDP)
Segment (segment)
Status: ReadyAuth:
api_key (env: apiKey, apiSecret)Config fields:
workspaceSlug, sourceIdUse: Sync user profiles, events, and audiences. Supports
track / identify / group payloads via Base64 Basic auth. (connector-registry.ts:444-456)
Iterable (iterable)
Status: ReadyAuth:
api_key (env: apiKey — server-side key)Config fields:
dataCenter (us / eu)Use: Send events and profile updates via
/api/events/track with the Api-Key header. (connector-registry.ts:653-667)
Klaviyo (klaviyo)
Status: ReadyAuth:
api_key (env: privateKey)Config fields:
publicKey (optional — Klaviyo.js identity)Use: Send profile + event data to
/api/events/ using the JSON:API envelope, revision 2024-10-15. (connector-registry.ts:668-682)
Amplitude (amplitude)
Status: ReadyAuth:
api_key (env: apiKey)Config fields: none
Use: POST events to
https://api2.amplitude.com/2/httpapi with event_type, user_id, event_properties, time. (connector-registry.ts:807-812, executor at lib/connector-executors/analytics.ts)
Mixpanel (mixpanel)
Status: ReadyAuth:
api_key (env: projectToken)Config fields: none
Use: Base64-encode the event payload and GET
https://api.mixpanel.com/track?data=…. (connector-registry.ts:813-818, executor at lib/connector-executors/analytics.ts)
PostHog (posthog)
Status: ReadyAuth:
api_key (env: apiKey — Project API Key)Config fields:
host (defaults to https://app.posthog.com — point at a self-hosted instance if needed)Use: POST
/capture/ with event, distinct_id, properties. Test Connection GETs /decide/?token=…. (connector-registry.ts:819-825)
Customer.io (customer_io)
Status: ReadyAuth:
api_key (env: siteId, apiKey — used as Basic auth)Config fields: none
Use: POST
/api/v1/customers/<userId>/events with name + data. (connector-registry.ts:826-831, executor at lib/connector-executors/mktauto.ts)
MoEngage (moengage)
Status: ReadyAuth:
api_key (env: apiKey)Config fields:
appId, dataCenter (DC-01 through DC-05)Use: POST
https://api-0<dc>.moengage.com/v1/event/<appId> with the customer-id + actions array. Basic auth uses appId:apiKey. (connector-registry.ts:832-838)
CleverTap (clevertap)
Status: ReadyAuth:
api_key (env: passcode)Config fields:
accountIdUse: POST
https://api.clevertap.com/1/upload with X-CleverTap-Account-Id and X-CleverTap-Passcode headers; events use evtName + evtData. (connector-registry.ts:839-845)
Segment Personas (segment_personas)
Status: Coming-soonAuth:
api_key (env: personasApiKey)Config fields:
spaceIdUse: Twilio Segment audiences + traits sync. (
connector-registry.ts:952-959)
mParticle (mparticle)
Status: Coming-soonAuth:
api_key (env: apiKey, apiSecret)Config fields:
podUrl (Pod base URL)Use: mParticle Audience API + Events API. (
connector-registry.ts:960-967)
Tealium AudienceStream (tealium)
Status: Coming-soonAuth:
api_key (env: apiKey)Config fields:
account, profileUse: Tealium AudienceStream + EventStream sync. (
connector-registry.ts:968-975)
Hightouch (Reverse ETL) (hightouch_reverse_etl)
Status: Coming-soonAuth:
api_key (env: apiKey)Config fields:
workspaceIdUse: Hightouch reverse-ETL — warehouse models → SaaS destinations. Distinct from
hightouch (which is the trigger-syncs API). (connector-registry.ts:976-983)
Census (Reverse ETL) (census_reverse_etl)
Status: Coming-soonAuth:
api_key (env: apiKey)Config fields:
workspaceIdUse: Getcensus reverse-ETL warehouse → SaaS sync. Distinct from
census. (connector-registry.ts:984-991)
Adobe Experience Platform (adobe_experience_platform)
Status: Coming-soonAuth:
oauth2 (env: clientId, clientSecret)Config fields:
imsOrg, sandboxUse: Adobe Experience Platform — XDM datasets + audiences. (
connector-registry.ts:992-999)
Klaviyo Profiles (klaviyo_profile)
Status: Coming-soonAuth:
api_key (env: privateApiKey)Config fields: none
Use: Klaviyo Profiles + Lists API — separate from the existing Klaviyo events connector. (
connector-registry.ts:1052-1059)
Messaging
Slack (slack)
Status: ReadyAuth:
none — uses an Incoming Webhook URLConfig fields:
webhookUrl (must match ^https://hooks.slack.com/), defaultChannelUse: POST a JSON payload to the webhook. Default body shape is
{ text } or { blocks }. Test ping sends text: "KaireonAI connection test (ignore)". (connector-registry.ts:581-593, executor at lib/connector-executors/messaging.ts)
Microsoft Teams (microsoft_teams)
Status: ReadyAuth:
none — uses an Incoming Webhook URLConfig fields:
webhookUrl (must match ^https://.*\.webhook\.office\.com/)Use: POST a MessageCard schema (
@type: "MessageCard", @context: "https://schema.org/extensions", summary, text). If payload.event.card is set the executor passes it through unchanged. (connector-registry.ts:594-605, executor at lib/connector-executors/messaging.ts:43-72)
WhatsApp Business (whatsapp_business)
Status: ReadyAuth:
token (env: accessToken — Meta system-user access token)Config fields:
phoneNumberId, businessAccountIdUse: POST
https://graph.facebook.com/v20.0/<phoneNumberId>/messages with messaging_product: "whatsapp", to, type, plus text or template. Test GETs /<phoneNumberId>?fields=id. (connector-registry.ts:606-621, executor at lib/connector-executors/messaging.ts:78-113)
Twilio SMS (twilio_sms)
Status: ReadyAuth:
api_key (env: accountSid, authToken — used as HTTP Basic auth)Config fields:
fromNumber (E.164 — +15551234567)Use: Form-encoded POST to
/Messages.json against the Twilio Programmable Messaging API. (connector-registry.ts:683-700)
SendGrid (sendgrid)
Status: ReadyAuth:
api_key (env: apiKey — Full Access)Config fields:
defaultFromUse: POST
/v3/mail/send with the SendGrid personalizations schema, Bearer auth. (connector-registry.ts:701-715)
Postmark (postmark)
Status: ReadyAuth:
api_key (env: serverToken)Config fields:
defaultFrom, messageStream (default outbound)Use: POST
/email with X-Postmark-Server-Token header on a configurable message stream. (connector-registry.ts:716-731)
PagerDuty (pagerduty)
Status: ReadyAuth:
api_key (env: routingKey — Service > Integrations > Events API v2)Config fields:
defaultSeverity (info / warning / error / critical)Use: POST
/enqueue (Events API v2) with optional dedup_key derived from the request idempotency key. (connector-registry.ts:732-746)
OneSignal (onesignal)
Status: Coming-soonAuth:
api_key (env: restApiKey)Config fields:
appIdUse: Push notifications + email/SMS through the OneSignal REST API. (
connector-registry.ts:944-951)
Drift (drift)
Status: Coming-soonAuth:
api_key (env: apiToken)Config fields: none
Use: Drift conversations + Playbooks API. (
connector-registry.ts:1060-1067)
Front (front)
Status: Coming-soonAuth:
api_key (env: apiToken)Config fields: none
Use: Front shared inbox API. (
connector-registry.ts:1068-1075)
Freshdesk (freshdesk)
Status: Coming-soonAuth:
api_key (env: apiKey)Config fields:
domain (e.g. acme.freshdesk.com)Use: Freshdesk tickets + contacts API. (
connector-registry.ts:1078-1085)
Braze (braze)
Status: Coming-soonAuth:
api_key (env: apiKey, apiSecret)Config fields:
restEndpoint (US-01, US-02, US-03, EU-01)Use: Sync campaign performance and user-engagement data from Braze. The current
braze registry entry resolves through the shared coming-soon.ts stub; an earlier release-notes claim of a live /users/track batch executor is superseded. (connector-registry.ts:457-474)
APIs and Webhooks
Webhook (webhook)
Status: ReadyAuth:
api_key (env: apiKey — clients must send X-API-Key) or token (env: token — Bearer)Config fields:
path (e.g. /ingest/my-webhook), maxBatchSizeUse: Receive data via inbound webhooks. KaireonAI provides a unique endpoint URL keyed off
path. (connector-registry.ts:477-493)
REST API (rest_api)
Status: ReadyAuth:
api_key, oauth2, token, or username_passwordConfig fields:
baseUrl, method (GET / POST), paginationType (none / offset / cursor / link), headers (JSON map for custom headers)Use: Pull data from any REST API with configurable polling and pagination. SSRF-guarded by
validateAndResolve. (connector-registry.ts:494-515)
CSV File Upload (csv_upload)
Status: ReadyAuth:
noneConfig fields:
delimiter (comma / tab / semicolon), hasHeader (true / false)Use: Upload CSV files directly through the UI. The fastest connector for getting started — no external service to wire. (
connector-registry.ts:518-537)
Shopify (shopify)
Status: ReadyAuth:
token (env: token — Admin API Access Token from Shopify Admin > Settings > Apps and sales channels > Develop apps)Config fields:
shopDomain (e.g. my-store.myshopify.com)Use: Pull from
/orders.json against the Shopify Admin REST API with updated_at_min pagination. (connector-registry.ts:538-551)
Stripe (stripe)
Status: ReadyAuth:
api_key (env: apiKey — Secret Key starting sk_live_ or sk_test_)Config fields: none
Use: Pull
/v1/charges with created[gte] filter. Sync payments, customers, subscriptions, and invoices. (connector-registry.ts:552-563)
Mailchimp (mailchimp)
Status: ReadyAuth:
api_key (env: apiKey — format key-dcN)Config fields:
serverPrefix (e.g. us19), listIdUse: Pull
/lists/<listId>/members?since_last_changed=… from the data-center-aware endpoint. (connector-registry.ts:564-578)
Zapier (zapier)
Status: ReadyAuth:
none — uses an Incoming Webhook URLConfig fields:
webhookUrl (must match ^https://hooks.zapier.com/)Use: Trigger a Zapier workflow via webhook. POSTs the event payload as JSON. (
connector-registry.ts:863-869, executor at lib/connector-executors/workflow-billing.ts:8-26)
n8n (n8n)
Status: ReadyAuth:
token (env: authToken — optional Bearer)Config fields:
webhookUrlUse: Trigger an n8n workflow via the webhook node. POSTs the event payload as JSON; adds
Authorization: Bearer <authToken> when set. (connector-registry.ts:870-876)
Adyen (adyen)
Status: ReadyAuth:
api_key (env: apiKey — sent as X-API-Key)Config fields:
environment (test / live — selects https://checkout-test.adyen.com/v71 vs https://checkout-live.adyen.com/v71)Use: Payment processing — POST
/payments with the Checkout API v71 payment object from payload.event.payment. (connector-registry.ts:877-883)
Recurly (recurly)
Status: ReadyAuth:
api_key (env: apiKey — used as Basic auth)Config fields: none
Use: Pull
/invoices?limit=…&updated_at[gte]=… against https://v3.recurly.com with Accept: application/vnd.recurly.v2021-02-25. (connector-registry.ts:884-889)
Zuora (zuora)
Status: ReadyAuth:
token (env: bearerToken — OAuth Bearer)Config fields:
host (e.g. https://rest.zuora.com)Use: Pull
/v1/subscriptions for catalog, subscriptions, usage. Test pings /v1/catalog/products?pageSize=1. (connector-registry.ts:890-896)
Chargebee (chargebee)
Status: ReadyAuth:
api_key (env: apiKey — Full-Access; used as Basic auth)Config fields:
site (e.g. acme for acme.chargebee.com)Use: Pull
/api/v2/subscriptions?limit=… for subscriptions and customers. (connector-registry.ts:897-903)
Typeform (typeform)
Status: ReadyAuth:
token (env: apiToken — Personal Access Token, used as Bearer)Config fields:
formIdUse: Pull
/forms/<formId>/responses?page_size=…&since=… for form responses. Test pings /me. (connector-registry.ts:904-910)
Google Customer Match (google_customer_match)
Status: Coming-soonAuth:
oauth2 (env: clientId, clientSecret, refreshToken)Config fields:
customerIdUse: Push hashed customer lists to Google Ads Customer Match. (
connector-registry.ts:1002-1009)
TikTok Ads (tiktok_ads)
Status: Coming-soonAuth:
oauth2 (env: accessToken)Config fields:
advertiserIdUse: TikTok Ads Custom Audiences sync. (
connector-registry.ts:1010-1017)
LinkedIn Audiences (linkedin_audiences)
Status: Coming-soonAuth:
oauth2 (env: clientId, clientSecret)Config fields:
accountIdUse: LinkedIn Matched Audiences sync. (
connector-registry.ts:1018-1025)
Pinterest Ads (pinterest_ads)
Status: Coming-soonAuth:
oauth2 (env: accessToken)Config fields:
adAccountIdUse: Pinterest Audience API. (
connector-registry.ts:1026-1033)
Snapchat Ads (snapchat_ads)
Status: Coming-soonAuth:
oauth2 (env: accessToken)Config fields:
adAccountIdUse: Snapchat Audience Match API. (
connector-registry.ts:1034-1041)
Meta Conversions API (meta_conversions_api)
Status: Coming-soonAuth:
api_key (env: accessToken)Config fields:
pixelIdUse: Meta CAPI server-side event forwarding. (
connector-registry.ts:1042-1049)
Asana (asana)
Status: Coming-soonAuth:
oauth2 (env: accessToken — Personal Access Token)Config fields:
workspaceIdUse: Asana Tasks + Projects API. (
connector-registry.ts:1104-1111)
Linear (linear)
Status: Coming-soonAuth:
api_key (env: apiKey)Config fields: none
Use: Linear issues + cycles API. (
connector-registry.ts:1112-1119)
Notion (notion)
Status: Coming-soonAuth:
oauth2 (env: integrationToken)Config fields:
workspaceIdUse: Notion databases + pages API. (
connector-registry.ts:1120-1127)
Airtable (airtable)
Status: Coming-soonAuth:
api_key (env: personalAccessToken)Config fields:
baseIdUse: Airtable bases + tables API. (
connector-registry.ts:1128-1135)
Reference
Executor interface
Every executor implements the platform’s connector-executor interface, shaped as follows:pull method; destination connectors implement the send method. A connector that does both (e.g. fivetran, snowpipe) implements both.
Coming-soon stub contract
Every coming-soon connector resolves through a single shared stub. ThetestConnection, send, and pull methods all return:
UI wiring
Every connector appears automatically in Data → Connectors because the picker readsconnectorRegistry from connector-registry.ts. Each entry declares connectionFields + authFields for each supportedAuthMethods value; the dynamic form builder renders the right inputs (text / password / textarea / select / number) without per-connector UI code.
Auth method matrix
authMethod | Field keys consumed | Used by |
|---|---|---|
iam_role | roleArn, externalId | aws_s3, amazon_kinesis, redshift |
access_key | accessKeyId, secretAccessKey, sessionToken (or accountKey for Azure) | aws_s3, amazon_kinesis, azure_blob |
service_account_json | serviceAccountJson | gcs, bigquery |
connection_string | connectionString | azure_blob, postgresql, mysql, mongodb |
oauth2 | clientId, clientSecret, tokenUrl, refreshToken | salesforce, hubspot, databricks, rest_api, plus 8 W16 round-3 entries |
api_key | apiKey, apiSecret, plus vendor-specific keys (projectToken, passcode, routingKey, serverToken, apiToken, restApiKey, personasApiKey, personalAccessToken) | 30+ ready connectors |
username_password | username, password (plus securityToken for Salesforce, saslMechanism for Kafka) | kafka, salesforce, postgresql, mysql, mongodb, snowflake, redshift, sftp, rest_api |
ssh_key | username, privateKey, passphrase | sftp |
token | token, accessToken, bearerToken, jwt, privateAppToken, apiToken, integrationToken (vendor-specific) | databricks, snowflake, hubspot, whatsapp_business, intercom, shopify, snowpipe, zuora, n8n, typeform, webhook, rest_api, plus 4 W16 entries |
none | (none) | csv_upload, slack, microsoft_teams, zapier |
Configuration
Environment variables
The registry itself reads no env vars — the consumer of the connector metadata decides where the secrets come from. In production deployments, secrets typically arrive via:- Connector form — operator pastes the secret in the UI; it is encrypted at rest in
Connector.authConfig(authConfigis never returned in API responses; the list endpoint excludes it from the select clause). - Coming-soon vendor secrets — when the operator wires a real executor for a coming-soon connector, the convention is
<TYPE>_API_KEY(or vendor-specific equivalent), per the stub error message.
Status flag semantics
status: "coming_soon" means: the form definition exists, the connector type is registered, and the executor lookup returns the shared stub. The picker badges and disables the entry so users are not misled.
Honest limits
- Per-connector pages do not exist. This page is the only canonical reference for any single connector. Operators looking for a step-by-step setup guide for one specific vendor should follow the
connectionFields+authFieldshere, then verify with Test Connection. - Coming-soon stubs are loud, not silent. Every coming-soon
testConnection/send/pullreturns{ ok: false, status: 503, error: "coming_soon:…" }. They never silently succeed and never silently return zero rows. hightouch_reverse_etlandcensus_reverse_etlare distinct fromhightouchandcensus. The latter (ready) trigger sync runs by ID; the former (coming-soon) treat the warehouse → SaaS reverse-ETL flow as a dedicated CDP integration. They share vendor names but live as separate registry entries.klaviyoandklaviyo_profileare distinct.klaviyo(ready) sends events to/api/events/;klaviyo_profile(coming-soon) targets the Profiles + Lists API.- Kafka and Confluent are batch pollers. Each pipeline run opens a consumer, polls up to
maxMessagesrecords with the configured wait timeout, commits offsets, and closes. True long-lived streaming requiresexecMode: "streaming"plus a worker deployment gated byFLOW_STREAMING_ENABLED. brazewas previously listed as ready in earlier release notes; the current registry entry carriesstatus: "coming_soon"and the executor resolves to the shared coming-soon stub. Treat the older claim as superseded.
Related
- Data Platform — connector category overview, schema model, pipeline transforms.
- Connectors API — REST endpoints for create / update / delete / test.
- YAML Connectors — define your own connector via YAML when no built-in fits.
- Pipeline IR — wire a connector into a Flow IR pipeline.