Squads overview
Multi-agent workflows — conversation voice handoffs and process API invoke
Squads
Squads let you break a complex workflow into specialized agents that hand off to each other. Each agent keeps a focused prompt, its own tools, and a clear job — instead of one mega-assistant with conflicting instructions.
Why use a squad?
Large all-in-one agents with long prompts and many tools tend to:
- Hallucinate more — the model loses focus across conflicting goals
- Cost more — longer prompts burn tokens on every turn
- Respond slower — large contexts increase latency
Squads split work at functional boundaries (qualify → book → confirm, or extract → enrich → notify). Handoffs keep the session alive while the next specialist takes over.
How it works
- Create a squad and add member agents (each with its own tools and prompt).
- Draw handoff edges on the canvas — when to transfer, what to say, what variables to extract.
- Mark an entry agent — that member starts the call or process run.
- Route traffic to the squad (voice channel / outbound) or invoke it via API (process).
Handoff edges are configured in the dashboard canvas. The Public API can list squads and read the graph; edge editing is dashboard-only.
Two kinds
| Kind | Best for | Member gate | How it runs |
|---|---|---|---|
| Conversation | Live voice (and console) handoffs | Agents need voice | LiveKit session; mid-call handoff |
| Process | Unattended API workflows | Agents need api | POST /api/v1/invoke/ or Process Console |
- Conversation squads — canvas, Squad Console, channel routing
- Process squads — invoke, tools, Observe
- Handoffs & context — edges, variables, context policy
- Squad settings — share one agent's models or storage across the squad
Workflow framing
Treat a squad like a workflow graph:
- Nodes = agents (each owns tools, prompt, guardrails)
- Edges = handoffs (trigger description + optional variable extraction)
- Entry node = first speaker / first process step
Keep squads small. Split only when there is a clear boundary (lead qualification → booking, triage → specialist).
Dashboard
| Task | Where |
|---|---|
| Create / list squads | Build → Squads |
| Edit graph | Squad canvas |
| Test conversation | Squad Console |
| Test process | Process Console on a process squad |
| Attach to phone / outbound | Channel or trunk voice route → squad |
API automation
Programmatic management: Squads API. Process runs: POST /api/v1/invoke/. Outbound voice can pass squad_id on Calls.

