The Orchestrator-Worker Pattern: Multi-Agent Task Delegation and Result Aggregation
In the Orchestrator-Worker pattern, a coordinator agent receives a complex request, decomposes it into sub-tasks, assigns each sub-task to a specialist worker agent using Assign a Task to Genie, collects results, and synthesizes a unified response — all within the same user session.
How It Works
The orchestrator Genie receives the user's request and determines which specialist agents are needed. It uses the Assign a Task to Genie action to delegate each sub-task to the appropriate worker Genie. The worker executes the task and returns a result. The orchestrator collects all results and synthesizes a final response to the user.
Unlike the Delegate/Handover pattern, the user stays in the same conversation session throughout. The orchestration happens behind the scenes.
Workato Implementation
The Assign a Task to Genie action is the core mechanism. Configure it in the orchestrator's Skills or App Event recipes to call a named worker Genie with a specific task description and any input data the worker needs.
Current platform limitations: Worker Genies invoked via Assign a Task to Genie currently cannot access user context, runtime connections, permission-aware knowledge bases, or user confirmation flows. Design worker agents to operate on data passed explicitly by the orchestrator rather than relying on user-scoped resources.
MCP Server Orchestration Variant
The Orchestrator-Worker pattern also applies to MCP servers. A Federated MCP Server acts as the orchestrator, receiving requests from MCP clients and routing them to appropriate downstream MCP servers based on domain or capability.
- The MCP client must have explicit instructions to use the Federated MCP Server as its entry point.
- The Federated MCP Server exposes tools that describe available downstream servers and when to use each.
- Downstream MCP servers operate independently; the federated layer handles routing only.
When to Use This Pattern
| Good fit | Poor fit |
|---|---|
| Task has clear sub-task boundaries across domains (e.g., HR + IT + Finance lookup) | Sub-tasks require user confirmation or runtime user connections |
| Results from sub-tasks can be synthesized without additional user input | Worker agents need to access permission-aware knowledge bases |
| User experience benefits from a single-session response | Sub-tasks have high interdependency (output of one feeds input of next in real-time) |
Design Checklist
- Worker Genies are scoped to a single domain with no reliance on user-scoped connections
- Orchestrator passes all required inputs explicitly in the Assign a Task payload
- Each worker has a clear, single output format the orchestrator can reliably parse
- Error handling is defined for worker failures — orchestrator knows how to respond if a worker Genie fails or times out
- The Federated MCP variant has a catch-all response when no downstream server matches the request