Skip to contentSkip to navigationSkip to topbar
Page tools
Useful for sharing or LLM
Accelerate development with AI

On this page
Looking for more inspiration?Visit the

Airtable destination


(new)

Beta

Data Destinations is currently available as a Private Beta product and the information contained in this document is subject to change. Data Destinations is not a HIPAA Eligible Service or PCI compliant and should not be enabled in workflows that are subject to HIPAA or PCI. To learn more, see Private beta legal information.

Airtable(link takes you to an external page) is a collaborative database app that stores structured records in bases and tables you control. This destination sends events into an automatically created table in your own Airtable base.

Destination overview

destination-overview page anchor
  • Category: CRM, Database
  • Release status: Beta
  • Authentication: API token
  • Regional availability: US1
Join the Data Destinations private beta

Get early access to native destinations for data warehouses, observability tools, and event pipelines.

Sign up(link takes you to an external page)

Eligible events

eligible-events page anchor

You can send all event types supported by Event Streams to Airtable. This destination has no user-identifier restriction.

(warning)

Twilio recommends the Airtable destination for subscriptions that generate less than 50 events per second

Airtable enforces hard limits of 5 requests per second and 10 records per request. This results in a limit of 50 events per second. If your subscription generates more than 50 events per second, Twilio retries delivery with backoff.


Before you set up an Airtable destination, make sure you have:

  • An Airtable base that you control: Twilio creates a table in this base the first time you save a subscription. The table includes four fixed columns: event_id, event_timestamp, event_type, and payload. Don't create the table yourself, rename it, or edit its columns. If the table isn't created by Twilio or has unexpected changes to its columns, Twilio might reject further delivery to Airtable because of a schema mismatch.
  • An Airtable Personal Access Token scoped to that base: This token must have the data.records:write, schema.bases:read, and schema.bases:write scopes. To learn more, see the Airtable guide to creating personal access tokens(link takes you to an external page).

(information)

Info

See Set up a destination for the full UI and Destinations API setup flow common to every destination type.

To create an Airtable destination in the Twilio Console:

  1. From your Airtable account, gather the settings listed in Destination settings.
  2. In the Twilio Console, go to Data > Data Destinations > Destinations > Add destination subscription.
  3. Complete the Add destination subscription wizard.

To create an Airtable destination through the Destinations API, send a POST request to the Destinations endpoint and set destinationType to airtable. For authentication and the other request body fields, see Create a destination.

Create a destination

create-a-destination page anchor
POST "https://destinations.twilio.com/v1/ControlPlane/Destinations"

Set the config object in the request body as follows:

NameTypeDescription
baseId
(Required)
stringAirtable base that receives records.
credentials.credentialType
(Required)
stringSet to API_TOKEN.
credentials.token
(Required)
stringYour Airtable personal access token.

The following example shows a request body. Replace the uppercase placeholder values with your own.

1
{
2
"destinationType": "airtable",
3
"name": "My Airtable destination",
4
"config": {
5
"baseId": "BASE_ID",
6
"credentials": {
7
"credentialType": "API_TOKEN",
8
"token": "PERSONAL_ACCESS_TOKEN"
9
}
10
}
11
}

FieldDescriptionRequiredDefault or choices
Personal Access TokenAirtable Personal Access Token. Sent as a bearer token on every request. Sensitive, stored encrypted.YesNone
Base IDThe Airtable base that receives records. Cannot be changed after the destination is created.YesNone

Twilio authenticates to Airtable by using your Personal Access Token, sent as an Authorization: Bearer header on every request. You can rotate your token at any time by updating the destination. Unlike the Base ID, the token isn't locked once the destination is created.


FieldAirtable column
Event IDevent_id
Event timeevent_timestamp
Event typeevent_type
Event payloadpayload (JSON)

Twilio delivers records using the Airtable upsert API, matching on event_id, so a retried or duplicate delivery updates the existing row instead of creating a duplicate one.


Verification and troubleshooting

verification-and-troubleshooting page anchor

When you save an Airtable destination, Twilio verifies your Personal Access Token and confirms your base is reachable before marking the destination active. This check doesn't confirm your token has permission to create tables. Twilio verifies that only the first time you save a subscription, when it attempts to create the destination table.

Twilio doesn't currently offer a way to manually trigger a test event for this destination from either the Console or the CLI. To confirm delivery is working, wait for a real event of a subscribed type to fire.

CauseWhat you'll seeFix
Invalid or revoked Personal Access TokenValidation fails with an auth errorRe-check the token in Airtable and update the destination
Base doesn't exist, or isn't visible to the tokenValidation fails with a resource errorConfirm the Base ID and that the token has access to it
Token lacks table-creation permissionTable creation fails when you save a subscriptionGrant the token the schema.bases:write scope
Table already exists with a different schema (for example, its columns were edited manually)Table creation fails with a resource errorDelete the conflicting table, or use a different base
Airtable rate-limiting your base (5 requests/sec)Delivery errors reported in the DebuggerReduce your event volume, or spread bindings across multiple bases

If Twilio can't deliver events to your table, Twilio sends an error notification to the Debugger (available in US1 region only). If Twilio continues to encounter delivery errors, Twilio notifies you every 20 minutes after the initial error.