Telephony overview
A chat widget only reaches people who are already looking at a screen. A phone number reaches everyone else — the customer in a car, the patient who’d rather talk than type, the caller who found your number on an invoice.
Telephony gives one of your voice-enabled AI Agents a real phone number. Someone dials it, your agent answers, and the two of them have a spoken conversation. No handoff to a human, no menu tree, no “press 1 for sales”.
Exotel is managed for you
qRaptor’s telephony provider is Exotel, and you don’t have an account with them. There are no API credentials to paste, no dashboard to configure, and no separate invoice. You take a number from a pool qRaptor already owns, and it’s billed to your subscription in credits.
The Connection Status card is a live health check against Exotel’s API, refreshed every few minutes. Available (qRaptor Managed) means calls can be provisioned and received right now.
Coverage is India only. The shared Exotel account serves Indian numbers, so the provisioning screen offers one region and the numbers you get are +91….
What happens on a call
Worth understanding once, because it explains most of what you’ll see in the call log later.
Caller qRaptor Your agent
│
│ dials +91…
├──────────────────▶ 1. Which number is this?
│ Looks up the number in your project
│
│ 2. Is this caller allowed?
│ Public → yes. Authorized Only → check the list
│
│ 3. Open a call log entry
│
│ 4. Bridge the audio
│ ◀════ speech ════▶ ├──────── streams audio ────────▶ voice pipeline
│ ◀─────── speech back ────────────┤
│
│ hangs up
└──────────────────▶ 5. Close the entry: duration, outcomeTwo consequences of step 4 are worth knowing up front. The audio is bridged live — there’s no recording stored anywhere. And the duration you see later is how long the conversation lasted, measured from the moment the agent picked up.
What you need
- Starter Starter or above. Free and App Lite don’t include telephony — the Exotel card on the Integrations hub shows an Upgrade badge, and the Exotel pages won’t open.
- A voice-enabled AI Agent. Voice is switched on per agent in the editor — see Modes and Voice configuration.
- An active deployment containing that agent. You attach a number to an agent within a deployment, so the deployment has to exist first. See Production deployments.
- Credits. Each number costs a flat monthly rental, taken from your subscription credits — whether or not anyone calls it.
Build the agent before you buy the number. A provisioned number starts billing immediately, and it bills the same whether it’s answering calls or sitting unattached.
How this section is organised
Setting it up — these three in order.
- Get a phone number — pick one from the pool and provision it.
- Connect an agent — point the number at a deployed voice agent, and place a test call.
- Control who can call — leave it open, or restrict it to a list of numbers.
Understanding it
- Caller identity — who your agent thinks it’s talking to, and what that lets the caller do.
Running it