Skip to main content

Twilio

Twilio is a cloud communications platform that lets applications programmatically send and receive SMS, MMS, and WhatsApp messages, make and monitor voice calls, and look up and manage phone numbers. Its REST API organizes these capabilities around resources such as Messages, Calls, and Incoming Phone Numbers, each scoped to a Twilio account and authenticated with that account's credentials. Businesses commonly use Twilio for two-factor authentication codes, appointment reminders, customer notifications, and voice-based alerting.

Twilio icon

Power end-to-end data operations for your Twilio API with Nexla. Our bi-directional Twilio connector is purpose-built for Twilio, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Twilio or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Twilio workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Twilio credential in Nexla, you need your Twilio Account SID and Auth Token. Twilio authenticates REST API requests using HTTP Basic Auth, with the Account SID as the username and the Auth Token as the password.

To obtain your credentials:

  1. Sign in to the Twilio Console at console.twilio.com, or sign up for a free trial account if you don't already have one.

  2. On the Console dashboard, locate the Account Info panel. Your Account SID is displayed there directly.

  3. The Auth Token in the same panel is hidden by default. Click the eye/Show icon next to it to reveal the value.

  4. Copy both values and store them securely.

Treat your Auth Token like a password — anyone with it can access and modify resources in your Twilio account. Twilio recommends using a scoped API Key (Account > API keys & tokens) instead of the primary Auth Token for production applications, since API Keys can be created, limited in scope, and revoked independently of your Auth Token. If your Auth Token is compromised, you can regenerate it from the Console. For more information, see the Twilio Auth Token documentation and Twilio's guidance on rotating Auth Tokens.

Authenticate

Credentials required

Authenticate using your Twilio Account SID (username) and Auth Token (password) via HTTP Basic auth. Suitable for testing; prefer API Key auth for production.

FieldRequiredSecretDescription
Account SIDYesNoYour Twilio Account SID. Found on the Twilio Console Dashboard.
Auth TokenYesYesYour Twilio Account Auth Token. Found on the Twilio Console Dashboard. Treat as a password and never commit to source control.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your Twilio Account SID in the Account SID field. This is the value you copied in Prerequisites from the Account Info panel of the Twilio Console.

  4. Enter your Twilio Auth Token in the Auth Token field. This is the value you revealed in the Account Info panel of the Twilio Console. The Auth Token is sent as the password in HTTP Basic authentication for all API requests.

    If your Auth Token is compromised, regenerate it immediately from the Twilio Console and update the credential in Nexla. The Auth Token grants full access to your Twilio account and should be treated as sensitive information.

    For more information about Twilio authentication, see the Twilio IAM API documentation and Twilio Auth Token documentation.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Twilio connector tile, then select the credential that will be used to connect to your Twilio account, and click Next; or, create a new Twilio credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Twilio endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Messages (SMS / MMS / WhatsApp)

Retrieve the full message log for an account — inbound and outbound SMS, MMS, and WhatsApp messages with delivery status, pricing, direction, and body. Use this endpoint as the primary analytics source for messaging data.

  • Date Sent From — Filter messages sent on or after this date (GMT). Format: YYYY-MM-DD. Default: 7 days ago.
  • Date Sent To — Filter messages sent on or before this date (GMT). Format: YYYY-MM-DD. Default: today.
  • Filter by Recipient (To) — Optional. Return only messages sent to this phone number in E.164 format (e.g., +14155551234). Leave blank for all.
  • Filter by Sender (From) — Optional. Return only messages sent from this phone number or Messaging Service SID. Leave blank for all.

Response data is extracted from $.messages[*]. Nexla pages through results automatically, up to 1,000 rows per page. For details on request parameters and response fields, see the Twilio Message Resource documentation.

List Calls

Retrieve the voice call log — inbound and outbound calls with status, duration, direction, pricing, and caller/callee numbers. Use this endpoint for call analytics, SLA monitoring, and call-quality pipelines.

  • Start Time From — Filter calls that started on or after this date (GMT). Format: YYYY-MM-DD. Default: 7 days ago.
  • Start Time To — Filter calls that started on or before this date (GMT). Format: YYYY-MM-DD. Default: today.
  • Status Filter — Optional. Filter calls by status. Accepted values: (blank, all), queued, ringing, in-progress, completed, busy, failed, no-answer, canceled. Leave blank to retrieve all statuses.

