How to connect your Twilio number to an AI voice agent
Short answer: You don't need a new number. In ElevenLabs' agent platform, import your existing Twilio number by entering your Twilio account credentials and a label; the system reads the number's capabilities automatically. A purchased Twilio number supports both inbound and outbound agent calls; a verified caller ID (reusing a number you already answer calls on elsewhere) supports outbound only. Assign an agent to the number, make a test call, and check the call log before pointing real traffic at it.
You already have a Twilio number and don't want to change it or start over, you just want an agent answering on it.
I'm Ranjit, and I run Blur Studio: 15+ years building software, 120 apps taken live, and clients who have gone on to raise $10M+. I build AI systems and processes that help businesses do a lot more with a lot less time. I also work differently from most of what else is out there, more on that further down this page. Say hello.
This page may contain affiliate links from which Blur Studio earns commissions.
If you're already running Twilio, there's no reason to provision a new number to add an AI voice agent. ElevenLabs' agent platform imports an existing Twilio number directly, and the setup is short once you have your account details ready. You can see ElevenLabs' current plans if you haven't picked one yet; the number-import step works the same way on every paid tier.
Two ways to connect a number, and why the difference matters
ElevenLabs supports two types of phone number connection, confirmed directly on its own integration docs:
- A purchased Twilio number: supports both inbound and outbound calling through an agent. Use this if you want the agent to both answer incoming calls and place outbound ones on that number.
- A verified caller ID: lets you reuse a number you already answer calls on elsewhere (your existing business line) for outbound agent calls only. It does not support inbound; incoming calls to that number keep going wherever they already go.
Pick the first if the agent is replacing how that number gets answered. Pick the second if you only want the agent to make outbound calls on a number you're still using normally for everything else. A typical outbound use is calling 200 past leads and qualifying them.
One more distinction worth knowing before you connect anything: a standard Twilio phone number (what most people mean by "a Twilio number") is different from a Twilio SIP trunk, which routes calls through your own existing phone system rather than through a Twilio-assigned number directly. The import flow and the capabilities described here apply to standard Twilio numbers. If your setup actually runs through a SIP trunk, test the connection carefully, since some call-handling behavior (particularly around transfers and call endings, covered below) works differently or not at all on a trunk compared to a regular Twilio number.
Step by step
- Have your Twilio account credentials ready (account SID and auth token, or an API key, depending on how your Twilio account is set up).
- In ElevenLabs, go to import a phone number and choose to connect a Twilio number.
- Enter your Twilio credentials and a descriptive label for the number, so you can tell it apart from others later if you add more.
- ElevenLabs automatically detects the number's configuration and capabilities from Twilio, so you don't need to manually declare whether it's inbound, outbound, or both.
- For inbound calls, assign the agent you want answering to that number. For outbound, select the agent, enter the recipient's number, and place the call from the dashboard.
- Make a real test call to the number yourself before pointing live traffic at it, and check the call log afterward to confirm it behaved as expected.
Practical tips
- Don't disconnect your existing Twilio call flow until the agent is tested. If the number was already doing something else in Twilio (an IVR, a forwarding rule), confirm the agent handles the call the way you expect before you remove the old setup entirely, so you have a fallback if something's misconfigured.
- Label numbers clearly if you're connecting more than one. Once you have a few agents on a few numbers, a generic label makes it easy to assign the wrong agent to the wrong number by mistake.
- Test the inbound and outbound paths separately if you've connected a purchased number for both. A number configured correctly for inbound doesn't automatically mean outbound calling is working as expected; check each direction on its own.
A known issue worth testing for: audio cut off on transfer or end-call
If your agent is going to transfer calls to a person or end calls itself (both common once you're past a basic answer-questions setup), test this specifically before trusting it in production. There's a documented behavior where the agent's audio can get cut off mid-sentence the instant a transfer or end-call action fires, meaning the caller might not hear the agent's full closing line ("let me connect you now") before the call actually moves. A workaround exists for standard Twilio Programmable Voice numbers that adds a short delay before the action executes, giving the audio time to finish playing, but it doesn't apply the same way to a SIP trunk setup. If your agent does any transferring or deliberate call-ending, place several test calls specifically checking whether the full sentence plays before the action happens, not just whether the transfer or ending works at all.
A mistake worth avoiding
The most common setup mistake isn't in ElevenLabs at all, it's forgetting that Twilio itself still controls some of the number's behavior, routing rules, geographic permissions, SMS capability, independently of whatever agent you've connected. If a call isn't reaching the agent the way you expect, check the number's own configuration in Twilio first before assuming the agent connection is misconfigured. The two systems work together, but Twilio's own settings still apply underneath whatever ElevenLabs is doing with the call.
Troubleshooting a connection that isn't working
- The agent never picks up. Check the number's call-routing configuration in Twilio first, not the agent settings. If Twilio's own webhook or routing rule for that number still points somewhere other than the agent connection, the call never reaches ElevenLabs at all, no matter how the agent is configured.
- Outbound calls fail to connect. Confirm the number type: a verified caller ID can only make outbound calls, and some outbound call types (depending on your Twilio account's permissions and the destination country) may need specific Twilio-side settings enabled, like international calling permissions, before an outbound agent call will go through.
- The agent answers but can't hear the caller, or vice versa. This usually points to a media or codec mismatch rather than an agent configuration problem, worth checking Twilio's own call logs for the specific call, which often show a clearer error than anything on ElevenLabs' side.
- Calls work in testing but not for real callers. Check whether your Twilio number has any geographic or caller-ID-based routing rules that treat test calls (from your own known number) differently than calls from unknown numbers.
What I'd tell someone doing this for the first time
This is one of the more mechanical parts of setting up a voice agent; the actual connection step is short once you have your Twilio credentials in hand. Where people trip up isn't the connection itself, it's assuming the agent will handle a call exactly like whatever was there before without testing it. Make a handful of real test calls covering normal questions and a couple of odd ones before you consider the number live, and have someone other than the person who built it make at least a few of those test calls, since the builder already knows what to expect and often unconsciously phrases things the way the agent wants to hear them.
Managing several numbers and agents at once
Once you move past a single number and agent, a few habits save real time later. Use a consistent naming convention for labels from the start (location name plus purpose works well, "Downtown - inbound sales" rather than "Line 2"), since a dashboard with a dozen generically labeled numbers becomes genuinely hard to manage correctly under time pressure. Keep a simple outside record, even a shared spreadsheet, mapping each phone number to its Twilio account, its ElevenLabs agent, and who's responsible for it, separate from either platform's own interface. When something breaks at 5pm on a Friday, that record is what lets whoever's on call fix it without needing to reverse-engineer the setup from scratch. If different locations or departments need genuinely different agent behavior (different hours, different scripts, different languages), it's usually cleaner to run separate agents per number than to build one enormous agent trying to branch its behavior based on which number received the call.
How I'd approach this
Connecting an existing number is something most people can do themselves directly on ElevenLabs' dashboard in a few minutes. Where I get involved is when the agent on that number needs to do more than talk, checking a real order, booking into a real calendar, or logging outcomes into a CRM, which means building the connection between the agent and whatever system holds that real data. For a business running several numbers and agents across locations, I'd also set up the shared tracking and the transfer/end-call testing described above as a standard checklist before any new number goes live, rather than discovering an issue on the first real customer call.
Questions people ask
Do I need a new phone number to use an AI voice agent?
No. You can import your existing Twilio number directly, or reuse a number you already own as a verified caller ID for outbound calls only. The agent build itself is covered in building an AI phone agent with ElevenLabs Agents.
What's the difference between a purchased number and a verified caller ID?
A purchased Twilio number supports both inbound and outbound agent calls. A verified caller ID, reusing a number you already answer calls on elsewhere, supports outbound calls only, not inbound.
What do I need ready before connecting my number?
Your Twilio account credentials (account SID and auth token, or an API key) and a label to identify the number once it's connected.
Does ElevenLabs automatically know if my number supports inbound and outbound?
Yes. It detects the number's capabilities from your Twilio configuration automatically when you import it.
Should I test the number before going live?
Yes, always. Make a real test call yourself and check the call log before pointing real customer or lead traffic at the number.
Can I connect more than one number to different agents?
Yes. Label each number clearly as you connect it, since a generic label makes it easy to assign the wrong agent to the wrong number once you have a few set up.
Why does my agent's voice get cut off when it transfers a call or ends it?
This is a documented issue where the audio stops mid-sentence the instant a transfer or end-call action fires. A workaround exists for standard Twilio Programmable Voice numbers that adds a short delay before the action runs, but it doesn't work the same way on a SIP trunk. Test transfers and endings specifically, not just whether they happen but whether the full sentence plays first.
Is a Twilio phone number the same as a Twilio SIP trunk?
No. A standard Twilio number is what most people mean by "a Twilio number," and it's what the import flow in this article covers. A SIP trunk routes calls through your own existing phone system instead, and some call behavior, especially around transfers and endings, works differently on a trunk. Confirm which one you're actually running before assuming this guide applies exactly as written.