8 min read

Agent Communication

How Mission Control and Agents Talk

Mission Control uses two complementary communication channels to coordinate with agents: outbound dispatch over the OpenClaw Gateway, and inbound callbacks via webhooks. SSE bridges the gap between the server and your browser.

Outbound: Dispatching via Gateway

When a task is dispatched, Mission Control sends a structured request to the agent through the OpenClaw Gateway. The request payload includes:

The gateway handles protocol normalization, so Mission Control doesn’t need to know the specific API format of each agent type — the gateway translates the standard task payload into whatever format the target agent expects.

Inbound: Agent Callbacks via Webhook

Agents communicate back to Mission Control by calling a webhook endpoint. This happens at two points:

Progress updates — The agent sends incremental status messages as it works. These become the activity events you see in the dashboard.

Completion — The agent sends a final callback with the outcome: success with a summary, or failure with an error description and the last state it reached.

All webhook payloads are signed with HMAC-SHA256. Mission Control verifies the signature before processing any callback, ensuring that only legitimate agents can update task state.

SSE: Bridging Server and Browser

When your browser opens the Activity Dashboard, it establishes a Server-Sent Events connection to Mission Control. As webhook callbacks arrive from agents, the server fans them out over this SSE connection to all connected dashboard clients.

This three-part chain — agent webhook → server → SSE → browser — means you see activity events within milliseconds of the agent generating them, without any polling.

Connection Resilience

If the SSE connection drops (network hiccup, browser tab sleep), the browser automatically reconnects and requests events from the last received ID. Mission Control buffers recent events so reconnecting clients can catch up without missing updates.

Webhook callbacks are similarly resilient: if Mission Control is briefly unreachable, agents retry delivery with exponential backoff before marking the callback as failed.