ExoCall Help

Connect Exotel

Exotel provides your phone line; ExoCall provides the AI that talks on it. Connecting them takes two halves: pasting your Exotel credentials into ExoCall, and pointing your Exotel call flow at ExoCall's audio stream. Budget 10 minutes.

Watch: Add Your Exotel Telephony Credentials

Before you start

You need an active Exotel account (KYC approved) with at least one virtual number — an ExoPhone. If you don't have one yet, sign up at exotel.com first; ExoCall cannot work without it.

Part 1 — Paste your Exotel credentials into ExoCall

  1. 1

    Get your API credentials from Exotel

    In the Exotel dashboard, open Settings → API. Copy the API Key and API Token (create a new key pair if the page is empty).

    Your Account SID is your Exotel subdomain — the part before .exotel.com in your dashboard URL. Example: for mycompany123.exotel.com the SID is mycompany123.

  2. 2

    Enter them in ExoCall

    In ExoCall → Settings → Exotel Integration, paste the API Key, API Token, and Account SID. Set Caller ID to your ExoPhone virtual number with a leading 0 — e.g. 09876500000. This is the number shown to customers on outbound calls.

  3. 3

    Save and copy your WebSocket URL

    Click Save. ExoCall generates your personal WebSocket URL at the top of Settings:

    wss://app.exocall.io/inbound/your-business-slug

    Copy it — you'll paste it into Exotel in Part 2.

Part 2 — Point your Exotel flow at ExoCall

This half happens inside the Exotel dashboard. You are creating a call flow whose job is simple: when a call comes in, stream the audio to ExoCall so the AI can speak.

  1. 1

    Create a call flow (App)

    In Exotel, open App Bazaar and create a new custom app / flow. Give it a name like "ExoCall AI Agent".

  2. 2

    Add the Voicebot / Passthru applet with your WebSocket URL

    Drag in the applet that supports a WebSocket stream (Exotel calls this the Voicebot applet; in the flow editor it sits under Passthru/stream settings). Paste your WebSocket URL — wss://app.exocall.io/inbound/your-slug — as the stream URL and save the flow.

  3. 3

    Assign the flow to your ExoPhone

    In ExoPhones (your virtual numbers), set this new app/flow as the answer flow for your number. From now on, every call to that number is answered by your ExoCall AI agent.

  4. 4

    Copy the Flow URL back into ExoCall

    Open the flow you just created and note its numeric ID, then in ExoCall → Settings → Exotel Integration fill the Flow URL field:

    http://my.exotel.com/YOUR_SID/exoml/start_voice/FLOW_ID

    ExoCall uses this URL to place outbound calls (campaigns, callbacks, API calls) through the same AI flow.

  5. 5

    Test both directions

    Inbound: call your ExoPhone from your mobile — the AI should answer with your greeting.

    Outbound: in ExoCall, use the outbound call option with your own number as the lead — your phone should ring, and the AI speaks when you pick up. Both calls appear in Call Logs with analysis about a minute after they end.

Recordings are stored by Exotel, fetched by ExoCall

Call recordings stay on Exotel's storage. ExoCall fetches them with your API credentials to play them in the dashboard and run audio analysis — so if you rotate your Exotel API keys, update them in ExoCall Settings too, or recordings and audio analysis will stop working.

Common questions

Where do I find my Exotel API key, token, and SID?

Log in to the Exotel dashboard and go to Settings → API. The API Key and API Token are shown there (create a key pair if none exists). Your Account SID is your Exotel subdomain — the name in your dashboard URL, e.g. "mycompany123" in mycompany123.exotel.com.

What is the Caller ID in ExoCall settings?

It is your Exotel virtual number (ExoPhone) — the number your customers see when the AI calls them, entered with a leading 0 (e.g. 09876500000). It must be a number active on your Exotel account.

What is the WebSocket URL used for?

The WebSocket URL (wss://app.exocall.io/inbound/your-slug) is how Exotel streams live call audio to ExoCall's AI. You paste it inside your Exotel flow's Voicebot/Passthru applet. Without it, calls reach Exotel but never reach the AI.

Why does ExoCall need the Flow URL?

The Flow URL (http://my.exotel.com/YOUR_SID/exoml/start_voice/FLOW_ID) tells ExoCall which Exotel flow to run when it places outbound calls — campaigns, callbacks, and API-triggered calls all use it. The FLOW_ID is the numeric ID of the same flow that contains your WebSocket applet.