Skip to main content
A voice agent is not a different agent. It is the same graph, prompts, tools, traces, and published versions as chat; only the transport changes. Instead of text in and text out, the engine listens and speaks over a phone call.

How a call runs

The phone transport streams live call audio to the engine over a WebSocket in both directions, with realtime speech-to-text and text-to-speech at each end. Caller audio is transcribed to text, the same conversation loop runs, and the reply is synthesized back to speech. The loop, tools, and handoffs are identical to chat. A custom tool, an http_req call, or an agent_swap behaves the same on a call as it does in the browser, because it is the same published graph running on the same engine.

Phone numbers map to agents

Provision numbers in the dashboard under Phone numbers: search available numbers, buy one, and assign it to an agent. (The same actions are available over the API and the MCP tools.) Each number resolves to one agent and one entrypoint version at pickup:
  • Follow the newest published version: leave the version unpinned, and every new call answers on the latest published version.
  • Pin an explicit entrypoint version: lock the number to a specific published version so it does not move when you publish again.
The version is resolved once, at pickup, so nothing about a call can change mid-call. An agent with no published version cannot answer a call (the draft belongs to the builder, not to a caller), so publish a version before you point a number at it.

Inbound and outbound

  • Inbound: a caller dials your number and the mapped agent answers, greeting them on pickup.
  • Outbound: place a call from the API or the create_outbound_call MCP tool that runs an agent graph to a number you specify, with optional context.
Because voice and chat share the same versions, the version discipline in Publishing and versions is what keeps live calls stable while you keep editing. Build the graph once in Agents; ship it to phone and chat from the same publish.