Voice agents
A voice agent talks to people in real time — over the phone or in your app. It's a bot with a speaking voice, a greeting, and call controls, reachable on an inbound number or placed as an outbound call.
Voice & greeting
Pick the agent's speaking voice from the voice catalog (the voices available depend on which providers your workspace has configured). Set a voice greeting — the first thing a caller hears — and the agent takes it from there. The catalog and the bot's TTS settings (tts_provider ∈ cartesia | deepgram, plus a tts_voice) are configured on the bot.
In-call controls
Voice agents support controls that govern how a call behaves:
- End call — let the agent hang up when the conversation is done (
end_call_enabled). - Transfer — hand off to a human or another line (
call_transfer_enabled+call_transfer_number). - Outbound — allow the agent to place outbound calls (
outbound_calls_enabled), with a hard cap on length (max_call_seconds).
These are fields on the bot — set them in the editor or via the Bots API.
Inbound calls
To take inbound calls, map a phone number to the bot. Callers who dial that number reach the agent, hear its greeting, and start a voice conversation. See Voice numbers and the Voice API.
Outbound calls
Place an outbound call from your backend with the Calls API — give it the bot and the number to dial. The call's outcome and transcript show up as a voice conversation you can read with the Conversations API.