To add AI calling to Exotel, you keep your Exotel number (ExoPhone) and connect it to an AI voice agent through Exotel's Voicebot Applet, which streams live call audio to the agent over a WebSocket. Exotel carries the call; the AI agent listens, decides and speaks. Setup is about 15 minutes of dashboard work, plus up to one business day if Exotel needs to switch the Voicebot Applet on for your account.
This guide covers the exact credentials you need, the step-by-step setup, how inbound and outbound calls differ, what the whole thing costs, and why "Exotel vs Bolna" is the wrong question.
How does AI calling on Exotel work?
An AI phone call on Exotel is two systems working together:
| Layer | Who provides it | What it does |
|---|---|---|
| Telephony | Exotel | Your +91 number, carrier connectivity, call minutes, recording storage |
| Audio bridge | Exotel Voicebot Applet (part of Exotel's AgentStream) | Streams the caller's audio to the AI agent and plays the agent's reply back, in real time |
| Voice AI | Your voice agent platform (for example Edesy) | Speech-to-text, the LLM that decides what to say, text-to-speech, tools, CRM updates |
Exotel's own documentation describes the Voicebot Applet as bidirectional streaming: Exotel sends the caller's voice to a WebSocket endpoint, and the endpoint sends voice back to be played to the caller. Audio travels as 16-bit, 8 kHz mono PCM encoded in base64 (Exotel Voicebot Applet docs, as of September 2026).
The practical upshot: you do not move numbers, change carriers, or rebuild your call flows. You add one applet to one Custom App, and your existing Exotel number starts talking to an AI agent.
What you need before you start
- An Exotel account with a DID (ExoPhone) and some prepaid balance. Exotel is prepaid, so calls stop when the wallet hits zero.
- Admin access to the Exotel dashboard at my.exotel.com.
- The Voicebot Applet enabled on your account. On many accounts it is not on by default; you request it from Exotel support and it is usually enabled within one business day.
- A voice agent already built on your AI platform, with its greeting and script ready.
Try it yourself: Build this agent free on Edesy — self-serve, no demo needed.
Step-by-step: connect Exotel to an AI voice agent
These steps use Edesy as the voice AI platform. The Exotel side is the same whichever platform you use; only the URL you paste into the applet changes. The full walkthrough with screenshots lives in our Exotel setup documentation.
Step 1: Copy your Exotel credentials
In my.exotel.com, open your profile menu and go to API Settings. Copy four values:
| Field | Notes |
|---|---|
| Account SID | Shown at the top of API Settings |
| API Key | In the API Credentials section |
| API Token | Click Show to reveal; treat it like a password |
| Subdomain | Depends on your account region |
The subdomain matters more than people expect. Mumbai (India) accounts use api.in.exotel.com,
Singapore accounts use api.exotel.com, and US accounts use api.us.exotel.com. A wrong subdomain
is the most common cause of confusing 401 and 404 errors on outbound calls.
Step 2: Add Exotel to your voice agent platform
In Edesy, go to Phone Numbers → Add Phone → Exotel and paste the SID, API Key, API Token, your number in +91 format, and the subdomain (leave it blank for Mumbai, which is the default). Edesy checks the credentials against Exotel's API before saving. Leave the App ID field for now; you will fill it in Step 4.
Step 3: Get the Voicebot Applet enabled
Check App Bazaar → Create Custom App in Exotel. If you see a Voicebot applet in the sidebar, you are ready. If not, email Exotel support with your Account SID and ask them to enable the Voicebot Applet for voice streaming. You can do Steps 1 and 2 while you wait.
Step 4: Create a Custom App with the Voicebot Applet
In App Bazaar, create a Custom App (name it something like "AI Voice Agent"), drag in the Voicebot applet, and set its URL to the WebSocket address your platform gives you. On Edesy it looks like this, with your workspace ID filled in:
wss://voice-agent.edesy.in/ws/exotel?workspace_id=<WORKSPACE_ID>Two details save hours of debugging:
- The URL must start with
wss://, nothttps://. Anhttps://URL is the usual cause of "application error" on inbound calls. - Leave the sample rate at the default 8 kHz. Phone audio is 8 kHz anyway.
Add a Hangup applet after the Voicebot applet so calls end cleanly, then save. Copy the numeric App ID from the browser address bar and paste it into the App ID field from Step 2. Outbound calls need it: without an App ID, Exotel creates the call but never bridges the audio, and it times out as no-answer after about 34 seconds.
One App serves every agent in your workspace. The URL carries only the workspace ID; the specific agent is chosen per call.
Step 5: Assign the App to your number (for inbound calls)
In Exotel, open ExoPhones, edit your number, and select the Custom App you just created. From then on, every call to that number is answered by the AI agent you linked to it in Edesy. If you manage many numbers, Edesy can do this assignment through Exotel's API instead of clicking through each one.
Step 6: Test both directions
Call your Exotel number from any phone: you should hear the agent's greeting within about two seconds, and the call should appear in your call logs. Then place a test call from the agent's page to confirm outbound rings the destination from your Exotel number.
Inbound vs outbound AI calls on Exotel
| Inbound | Outbound | |
|---|---|---|
| Triggered by | A customer dialling your ExoPhone | Your platform calling Exotel's API |
| Exotel-side setup | Custom App assigned to the number | App ID saved with your credentials |
| Which agent answers | The agent linked to that number | The agent chosen for the call or campaign |
| Typical uses | Support lines, order status, appointment booking, after-hours cover | Payment and EMI reminders, COD confirmation, lead callbacks, surveys |
For outbound in India, keep NDNC scrubbing switched on in your Exotel account so numbers on the Do Not Call registry are filtered, and follow TRAI's rules for promotional calls. Our guide to the DND registry and TRAI compliance for voice AI covers what applies to which kind of call.
Outbound at volume is where Exotel plus an AI agent pays off: a campaign can work through a contact list with retries and outcome tracking, while Exotel handles the carrier side. Our AI outbound calling guide covers campaign setup and cost per call.
What does AI calling on Exotel cost?
You pay two separate bills, and it helps to keep them apart:
| Cost line | Paid to | Typical range |
|---|---|---|
| Inbound call minutes | Exotel (prepaid wallet) | Around Rs 0.30-0.50 per minute |
| Outbound call minutes | Exotel (prepaid wallet) | Around Rs 0.85-1.50 per minute |
| Number (ExoPhone) rental | Exotel | Per your Exotel plan |
| AI conversation (STT, LLM, TTS) | Your voice AI platform | Depends on the platform and plan |
Exotel's public pricing page does not list per-minute rates as of September 2026; it routes you to sales, so treat the ranges above as typical contract rates and check your own account. For a deeper telephony comparison, see Twilio vs Exotel for India and our multi-provider telephony comparison.
On the AI side, Edesy offers two routes. You can use Edesy's bundled speech and language models on a plan, or you can bring your own keys for speech-to-text, the LLM and text-to-speech and pay only a Rs 1.5 per minute platform fee. Either way, Exotel keeps billing its own minutes directly, so you never pay a markup on telephony you already own.
Exotel vs Bolna: what people actually mean
"Exotel vs Bolna AI" is a common search, but the two are not competitors in the usual sense. Exotel is a cloud telephony provider. Bolna is a voice AI platform, and Bolna's own documentation describes using Exotel as its telephony provider. In many real deployments they work together.
So the real question is: which voice AI platform should sit on top of your Exotel number? A fair way to decide:
| If you want | Look at |
|---|---|
| An open-source framework you can self-host and modify | Bolna, which publishes its framework on GitHub |
| A self-serve platform with INR pricing, Hindi and Hinglish agents, outbound campaigns with retries, and one Exotel App for all agents | Edesy |
| Deep contact-centre features beyond the AI agent itself | Exotel's own contact-centre products alongside an AI layer |
Whichever you pick, the Exotel side of the setup is the same Voicebot Applet described above. For Bolna's plans and how it compares, see our Bolna AI pricing and alternatives guide.
Common problems and how to fix them
| Symptom | Likely cause | Fix |
|---|---|---|
| Outbound returns a call ID but never rings | App ID missing | Create the Custom App (Step 4) and save its App ID |
| Outbound fails with 401 or 404 | Wrong subdomain or credentials | Match the subdomain exactly to Exotel's API Settings page |
| Inbound says "application error" | https:// URL, or App not assigned |
Use a wss:// URL and assign the App to the number |
| Inbound rings but no AI answers | Voicebot Applet not enabled | Ask Exotel support to enable it |
| Calls suddenly stop | Exotel wallet empty | Top up and set a low-balance alert in Exotel |
Engineers who want the message formats and audio specifications can read the Exotel technical reference. If you are evaluating the integration as a product rather than a setup task, the Exotel integration overview summarises what it supports.
FAQ
Can I keep my existing Exotel number for AI calling?
Yes. You keep your ExoPhone and your Exotel account. You add a Custom App with the Voicebot Applet in Exotel's App Bazaar, point it at your AI voice agent, and assign that App to the number. Your customers dial the same number they always have.
Do I need a developer to connect Exotel to an AI voice agent?
No. The setup is dashboard work: copy four credentials from Exotel's API Settings, paste them into the voice agent platform, create one Custom App with the Voicebot Applet, and assign it to your number. It takes about 15 minutes, plus up to one business day if Exotel has to enable the Voicebot Applet on your account.
Is Exotel vs Bolna a real choice?
Not really. Exotel is the telephony layer that carries the call; Bolna is a voice AI platform that runs the conversation, and Bolna itself documents an Exotel integration. The real decision is which AI platform you put on top of Exotel: Bolna, Edesy, or another voice AI provider.
How much does AI calling on Exotel cost?
You pay two bills. Exotel charges your prepaid wallet for the call minutes, typically around Rs 0.30-0.50 per minute inbound and Rs 0.85-1.50 per minute outbound depending on your contract. The voice AI platform charges for the AI side; on Edesy you can bring your own AI keys and pay only a Rs 1.5 per minute platform fee.
Can the AI agent speak Hindi and regional languages on Exotel calls?
Yes. Exotel only carries the audio, so language depends on the AI platform. Edesy agents handle Hindi, English, Hinglish code-switching and 20+ Indian languages on the same Exotel number.
Start free
You can connect your Exotel number to a working AI agent today without talking to anyone. Sign up and build your first agent in minutes, no sales call needed. Prefer a walkthrough of your Exotel setup? Talk to us.