Response data is extracted from $.calls[*]. Nexla pages through results automatically, up to 1,000 rows per page. For details on request parameters and response fields, see the Twilio Call Resource documentation.

List Incoming Phone Numbers

Retrieve all Twilio phone numbers provisioned on the account, with capabilities (SMS, voice, MMS, fax), friendly names, and routing configuration. Use this endpoint for number inventory audits and capability-aware routing logic.

  • No additional configuration parameters are required for this endpoint.

Response data is extracted from $.incoming_phone_numbers[*]. Nexla pages through results automatically, up to 1,000 rows per page. For details on response fields, see the Twilio Incoming Phone Number Resource documentation.

Usage Records

Retrieve aggregated usage and cost data by category (SMS, calls, recordings, and more) for a given date range. Use this endpoint for billing reconciliation, cost analytics, and spend-forecasting pipelines.

  • Start Date — Include usage on or after this date. Format: YYYY-MM-DD. Default: 30 days ago.
  • End Date — Include usage on or before this date. Format: YYYY-MM-DD. Default: today.
  • Usage Category — Filter by usage category, such as sms-inbound, sms-outbound, mms-inbound, mms-outbound, calls-inbound, calls-outbound, recordings, transcriptions, verify-push, or phonenumbers-local. Leave blank for all categories. Default: sms-inbound.

Response data is extracted from $.usage_records[*]. Nexla pages through results automatically, up to 1,000 rows per page. For the complete list of usage categories and response fields, see the Twilio Usage Record documentation.

Lookup Phone Number

Enrich a phone number with carrier, line-type (mobile/landline/VoIP), and caller-name data via the Twilio Lookup API. Use this endpoint for data quality validation and contact enrichment pipelines.

  • Phone Number (required) — The phone number to look up, in E.164 format (e.g., +14155551234). URL-encode the leading + as %2B if passing it as a query parameter.

This endpoint calls the separate Lookup API host (lookups.twilio.com) rather than the main api.twilio.com host used by other Twilio endpoints, requesting both carrier and caller-name data. Response data is extracted from the root of the response ($). For details, see the Twilio Lookup API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Twilio data sources can also be manually configured to ingest data from any valid Twilio REST API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Twilio data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Twilio destination, and select the Send to Destination option from the menu. Select the Twilio connector from the list of available destination connectors, then select the credential that will be used to connect to your Twilio account, and click Next; or, create a new Twilio credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Twilio endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Send Message (SMS/MMS/WhatsApp)

Send an outbound SMS, MMS, or WhatsApp message. Supports single-record writes from any Nexla dataset.

  • Each record from the source Nexset is sent as a separate request. The record must contain To, From (or MessagingServiceSid), and Body fields, matching the parameters accepted by Twilio's Message resource.

This endpoint sends data as application/x-www-form-urlencoded to create a new Message resource. For details on request parameters and response fields, see the Twilio Message Resource documentation.

Make Outbound Call

Initiate an outbound phone call. Use this endpoint for automated voice notifications, IVR triggers, and alert escalation workflows.

  • Each record from the source Nexset is sent as a separate request. The record must contain To and From fields, plus either a Url (pointing to a TwiML webhook that controls the call) or an ApplicationSid, matching the parameters accepted by Twilio's Call resource.

This endpoint sends data as application/x-www-form-urlencoded to create a new Call resource. For details on request parameters and response fields, see the Twilio Call Resource documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to send a test payload and verify that the destination is configured correctly before saving.

Manual configuration

Twilio destinations can also be manually configured to send data to any valid Twilio REST API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Twilio's Messages and Calls resources expect form-encoded (application/x-www-form-urlencoded) request bodies rather than JSON. Map the fields of each incoming record to the parameter names expected by the target resource (for example, To, From, Body).

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Twilio endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Twilio endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.