Skip to main content

Overview

The Twilio integration lets your ElasticFunnels automations send SMS and MMS messages, place outbound voice calls with TwiML instructions, start phone-verification flows, and check verification codes. The same Twilio account you connect here also powers the call center module’s outbound dialing.

What you get

The form dynamically lists the phone numbers and Verify services on your Twilio account so you can pick them by friendly name instead of pasting IDs.

Setup

1

Create an API key in Twilio

Log into the Twilio Console. Open Settings → API keys & tokens → Create API key (Standard type). Copy the Key SID and Secret immediately: the secret is only shown once.
2

Copy your Account SID

From the Twilio Console homepage, copy the Account SID.
3

Activate the integration in EF

Go to Integrations → Communications → Twilio. Paste Account SID, API Key, and API Secret. Save.
4

(SMS and voice) Buy a phone number

In Twilio: Phone Numbers → Manage → Buy a number. Numbers purchased here automatically appear in EF’s number picker.
5

(Verification) Create a Verify service

In Twilio: Verify → Services → Create Service. Set the friendly name and channels (SMS, voice, email). The service shows up in EF’s automation actions for Start Verification / Check Verification.
6

(SMS) Add a sender

Open Settings -> SMS -> Senders, click Add sender, pick this Twilio account and one of its numbers or messaging services, then click Configure webhooks. Accept the marketing consent statement on the Compliance tab before sending marketing texts. See SMS compliance.
7

Use it in automations

Open Automations and add a Send SMS step (or any other Twilio action) to a flow. For SMS, set the phone number (a variable such as {trigger.customer_phone}), the type (Marketing or Transactional) and the message. See Send SMS step.

SMS compliance

Every text from the Send SMS step, the automatic STOP, HELP and START replies, and test sends goes through the checks in Settings -> SMS before Twilio sends it: the suppression list, quiet hours, consent, state rules, frequency caps and content checks. Every attempt is logged in Settings -> Logs -> SMS, with the reason when a text was skipped. Replies and delivery reports come back through webhooks with a per-brand secret token. See SMS compliance. The Senders tab with a default local number and a toll-free number, their registration and who answers STOP and HELP

Common patterns

Order receipt SMS

Trigger: a purchase. Step: Send SMS, type Transactional, to the customer’s phone with the order number and tracking link.

Two-factor login

Trigger: Form: submitted (login form), then Twilio: Start Verification, then wait for the user’s input on the next page, then Twilio: Check Verification Code.

Abandoned cart SMS

Trigger: a cart abandon. Condition: the customer’s phone is not empty. Step: Send SMS, type Marketing, with a recovery link. Quiet hours hold it until the recipient’s morning when it fires at night.

Outbound voice (call center)

The Organization Callcenter integration uses your Twilio credentials to place outbound calls from agent dashboards. No additional setup beyond connecting Twilio is required.

Costs

You pay Twilio directly for messages, calls, and verifications based on their per-segment / per-minute pricing. ElasticFunnels does not mark up Twilio usage.

Troubleshooting

Settings, Logs, SMS: a text waiting for quiet hours, one skipped because the number is suppressed, and delivered texts with a warning
US carriers require A2P 10DLC registration for application-to-person traffic. Register your brand and campaign inside the Twilio Console (Messaging -> Regulatory Compliance -> A2P 10DLC) before sending production traffic. The Registration column in Settings -> SMS -> Senders shows the status Twilio reports; click Refresh after a change.
Open Settings -> Logs -> SMS and click the text. Why it was skipped names the check that stopped it, for example a number on the suppression list or the marketing consent statement not accepted yet. See Why a text was skipped.
Check the Verify service has the right channels enabled, the destination country isn’t blocked in your Twilio geo permissions, and your account isn’t in trial mode (trial accounts can only message verified numbers).
The TwiML URL returned an error or invalid TwiML. Open Twilio Console → Monitor → Logs → Errors to see the call’s failure detail.