Linking Twilio as a source
Let AI connect your sources for you
Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

This source is currently in alpha. The interface and available tables may change.
Enter your Twilio credentials to pull your Twilio data into the PostHog data warehouse.
Adding a data source
- Go to the sources tab of the data pipeline section in PostHog.
- Click + New source and then click Link next to Twilio.
- Find your Account SID on the Twilio Console dashboard. For the remaining credentials, choose an authentication method:
- API key (SID + secret) – recommended, since it can be revoked independently. Create a Standard API key and copy its
API key SIDandAPI key secret. - Auth token – alternatively, use the
Auth tokenshown alongside your Account SID in the console.
- API key (SID + secret) – recommended, since it can be revoked independently. Create a Standard API key and copy its
- Back in PostHog, enter your Account SID, pick the authentication method, fill in the matching credentials, and click Next.
- Select the tables you want to sync, set the sync method and frequency, then click Import.
- Create the key in the same Twilio account as the Account SID you enter. A key from a parent or sibling account can't authenticate against it.
- PostHog connects to
api.twilio.com, so the account must be in Twilio's defaultus1region. Keys created in another region don't work. - A Standard API key can read every table except
keys. Twilio restricts the Keys resource to your Auth token and to Main API keys, so choose one of those if you want to synckeys.
Once the syncs are complete, you can start using Twilio data in PostHog.
Available tables
| Table | Description | Sync method |
|---|---|---|
messages | SMS, MMS, and other messages | Incremental |
calls | Voice calls | Incremental |
recordings | Call recordings | Incremental |
conferences | Conference calls | Incremental |
addresses | Addresses on the account | Full refresh |
applications | TwiML applications | Full refresh |
incoming_phone_numbers | Phone numbers owned by the account | Full refresh |
keys | API keys on the account. Needs your Auth token or a Main API key | Full refresh |
outgoing_caller_ids | Verified outgoing caller IDs | Full refresh |
queues | Call queues | Full refresh |
transcriptions | Recording transcriptions | Full refresh |
Incremental tables sync only new or updated records on each run. Full refresh tables reload all data on each sync.
Configuration
| Option | Type | Required |
|---|---|---|
Account SID | text | Yes |
Authentication method | select | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
messages | An SMS, MMS, or WhatsApp message sent or received through Twilio. | Incremental, Full refresh | date_sent | — |
calls | A phone call made or received through Twilio. | Incremental, Full refresh | start_time, end_time | — |
recordings | An audio recording of a Twilio call or conference. | Incremental, Full refresh | date_created | — |
conferences | A conference call hosting multiple Twilio call participants. | Incremental, Full refresh | date_created, date_updated | — |
addresses | A geographic address registered on a Twilio account for regulatory compliance. | Full refresh | — | — |
applications | A TwiML application that bundles a set of URLs for handling Twilio voice and messaging. | Full refresh | — | — |
incoming_phone_numbers | A phone number owned by your Twilio account and the handlers configured for it. | Full refresh | — | — |
keys | An API key (SID and secret) used to authenticate requests to the Twilio API. | Full refresh | — | — |
outgoing_caller_ids | A phone number verified for use as an outbound caller ID on the account. | Full refresh | — | — |
queues | A queue holding callers waiting to be connected to an agent. | Full refresh | — | — |
transcriptions | A text transcription of a Twilio call recording. | Full refresh | — | — |
usage_records | Aggregated usage and cost for a single category on the account. | Full refresh | — | — |
verification_services | A Twilio Verify service that groups the settings for a set of verifications. | Full refresh | — | — |
verification_attempts | A single Twilio Verify attempt to deliver a verification code to an end user. | Incremental, Full refresh | date_created | — |