7 min read

Assigning Agents

Assigning Tasks to Agents

Once a task is created, the next step is assigning it to an agent. In Mission Control this is called dispatch — the process of sending a task to a specific agent along with all the context it needs to start working.

Manual vs. Automatic Assignment

Mission Control supports two assignment modes:

Manual assignment — You explicitly choose which agent handles a task. Open the task, select an agent from the dropdown, and click Dispatch. Use this when you want precise control over which agent type or profile handles sensitive or specialized work.

Queue-based assignment — Tasks can be added to an agent’s queue, and the agent picks them up sequentially as it finishes prior work. This is useful for batching related tasks that should run on the same agent in order.

Choosing the Right Agent

Different agents have different strengths. When assigning:

Consider the task complexity, the codebase context needed, and the agent’s current workload when making your selection.

What Happens at Dispatch

When you dispatch a task:

  1. Mission Control packages the task description, metadata, and any planning output
  2. A bearer token is attached for authentication
  3. The package is sent to the agent via the OpenClaw Gateway
  4. The task status changes to in_progress
  5. SSE events begin flowing to the Activity Dashboard

The agent acknowledges receipt and begins working. If the agent is unavailable or rejects the task, Mission Control marks the task as failed with an error message explaining why.

Re-dispatching Failed Tasks

If an agent fails or a dispatch is rejected, you can re-dispatch the same task to a different agent without duplicating any data. The original task record is preserved, and a new dispatch attempt is logged with the updated assignment.