Skip to content

Agent Delegation

Agents can delegate tasks to other agents. This lets you build multi-agent workflows where each agent handles what it’s best at.

When an agent uses the delegate tool, it creates a task assigned to another agent. The delegating agent specifies:

  • Target agent: which agent should handle the task
  • Title: a short summary of what needs to be done
  • Description: detailed instructions

The target agent picks up the task, processes it in a separate chat session, and returns the results. The result is delivered back to the originating chat as a task completion message.

By default, the result of a delegated task is posted back into the original chat. The delegating agent sees the result and can continue the conversation with it.

For longer-running tasks, the delegation can be fully asynchronous. The delegating agent moves on, and the result arrives whenever the target agent finishes.

  1. You ask the System Assistant to “research competitor pricing and write a summary report”
  2. The System Assistant delegates the research part to the Researcher agent
  3. The Researcher searches the web, browses competitor sites, and produces findings
  4. The findings are delivered back to the System Assistant
  5. The System Assistant writes the summary report using the research results

Agents decide which agent to delegate to based on:

  • The target agent’s description (this is why clear descriptions matter)
  • The available agents list provided in the system prompt
  • The nature of the task at hand

Delegated tasks go through these states:

StatusMeaning
PendingTask created, waiting to be picked up
InProgressTarget agent is working on it
CompletedTask finished successfully
FailedTask encountered an error
CancelledTask was cancelled

To enable delegation on an agent, include the delegate tool in its tool list. The agent also needs visibility into what other agents are available. This is handled automatically by the platform’s prompt system.