Twilio
Twilio is a cloud communications platform used to send and receive SMS and MMS, place and record voice calls and conferences, run chat conversations, verify phone numbers and build automated flows in Studio. With Weld you can sync your Twilio data into your data warehouse and report on messaging volume, call quality, conversation activity and usage spend alongside the rest of your business data.
Features
| Feature name | Supported | |
|---|---|---|
| Column Hashing | True | Column level |
| Blocking | True | Column level |
| Incremental | True | |
| Custom data | False | |
| History | True | |
| ReSync | True | Table level |
| Templates | False |
Data Schema
Setup Guide - ELT
Prerequisites
You need your Twilio Account SID plus an API Key SID and API Key Secret. Weld authenticates with an API Key rather than your account-wide Auth Token, because API Keys are individually revocable and can be rotated without affecting your other Twilio integrations. Weld only reads from Twilio — it never sends messages, places calls or writes back in any other way.
Step 1 - Copy your Account SID
- Sign in to the Twilio Console.
- On the account dashboard, copy the Account SID — it starts with
AC.
Step 2 - Create an API Key
- In the Twilio Console, go to Account → API keys & tokens.
- Create a new Standard API Key and give it a name such as
weld. - Copy the SID (starts with
SK) and the Secret.
Twilio shows the API Key Secret only once, at creation time. Copy it before closing the dialog — if you lose it you will have to create a new key.
Step 3 - Create the connection
- In the Weld app, navigate to Connections and click + New Connection.
- Search for Twilio and select it.
- Enter the destination schema name of your choice. This name is used to identify the connection in future syncs.
- Paste your Account SID, API Key SID and API Key Secret.
- Click Connect. Weld verifies the credentials by fetching your account and checking that it is active.
If the connection fails with an authentication error, check that the Account SID and the API Key belong to the same Twilio account, and that the account status is active — Weld rejects suspended and closed accounts.
Step 4 - Data To Sync
Select the tables you wish to include in the sync. You can view the schema, remove columns or hash sensitive information.
The connector covers Twilio's REST API as well as the Conversations, Messaging, Verify, Studio, SIP Trunking and Voice Insights APIs:
- Account and configuration —
account,address,incoming_phone_number,outgoing_caller_id,trunk - Messaging —
message,message_media,messaging_service - Voice —
call,recording,conference,conference_participant,conference_participant_extended_coached_participant - Conversations —
conversation,conversation_message,conversation_message_receipt,conversation_participant,conversation_user,service,role - Studio flows —
flow,flow_definition_state,flow_definition_flag,execution,execution_context,execution_step,execution_step_context - Verify —
verification_service,verification_attempt - Usage —
usage_record
Nested tables come with their parent
Twilio only exposes several of these resources underneath a parent record, so Weld fetches them per parent record and loads them as separate tables alongside it:
| Parent stream | Tables loaded with it |
|---|---|
message | message_media |
conference | conference_participant, conference_participant_extended_coached_participant |
conversation | conversation_message, conversation_message_receipt, conversation_participant |
service | role |
flow | flow_definition_state, flow_definition_flag, execution, execution_context, execution_step, execution_step_context |
Step 5 - Configure sync
- Select how often you would like the data to sync.
- Choose a start date to limit how far back the initial sync goes. If you leave it empty, Weld backfills the last two years for the streams that support date filtering.
- Provide a unique destination table name.
Weld will take over from here and commence syncing data from your Twilio account.