Sales EngineHow it worksFeaturesSolutionsPricingFAQ Book a demo Ask on WhatsApp
Help Channels

Connect your Exotel account

How to bring your own Exotel phone line so your assistant can answer and place calls on your own number — the credential form, assigning the number to an assistant, and what happens if you never connect one.

Updated 2 September 2026 8 min read

Kooday places and answers calls through Exotel. The account and the per-minute telephony charges stay yours — Kooday does not resell them — and you connect it yourself, from Configuration.

What it actually is

Every assistant already has a voice agent: the part that listens, thinks and speaks. What it did not have, until you connect one, is a phone line — a real number a customer can call, or that your assistant can call out on. Voice in the browser (your website’s “Talk to us” button) works with no phone line at all; only real telephone calls need one.

Connecting your own Exotel account gives every assistant on your account a phone line to be assigned a number from. You do the Exotel side — creating the account, buying a number, generating an API key — and Kooday does the rest: answering the calls that arrive on it, and dialling out from it when an assistant places one.

A five-minute setup

  1. Get an Exotel account and a number, if you do not already have one. The account is yours; sign up directly with Exotel.
  2. Open Phone & voice in Kooday, under Settings in the left-hand menu.
  3. Click Connect Exotel and fill in:
    • Caller ID — the Exotel number itself (the ExoPhone), e.g. 04954267184.
    • API key and API token — from your Exotel account’s API settings. Both are encrypted the moment you save; nobody, including Kooday staff, can read them back afterwards. You will only ever see the token’s last four characters.
    • Account SID and Subdomain — also from Exotel’s API settings (subdomain is usually api.exotel.com).
    • Flow app ID — the Exotel App Bazaar Voicebot flow that should answer this number. Optional here, and it is your account default; if you run several assistants, see “Using a different assistant per flow” below.
    • Webhook secret — optional. If you set one, Kooday uses it to verify that a StatusCallback really came from Exotel before acting on it. Leave it blank to skip that check.
  4. Click Save. The card now shows your caller ID and the token’s last four characters — that confirmation is the only place the secrets ever surface again.
  5. Open the assistant you want to answer this number, go to its Configuration tab, and set Phone number to the ExoPhone number in E.164 format (e.g. +919876543210).

That is the whole connection. The assistant is now reachable at that number.

The credential card, in detail

Where to find it: Settings → Phone & voice.

Before you connect anything, the card says Not configured and offers Connect Exotel. Rotating an existing credential uses the same form, headed Rotate credential instead — this is also how you update a caller ID or API key that changed on Exotel’s side.

The Connect Exotel form: Caller ID, API key, API token, Account SID, Subdomain, and optional Flow app ID and Webhook secret fields.

⚠️ The form only accepts one credential at a time. Saving a new one replaces the old — there is no “add a second Exotel account” today.

The plaintext API key, API token and webhook secret are never shown again after you save them, in the dashboard or anywhere else. If you need to confirm what you entered, the visible fields (caller ID, account SID, subdomain, flow app ID) are non-secret and always shown; the key and token show only as a …last4 hint.

Removing a credential takes it away from every assistant that was dialling through it — click Remove credential and confirm. Numbers already assigned to a bot are not cleared automatically; the bot simply stops being reachable until you connect a credential again or clear the number yourself.

Assigning a number to an assistant

Each assistant’s own Phone number field lives on its Configuration tab, next to its name and language. A few rules the field enforces:

  • Format is E.164 — a leading +, country code, no spaces (+919876543210, not 09876543210 or +91 98765 43210).
  • One number per assistant, and numbers cannot be shared between two of your assistants — assigning a number already in use on another bot is refused.
  • If you have a credential connected, the number must be the one it can dial from — today that means it has to match the Caller ID you entered above. The comparison is normalised (last 10 digits), so it does not matter whether one side is written with a leading +91 and the other without — 04954267184 and +9104954267184 are recognised as the same number. Assigning a genuinely different number is refused with an explanation.
  • If you have not connected a credential yet, the field accepts any correctly-shaped number — there is nothing yet to check it against. Connect a credential as soon as you have one; an unverified number is recorded, but it will not actually ring until Exotel is pointed at it.

Using a different assistant per flow

The Flow app ID on the credential card is your account’s default: unless an assistant says otherwise, that is the App Bazaar Voicebot applet Kooday dials through.

If you want different assistants for different flows — a sales assistant and a support assistant on the same Exotel account, say — create one Voicebot applet per assistant in App Bazaar. Each assistant can then carry its own Flow app ID, which overrides the account default for calls attributed to it; assistants without one keep using the default.

Setting the per-assistant Flow app ID is not in the dashboard yet. The platform supports it, but there is no input for it on the Configuration tab today — ask us and we will set it for your assistants. The account-level Flow app ID on the credential card is editable, and is all a single- assistant account needs.

That is worth knowing because Exotel works differently from Plivo here. With Plivo, Kooday builds the answer address for each call itself and names the assistant in it, so no provider-side setup is needed per assistant. Exotel dials a flow, and the flow is configured in App Bazaar — so the flow is where “which assistant” is decided, and one applet per assistant is how you say it.

You do not need this if you run a single assistant — the account-level Flow app ID covers it.

Worked example

FieldWhat Exotel calls itExample
Caller IDExoPhone04954267184
API keyAPI Keyabcd1234efgh5678
API tokenAPI Token(paste once, never shown again)
Account SIDAccount SIDacme-tours
SubdomainAPI subdomainapi.exotel.com
Flow app ID (optional)App Bazaar → Voicebot applet → App ID1234567
Webhook secret (optional)Your own choice, shared with Exotel’s StatusCallback config(paste once, never shown again)

On the assistant’s Configuration tab, Phone number becomes +9104954267184 — the same ExoPhone, in E.164.

Troubleshooting

The dashboard says “not a number your telephony credential can dial from”

The number you typed on the assistant’s Configuration tab is not the same number as the Caller ID on your connected credential — the comparison ignores formatting (spaces, a leading +, the country code), so this means the DIGITS genuinely differ. Copy the Caller ID from the Phone & voice screen and compare the last 10 digits, then try again.

Calls fail with “No telephony number is connected, or the provider is

unavailable”

This is what a customer-facing caller sees when the assistant they reached has no working phone line. Check, in order: is a credential connected on Phone & voice; does the assistant’s Phone number field match the credential’s Caller ID; and on the Exotel side, is the Voicebot flow pointed at this assistant’s connection URL (see Connecting a channel).

I connected Exotel but Phone & voice still says “not part of your plan”

Bringing your own number needs the telephony capability, which is included from Starter upward — it is not on the free trial or the entry-level Lite plan (those cover website chat and the in-browser voice widget only). Check your current plan on Changing your plan, or talk to us about moving up.

I rotated my API key and now calls fail

A rotation only takes effect for calls placed after you save — nothing is retried against the old key. If Exotel issued you a brand-new key rather than regenerating the existing one, make sure you also update the Account SID and Subdomain if those changed too.

Where to go next

Still stuck? We answer support mail the same working day.

Email support