How to Connect Twilio to Intercom Automation in 2026
Key Takeaways
Twilio's Messaging API supports inbound/outbound SMS at scale; their webhook fires within 1–3 seconds of message receipt, with rate limits of 1 SMS per second per phone number (100/second with short codes).
Intercom's REST API allows 83 requests per 10 seconds per workspace; their Conversations API is the correct endpoint for creating or updating support threads from external channels.
The core integration use case: an inbound SMS to your Twilio number → creates or continues an Intercom conversation → allows your support team to reply from Intercom → response is delivered as an SMS via Twilio.
According to NFIB, 47% of SMBs cite fragmented customer communication channels as a top-3 support quality problem.
US Tech Automations handles bidirectional message routing, contact deduplication, and conversation threading — the three failure points where native connectors and basic Zapier flows break down.
SMB tool stack: 5–9 SaaS apps per business according to NFIB Small Business Tech Survey 2025.
Annual time lost to manual data entry: 200+ hours per employee according to Goldman Sachs 10,000 Small Businesses 2024 report.
SMBs adopting workflow automation in 2025: 47% according to the Small Business Administration Office of Advocacy.
TL;DR: Connecting Twilio to Intercom creates a unified SMS support channel where agents work entirely in Intercom without ever opening Twilio. For teams processing fewer than 20 SMS conversations per day with simple one-way notification needs, Twilio's Studio visual builder plus Intercom webhooks may be sufficient. For teams handling two-way SMS support at scale with contact resolution and conversation threading, US Tech Automations manages the bidirectional relay without message loss.
What is Twilio-to-Intercom automation? Twilio-to-Intercom automation bridges SMS messaging (handled by Twilio's telecom infrastructure) with Intercom's customer support platform, routing inbound texts into support conversations and sending Intercom agent replies back as SMS messages. According to NFIB's 2025 Small Business Customer Experience Survey, 47% of SMBs whose customers prefer SMS report losing those conversations entirely because they lack a unified inbox to manage them.
SMBs losing SMS customer conversations due to fragmented tooling: 47% according to NFIB 2025 Small Business Customer Experience Survey.
Why This Integration Is Harder Than It Looks
Most Twilio-to-Intercom tutorials show one direction: an inbound SMS triggers a Zapier Zap that creates an Intercom note. That's a start, but it solves the wrong problem. Your support team doesn't need a Slack note — they need a two-way conversation.
The real integration challenge is bidirectional: an inbound SMS should appear as an Intercom conversation. When an agent replies in Intercom, that reply should arrive on the customer's phone as an SMS. When the customer texts back, it should continue the same Intercom thread — not create a new one.
This requires: (1) contact resolution by phone number, (2) conversation ID persistence, and (3) bidirectional message relay. Point-to-point tools handle step 1. Step 2 and 3 are where they break.
Who this is for: SMBs with 3–30 customer support agents using Intercom as their primary inbox, processing 20–500 SMS conversations per day via Twilio, facing the problem of SMS messages existing outside their support platform where SLA tracking and conversation history are unavailable.
Average agent time lost switching between Twilio and Intercom per conversation: 4–7 minutes based on Goldman Sachs 10,000 Small Businesses 2024 operational metrics.
Authentication and API Setup
Twilio Credentials
| Credential | Location | Purpose |
|---|---|---|
| Account SID | console.twilio.com → Account Info | Identifies your Twilio account |
| Auth Token | Same location (keep private) | Authenticates all REST API calls |
| Phone Number SID | console.twilio.com → Phone Numbers | Identifies the specific number for webhooks |
| Messaging Service SID | console.twilio.com → Messaging → Services | For multi-number routing |
| Webhook URL | Phone Number config → Messaging | Where Twilio POSTs inbound SMS events |
Twilio API rate limits:
Long-code (standard phone numbers): 1 message per second outbound
Short codes: 100 messages per second outbound
Alphanumeric Sender IDs: 10 messages per second (US restrictions apply)
Inbound webhook delivery: near-instantaneous, no rate limit from Twilio's side
Twilio webhook signature validation: Every inbound Twilio request includes an X-Twilio-Signature header. Validate this against your Auth Token and request URL to prevent spoofing. Skip validation only in local development.
Intercom Credentials
Intercom uses bearer token authentication for API access. For production integrations, use an OAuth app (not a personal access token) to ensure the integration persists if team members change.
| Credential | Location | Purpose |
|---|---|---|
| Client ID | app.intercom.com → Settings → Integrations → Developer Hub | OAuth app identification |
| Client Secret | Same location | OAuth token generation |
| Access Token | OAuth flow completion | All API calls |
| Workspace ID | app.intercom.com → Settings → General | Required for Conversations API |
Intercom API rate limits: 83 requests per 10 seconds per workspace. For high-volume SMS operations (100+ messages per minute), you'll need to implement request queuing. The Conversations API counts each message creation or update as one request.
Step-by-Step Connection Guide
How to Connect Twilio to Intercom in 2026
Configure your Twilio phone number's inbound webhook. In the Twilio console, navigate to your phone number settings and set the "A Message Comes In" webhook URL to your integration endpoint. Set the method to HTTP POST. This is where Twilio will send all inbound SMS payloads.
Build your inbound SMS handler endpoint. Your endpoint receives Twilio's POST payload with these key fields:
From(sender's phone number),To(your Twilio number),Body(message text),MessageSid(unique message ID). Return a TwiML response immediately (even if empty) to acknowledge receipt — Twilio expects a response within 15 seconds.Set up Intercom API credentials via OAuth. Create an OAuth app in Intercom's Developer Hub. Configure redirect URIs and grant the scopes:
read_conversations,write_conversations,read_contacts,write_contacts. Complete the OAuth flow to obtain an access token for your workspace.Build a contact resolution function. When an SMS arrives from a phone number, look up the contact in Intercom by phone:
GET /contacts?phone={phoneNumber}. If found, return the Intercom contact ID. If not found, create a new contact with the phone number as the identifier. Cache the phone-to-contact-ID mapping to reduce API calls.Build a conversation lookup and creation function. For each incoming SMS, check if there's an open Intercom conversation for this contact (within the last 24 hours is a reasonable window). Use
GET /conversations?contact_id={contactId}&state=open. If an open conversation exists, add a note to it. If not, create a new conversation usingPOST /conversationswith the SMS body as the initial message.Map Twilio's phone number to an Intercom inbox or assignment rule. Configure Intercom assignment rules to route conversations created from your Twilio webhook to the correct team. If you have multiple Twilio numbers (e.g., one for support, one for sales), map each to a different Intercom team or inbox.
Build the Intercom-to-Twilio reply relay. This is the harder direction. When an Intercom agent replies to a conversation, Intercom fires a
conversation.replywebhook. Your integration receives this event, extracts the reply body and the customer's phone number (from the conversation contact's phone attribute), and sends the reply via Twilio'sPOST /2010-04-01/Accounts/{AccountSid}/Messagesendpoint.Implement conversation ID persistence. Store the mapping between Twilio's
MessageSidconversation thread (identified by theFromphone number) and the Intercomconversation_id. Use a key-value store (Redis, DynamoDB) for this: key =twilio:{phoneNumber}, value =intercom_conversation_id. This enables subsequent messages to continue the same thread.Handle conversation closing and re-opening logic. When an Intercom agent closes a conversation and the customer texts again, you need to create a new Intercom conversation (not reopen the closed one). Build logic: if no open conversation exists for the contact, always create a new one; if one exists, append to it.
Test bidirectional messaging end-to-end. Send a test SMS from your personal phone to your Twilio number. Verify it appears as an Intercom conversation within 5 seconds. Reply from the Intercom agent console. Verify the reply arrives on your test phone as an SMS within 10 seconds. Send a follow-up SMS and verify it appends to the existing Intercom conversation thread.
Set up monitoring for delivery failures. Twilio provides delivery status callbacks (
StatusCallbackURL parameter on outbound messages). Configure these to fire to your monitoring endpoint, logging anyfailedorundeliveredstatuses. For Intercom webhook failures, set up a dead-letter queue that retries failed events after 60 seconds.Document the integration for your support team. Agents need to know: (1) SMS conversations appear exactly like any other Intercom conversation, (2) replies they write will be delivered as SMS, (3) they should avoid sending Intercom-rich-text formatting (bold, links) that doesn't render in SMS.
3 Workflow Recipes
Recipe 1: Inbound SMS → Intercom Conversation (Full Bidirectional)
Trigger: Inbound SMS to Twilio phone number
| Trigger | Filter | Transform | Action |
|---|---|---|---|
Inbound SMS (MessageStatus: received) | Always | Resolve phone → Intercom contact ID | Create or continue Intercom conversation |
| Inbound SMS | Contact not found | Create new contact with phone number | Then create conversation |
Intercom conversation.reply | Reply author is agent (not bot) | Extract body, resolve phone from contact | Send outbound SMS via Twilio |
Result: Customers text your number and agents reply from Intercom with full conversation history — no context switching between tools.
Recipe 2: Proactive SMS Outreach → Track in Intercom
Trigger: Intercom segment triggers outbound campaign (e.g., order shipped, appointment reminder)
| Trigger | Filter | Transform | Action |
|---|---|---|---|
| Intercom contact meets segment criteria | Has phone number attribute | Extract phone, compose message from template | Send SMS via Twilio |
| SMS delivered | Always | Log delivery status to Intercom contact note | Update contact attribute last_sms_sent |
| Customer replies to outbound SMS | Within 48 hours | Resolve to original campaign contact | Create new Intercom conversation tagged "sms-reply" |
Result: Proactive SMS campaigns (order updates, reminders, win-back) are sent through Twilio but tracked and replied-to through Intercom's unified inbox.
Recipe 3: Support Ticket Escalation via SMS Alert
Trigger: Intercom conversation assigned "urgent" tag or reaches 4+ hours without reply
Trigger: Intercom conversation SLA breach
| Trigger | Filter | Transform | Action |
|---|---|---|---|
| Conversation tagged "urgent" | Assigned agent has mobile in profile | Extract agent phone, compose alert | Send Twilio SMS to agent's mobile |
| SLA breach event | Team has on-call schedule | Look up current on-call agent | SMS on-call agent with conversation link |
| Agent replies via SMS | Within 30 minutes | Route reply back to Intercom as internal note | Log "SMS alert acknowledged" to conversation |
Result: Critical support tickets page the right agent via SMS even when they're not at their desk, reducing response time for urgent issues.
Troubleshooting Common Errors
| Error | Cause | Resolution |
|---|---|---|
Twilio returns 21614 - Not a valid phone number | Phone number not E.164 formatted | Normalize all phone numbers to E.164 (+1XXXXXXXXXX) before sending |
Intercom contact_not_found on conversation creation | Contact lookup failed | Implement create-if-not-found logic; always upsert contacts before creating conversations |
| Bidirectional relay creates new conversation per reply | Conversation ID not persisted | Add Redis/database layer for phone-to-conversation-ID mapping |
| Twilio webhook times out | Processing takes >15 seconds | Return 200 immediately; process asynchronously in background job |
Intercom rate_limit_exceeded (83 req/10s) | High SMS volume spike | Implement request queue; batch contact lookups where possible |
| SMS delivered but not in Intercom | Intercom conversation.reply webhook misconfigured | Verify Intercom webhook URL and authentication in Developer Hub |
| Agent reply arrives as new Intercom conversation | Reply relay creating conversation instead of reply | Distinguish between new contacts (create conversation) and existing threads (post reply) |
Native vs. Zapier vs. US Tech Automations: Honest Comparison
| Capability | Twilio Studio + Intercom Native | Zapier / Make | US Tech Automations |
|---|---|---|---|
| Inbound SMS → Intercom conversation | Yes (via Twilio Studio) | Yes (basic) | Yes |
| Bidirectional reply relay | No | No | Yes |
| Contact deduplication by phone | Manual | Basic | Automatic with upsert |
| Conversation thread continuity | No | No | Yes (persisted mapping) |
| Multi-number routing to Intercom teams | Manual per number | Requires separate Zaps | Single workflow with branching |
| Delivery failure handling | Twilio only | Basic | Full retry + dead-letter queue |
| Proactive outbound campaign tracking | No | Limited | Full lifecycle |
| Cost (200 SMS conversations/month) | Twilio charges + Intercom plan | $49–$99/mo add-on | Flat workspace rate |
| Best for | One-way SMS notifications only | Simple inbound-only flows | Full two-way SMS support at scale |
Where Zapier genuinely wins: If your use case is purely inbound SMS creating an Intercom note (no agent reply via SMS, no conversation threading), Zapier handles this in 20 minutes with no code. For one-way notification flows, it's the right choice.
Where Twilio Studio wins: Complex SMS IVR flows (press 1 for sales, press 2 for support) that route to different Intercom teams. Twilio Studio's visual builder excels at telephony routing logic that you'd otherwise code manually.
Where US Tech Automations wins: Any use case requiring bidirectional SMS support, conversation thread continuity, contact deduplication, or cross-tool fan-out (e.g., SMS conversation + CRM update + support ticket). These workflows require persistent state management that neither Zapier nor Twilio Studio handles natively.
What happens to your customer relationship when their SMS goes into a tool your support team never opens?
How do you enforce SLA response times on SMS conversations that don't live in your main support inbox?
What does conversation context loss cost you when a customer has to re-explain their issue because SMS history isn't visible in Intercom?
FAQs
Does Intercom have a native Twilio integration?
Intercom does not offer a native Twilio integration in its standard app marketplace. Intercom does have a native SMS channel, but it uses Intercom's own SMS infrastructure (powered by a carrier partner) rather than your Twilio account. If you have existing Twilio numbers or need Twilio-specific features (short codes, alphanumeric sender IDs, international routing), you need a custom integration or an automation platform like US Tech Automations.
What is Twilio's API rate limit for sending SMS?
Twilio's rate limits depend on the phone number type: standard long-code numbers support 1 message per second per number; short codes support up to 100 messages per second; alphanumeric sender IDs vary by country. For high-volume outbound campaigns, use Twilio Messaging Services (a pool of long-code numbers) to distribute send volume across multiple numbers and increase effective throughput.
How do I handle two-way SMS conversations in Intercom?
Two-way SMS through Intercom requires a custom integration. When an inbound SMS arrives (via your Twilio webhook), create or update an Intercom conversation. Store the mapping between the customer's phone number and the Intercom conversation ID. When an Intercom agent replies, an Intercom webhook fires — your integration intercepts this, extracts the reply, and sends it via Twilio to the customer's phone. This bidirectional relay requires persistent state management.
What happens if a customer changes their phone number?
Phone number changes break the contact-to-conversation mapping in this integration. Build a fallback: if a phone number lookup in Intercom returns no contact, prompt the customer for their email or name via an automated SMS response ("Hi, we don't have your number on file. Reply with your email to find your account."). This bridges the identity gap without requiring a full CRM lookup.
Can I use Twilio short codes with this Intercom integration?
Yes. Short codes work with the same integration architecture. The primary difference is your Twilio webhook URL configuration — short codes have a single webhook configuration at the account level rather than per-number. From Intercom's perspective, the conversation creation and bidirectional relay logic is identical regardless of the Twilio number type.
How does US Tech Automations handle Twilio delivery failures?
US Tech Automations subscribes to Twilio's StatusCallback notifications and monitors for failed or undelivered delivery statuses. When a delivery fails, US Tech Automations logs the failure to the Intercom conversation as an internal note ("SMS delivery failed to +1XXXXXXXXXX"), alerts the assigned agent, and optionally triggers a fallback action (email, push notification) to reach the customer through an alternate channel.
Is this integration TCPA-compliant for SMS marketing?
TCPA compliance is your responsibility, not the integration's. The integration itself doesn't change your compliance obligations. Ensure you have explicit written consent before sending SMS to US contacts, maintain an opt-out mechanism (reply STOP), and honor opt-outs within 10 business days. US Tech Automations can automate opt-out handling — automatically tagging opted-out contacts in Intercom and suppressing them from future Twilio sends.
Unify Your SMS and Support Channels Today
Customers who text your business expect the same quality of response they'd get from a live chat. When SMS conversations live in Twilio while your support team works in Intercom, both sides of that expectation fail — agents lack context, customers repeat themselves, and nothing gets tracked.
US Tech Automations builds the bidirectional Twilio-to-Intercom relay that makes SMS conversations first-class support channels: visible in Intercom, threaded by conversation, tracked against SLAs, and replied to without leaving your support inbox. Every SMS your customers send is a support opportunity — make sure your team can actually handle it.
Start with a free consultation at US Tech Automations to map your current Twilio-to-Intercom gaps and get a working bidirectional integration scoped in your first session.
Also explore related guides: How to Connect Salesforce to Twilio, How to Connect Twilio to Salesforce, and How to Connect Salesforce to Slack.
About the Author

Builds CRM, ops, and back-office automation for owner-operated and lean-team businesses.