7–10 min read
Channels
Updated on: 22/12/2025
Connect a Twilio number for SMS sending and receiving
If you just need the essentials, follow this quick path:
- Create (or sign in to) your Twilio account
- Buy a Twilio number with the right capabilities
- Add the Twilio channel in RapidPro.app (SID + Auth Token + number)
- Test inbound + outbound messages (and check logs)
- Use a Twilio Messaging Service only if you need scale/pooling
This setup is the fastest way to get “one Twilio number → one RapidPro.app channel” working reliably.
Step-by-Step Process
- Open your Twilio Console.
- Create an account or sign in to an existing one.
- Locate your Account SID and Auth Token (you’ll use these in RapidPro.app).
[CAPTURE: Twilio Console dashboard showing where Account SID and Auth Token can be found (blurred).]
- In Twilio, open Phone Numbers.
- Go to Manage → Buy a Number.
- Use Advanced Search to pick the country you need.
- Choose the number type that fits your use case (e.g., toll-free vs local/long code).
- Before purchasing, confirm it supports Inbound SMS (and MMS if required).
- Purchase the number.
[CAPTURE: Twilio “Buy a Number” screen showing capability filters (SMS/MMS/Voice).]
- Open Workspace Settings (gear icon).
- Go to Channels.
- Click + New Channel.
- Select Twilio.
- Enter your Account SID and Auth Token.
- Select the Twilio number you purchased.
- Save.
[CAPTURE: RapidPro.app channel setup screen showing Twilio credentials fields and a number dropdown.]
Validate the integration with a simple end-to-end test:
- Create a simple flow with a Send Message step.
- Start the flow for a real contact number and confirm the SMS is delivered.
- Reply to the SMS from the phone and confirm RapidPro.app receives the inbound message (Messages / contact history).
- If a send fails, open message logs and capture the Twilio error code for troubleshooting.
[CAPTURE: Messages view showing a sent SMS, a reply received, and a link to message delivery/log details.]
A Twilio Messaging Service is optional. You typically need it only when you want to:
- Send at scale using multiple numbers (a pool)
- Apply shared sending policies across many numbers
- Manage advanced sending behaviors (depending on your Twilio setup)
If you’re using a single number for one workspace, connecting that number directly is usually enough.
[CAPTURE: Twilio Messaging Service settings page (optional), shown as a separate configuration from a single phone number.]
Common Issues & Quick Fixes
Messages fail and I need details
Problem: A send fails, but the cause isn’t obvious.
Fix:
- Open the send/message logs for the failed message and locate the Twilio error code.
- Use the error code details to identify the exact resolution path (compliance, permissions, number type, destination format).
- Re-test with one contact after applying the fix.
30034 — US A2P 10DLC: message from an unregistered number
Problem: US messaging compliance blocks sending from your number.
Fix:
- Complete the required A2P 10DLC registration in your Twilio dashboard.
- Confirm your brand/campaign status is approved (or in the required state for your use case).
- Retry sending after registration is complete.
21608 — The “To” phone number is not verified for this account
Problem: Sending is blocked because the destination is not allowed for the account state (commonly trial accounts).
Fix:
- Upgrade to a paid Twilio account.
- If Twilio still requires destination verification for your account state, verify the destination number in Twilio.
- Re-test sending.
30006 — Landline or unreachable carrier
Problem: The destination number can’t receive SMS.
Fix:
- Confirm the contact’s number is a mobile line that supports SMS.
- Check country code and formatting (E.164 format is recommended).
- If you’re sending internationally, confirm your Twilio number/support covers that destination.
Inbound SMS arrives in Twilio but not in RapidPro.app
Problem: Twilio receives replies, but RapidPro.app doesn’t show them.
Fix:
- Confirm the Twilio number is connected to the correct RapidPro.app workspace/channel.
- Avoid conflicting webhook settings on the Twilio number (especially if you also configured a Messaging Service).
- Send a fresh inbound test message and re-check Messages / contact history.
