The Delegate and Handover Pattern: Transferring Conversations Between AI Agents
In the Delegate and Handover pattern, an agent recognizes that a user's request falls outside its domain and transfers the conversation — along with relevant context — to a specialist agent. The user continues in a new session with the appropriate Genie.
How the Delegate and Handover Pattern Works
The orchestrating Genie maintains a manually curated list of available Genies, each with a description of its domain and capabilities. When a user request falls outside the current Genie's scope, the LLM selects the most appropriate specialist Genie from the list and initiates a handover.
The handover transfers the conversation to the target Genie. The user switches to the new Genie's session — typically a different Slack app or workspace — and continues the conversation from there.
Implementation Requirements
- Curated Genie registry: The orchestrating Genie must maintain a manually updated list of available Genies with precise, LLM-readable descriptions. Treat these descriptions like tool descriptions — precision matters.
- User authentication: Users must be logged in to the target Genie, or target Genie credentials must be pre-loaded from the backend. Otherwise, users face a re-authentication prompt mid-handover.
- Workato module: Install the Genie Handover module from FDE Agentic Common Utilities via the Workato Module Installer.
Key Limitations
Conversation continuity: The user's conversation history does not transfer to the target Genie. The new session starts fresh. Design your agent descriptions and handover messages to give users enough context to restate their need concisely in the new session.
- The handover module cannot pre-check whether the user has permission to access the target Genie.
- Users must switch apps or sessions — this creates a visible seam in the experience.
- The orchestrating Genie does not receive confirmation that the handover completed successfully.
When to Use Delegate/Handover vs. Orchestrator-Worker
| Use Delegate/Handover when... | Use Orchestrator-Worker when... |
|---|---|
| Domain separation is clean and well-understood | The task requires results from multiple domains aggregated into one response |
| Users can tolerate switching apps or sessions | Conversation continuity is required throughout the task |
| Each specialist Genie has its own distinct user base | The orchestrating agent needs to synthesize sub-task results |
| Routing is based on domain, not task decomposition | Sub-tasks can run without user-context-sensitive data |
Design Checklist
- Each Genie description in the registry is written for the LLM, not humans — specific about domain boundaries and what the Genie can and cannot handle
- The handover message to the user explains what's happening and which Genie they're being transferred to
- User authentication is pre-loaded or the UX handles re-auth gracefully
- The registry is maintained — stale or inaccurate Genie descriptions cause mis-routing
- A fallback is defined for requests that don't match any registered Genie