How it works
Built so the caller never hears dead air.
Phone conversations fail on latency before they fail on intelligence. The design target is a reply within about 800 ms of the caller finishing — and every call records its own per-turn timings, so it is checked, not assumed.
The path of a turn
The fast model decides, every turn.
Every turn is heard by streaming transcription and turn detection. Then the talker either answers straight away, or starts a tool job and keeps talking. Both paths end in streamed speech.
The caller speaks
An inbound call on your number, an outbound call from a campaign or the API, or a test call from the browser.
Answered straight away
Questions, clarifications and small talk are answered from the agent's own knowledge — no tool round-trip in the way.
Reasoner and tools, in parallel
Calendar, CRM or any MCP tool runs asynchronously while the talker says something useful — never dead air, never the same filler twice.
The layers
What happens inside one turn.
Six pieces, each shaving time off the gap between the caller finishing and the agent speaking.
01
Streaming transcription
02
Semantic turn detection
03
Talker and reasoner
04
Speculative prefetch
05
Filler that is not canned
06
Streamed speech
Tool latency classes
Every tool declares how slow it is.
The class decides whether the agent waits, talks while it works, or follows up after the call — so a slow CRM never becomes an awkward silence.
Instant — under ~300 ms
Runs inline: hanging up, opt-out, reading back a detail. No filler needed.
Slow — up to a few seconds
Runs in the background while the talker says something useful. Booking, availability and most MCP tools.
Offline — longer, or needs a human
The agent says what happens next — “I’ll text you the confirmation” — and the result is sent after the call.
per-turn latency · one call
Checked, not assumed
Measured on every call.
Latency claims are cheap. So every call carries its own timings — you see exactly how fast your agent was, turn by turn.
- Design target: a reply within about 800 ms of the caller finishing
- Per-turn latency recorded on every call record
- In the dashboard, and in GET /api/v1/calls/{id}
- Alongside the transcript, outcome, actions and cost
For developers
Set the class per tool.
Register an MCP server and every tool gets a policy: read or write, spoken confirmation, latency class and a timeout. After the timeout, the agent says it could not complete the action.
// Per-tool policy — the latency class decides what the caller hears
{
"kb.search": { "mode": "read", "latency": "instant", "timeout_ms": 1500 },
"crm.create_note": { "mode": "write", "latency": "slow", "timeout_ms": 8000 },
"orders.refund": { "mode": "write", "latency": "slow", "confirm": true }
}FAQ
Latency questions.
See what the runtime includes on the AI phone agent product overview, or how data stays in region on security & Swiss data residency.
How fast does the AI voice agent reply?
Will it cut the caller off mid-sentence?
What does the caller hear while a tool is running?
What if a task takes longer than a phone call should?
Can I test the latency myself?
Talk to it yourself.
The fastest way to judge a voice agent is to interrupt it. Build one, call it from your browser, then read its per-turn timings.