Four multi-agent designs with the configuration that builds each. Every hop is a handoff between agents; for the field reference see that page, and for what each hop carries see context policies.

1. Front desk to specialists

One triage agent answers, finds out what the caller needs and routes. Its prompt says what it does not answer, and each entry’s description names its desk without overlapping the others:
Each specialist’s prompt covers its own desk and does not repeat the routing policy. Give it either a short greeting that assumes the handover (“Billing here — I can see your account”) or no greeting plus a prompt line telling it not to re-introduce the company.

2. Returning to the front desk

A specialist that gets a question outside its desk hands back with an ordinary handoffs entry:
summary with a one-line summary_prompt and recent_turns: 1 gives the front desk the new request without the billing detour. The return edge is an edge like any other, so the channel, pipeline, avatar and expressive rules apply to it. A call allows 25 handoffs; if callers bounce between two desks, their descriptions overlap.

3. Routing on a lookup

Tier, entitlement and ownership are facts about the account, not judgements about what the caller said. Route on them with a tool whose operation tree looks the account up and, inside an if, runs a handoff operation. The agent carries that tool alongside its ordinary handoffs:
Tell the agent to call a tool that may hand over before it starts answering. To route before the agent speaks at all, put the lookup and handoff operation in its on_enter hook; keep the lookup fast, because the caller hears silence while it runs.

4. A cast assembled per call

Use agent_team when the cast genuinely differs per request: a marketplace where each seller has a generated agent, or a campaign that picks a closer per region from your data.
The opener reaches the closer through a handoffs entry named Closer with no agent_id. If the same two agents run on every call, store that edge with agent_id and dial one agent instead.

Constraints across a team

  • Expressive voices. Every target of an agent with tts.expressive on must use the same TTS provider and model with expressive: true. See expressive delivery.
  • Voice and language. Nothing else forces members to share a voice or language. A voice change sounds like a colleague picking up; if that is not intended, give every member the same tts block. A caller speaking Hindi to the front desk should not be answered in English by billing.
  • Latency and cost per hop. Each hop pauses while the target loads (the message covers it), plus the summary-writing pause under summary. The target then pays for whatever context crossed on every turn.
  • Recording. Recording cannot start mid-call. If the answering agent has recording off, nothing is recorded even after a handoff to an agent with it on; the call records a recording.unavailable event. Switching off mid-call works. See recording.

Reading a multi-agent call

See conversations and calls.

Next

Multi-agent triage

The front desk pattern built end to end, with a number answering.

Context policies

Choosing what each hop carries.