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. Acustom 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.
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_callMCP tool that runs an agent graph to a number you specify, with optional context.