Skip to main content
A voice AI agent answers or places real phone calls and carries the conversation end to end — greeting the caller, understanding speech, deciding what to do next, speaking back, and calling your tools when it needs data or an action. Build it once and it handles inbound calls to your numbers, outbound outreach you dispatch from the API, and live handoff to a human when the conversation needs one. This page introduces the concept and the pieces a voice agent is made of, then points you to the shortest path for your first call. Everything it references ships in the product today.

What a voice agent is

A voice agent is a regular Orbit agent whose channel of work is the phone. On create you attach a system prompt, optional knowledge bases, and the tools it may call; the runtime takes it from there. There is no separate “voice SDK” to wire — the phone call lands on the Orbit voice pillar and the agent answers it. What changes for voice is timing. The caller hears delays, so every turn has to complete in well under a second of speaking time and the agent must handle being interrupted. The Orbit voice runtime manages barge-in and turn-taking for you; your prompt and tools stay the same as for a text agent.

How a call moves through the stack

Each spoken turn passes through a managed media pipeline:
Orbit runs the whole pipeline behind a single voice endpoint — you never provision a speech service or a separate AI vendor yourself. From (step 1 of the Voice quickstart) the four stages resolve on production-grade providers, and the agent’s reasoning runs on the same runtime that powers text agents, so conversation flows, memory, and tool calls behave the way you already know. The call itself — from ringing to hangup — follows a deterministic state machine (queued → initiated → ringing → answered → completed or a failure outcome). Read Voice call lifecycle once and every webhook you receive will make sense.

Inbound: the agent answers your number

For inbound, you route a phone number you own to the agent. Every caller to that number is greeted and served by the agent. The shortest end-to-end walkthrough is the Voice quickstart — claim a trial number, attach your agent, and call it from any phone.

Outbound: the agent dials a list

For outbound, you request a call over POST /voice/calls with an agent_id. The dial is placed only after the recipient’s compliance gates pass — quiet hours, do-not-call, and AI-voice consent run before anything rings, and a rejected call is never billed. For more than a handful of recipients you run a dialer campaign rather than per-call API dials. See Outbound calls with an AI voice agent for the request schema and error matrix.

Human handoff when the conversation needs one

A voice agent is not a dead end — you can let a caller reach a person, or have the agent escalate on its own when its confidence or policy says so. The full transfer flow, including warm handoff to a specific queue or colleague, is covered in AI agent handback. Set the targets the agent is allowed to reach in handoff targets.

Where to go next

When you’re past the introduction, the AI agents overview page indexes everything else the agent runtime can do; the voice-specific state machine lives under Voice call lifecycle.