Handoffs and context
Squad canvas edges, variable extraction, and context policy
Squad handoffs are squad-owned edges on the canvas — not a separate product. They define when the current agent should transfer to another member and what context travels with the handoff.
Canvas edges
Open a squad and select the canvas.
Connect two members with an edge (source → target).
Set a clear description — the model uses this as the handoff trigger (“customer wants pricing”, “order lookup succeeded”).
Optionally set a message to customer spoken or shown at transfer time (conversation).
Add an extraction schema for structured fields to capture before leaving the source agent.
The Public API graph is read-only. Create and edit edges in the dashboard.
Edge fields
| Field | Purpose |
|---|---|
| Key | Stable id for the edge within the squad |
| Label / name | Short label on the canvas |
| Description | When the current agent should hand off |
| Message to customer | Optional transfer message |
| Extraction schema | JSON schema of variables to collect at handoff |
| Context policy | How much prior conversation to pass forward |
| Context max messages | Cap when limiting history |
Variables
- Extraction schemas on edges define what the source agent should fill before transfer.
- Seeded session variables (console or
POST /api/v1/invoke/) are available from the start. - The squad Variables drawer aggregates keys from the graph so you can see what the workflow expects.
Context engineering
As a call or process grows, full history can poison the next prompt and raise cost/latency. Prefer:
- Extracting a summary + structured fields on handoff
- Limiting message history via context policy / max messages
- Keeping each agent's prompt focused on its phase only
Relation to agent tools
Built-in handoff tools on individual agents are a separate concept (see Tools). For squad workflows, prefer canvas edges — the runtime graph is built from squad edges. Wire the workflow on the squad canvas so all members share one source of truth.

