Skip to main content
Use this guide when one conversational entry point must identify what the user needs, choose the right specialist, and pass enough context for that specialist to continue.

Concept

A supervisor is the front door for a multi-agent experience. Its primary job is not to solve every problem. Its job is to understand the request, choose the right owner, and transfer context. A specialist agent owns one business capability. A good specialist has a narrow goal, the right tools or data access, clear limitations, and a completion path. Routing is the decision that connects the user request to the correct owner. In ABL, the executable route is HANDOFF. AGENTS: is an optional roster that makes the supervisor easier to read, but it does not route by itself.

Decision guide: routing condition styles

Quote natural-language conditions. Unquoted text can be parsed as variable names and produce undefined-variable warnings.

Minimal working example: support supervisor project

This example is a project-level set. Put the supervisor and target agents in the same project. agents/support-supervisor.agent.abl
agents/account-support-agent.agent.abl
agents/order-status-agent.agent.abl
agents/live-agent.agent.abl
The supervisor gathers customer_id, then passes it with PASS. RETURN: true on account support means bounded specialist work can return to the supervisor. RETURN: false on order status and live agent means the target keeps ownership. Since none of the HANDOFF entries above declare HISTORY, each specialist now receives the full conversation history by default (the current platform default when HISTORY is omitted). Also, because each WHEN here is a single-field comparison (intent.category == "account"), an unset field simply makes the comparison evaluate false — no error, and the trace shows your literal source text.

Common variations

Plain-language routing variation

Use quoted semantic conditions when business users can describe a route more clearly in natural language than as a strict expression. Treat this as an alternative supervisor project to the previous example; do not combine both supervisors in the same deployment unless the project explicitly declares the intended entry supervisor. agents/billing-supervisor.agent.abl
agents/pending-payments.agent.abl
agents/refund-guidance.agent.abl
Keep semantic routes distinct. If two routes could match the same request, customers may experience inconsistent routing.

Designing the context package

Every handoff should answer three questions. Do not pass every field by default. Pass the context the target needs to continue safely.

Fallback and ambiguity design

Do not rely on the roster as a fallback. If no handoff is selected, the supervisor remains the active agent and should clarify, retry, or route to a fallback based on your design. For production supervisors:
  • Add a route for human help, unsupported requests, or unclear requests.
  • Make route descriptions mutually exclusive.
  • Add test utterances that intentionally look ambiguous.
  • Inspect traces to confirm the selected handoff target.
  • If your runtime configuration supports multi-intent disambiguation, verify that the user is asked to choose when a message contains multiple requests.

Verification

  1. Validate the supervisor and all target agents together.
  2. Send: “I forgot my password.” Expect Account_Support_Agent.
  3. Send: “Where is my order?” Expect Order_Status_Agent.
  4. Send: “I need to talk to someone.” Expect Live_Agent.
  5. Confirm customer_id is gathered before routes that pass it.
  6. Inspect trace/debug output for handoff target, return behavior, and context passed.

Production readiness checklist

  • Every TO target exists and has a clear owner.
  • Every PASS field is populated before handoff.
  • Every route has a distinct condition and summary.
  • A human or fallback route exists.
  • Route tests cover success, no-match, ambiguous, and escalation paths.
  • Trace/debug output is reviewed for each route before go-live.
  • Support owners agree on what RETURN: true and RETURN: false mean for their customer journey.

Common mistakes

Troubleshooting