Why it matters

Polling-only would make A2A impractical for tasks taking more than seconds. Streaming enables real interactive multi-agent systems.

Advertisement

The architecture

Endpoint: /task/subscribe or SSE on /task/send. Client opens long-lived HTTP connection.

Event types: status_update (task state changed), artifact_update (new artifact), error, done.

A2A streaming flowSubscribeSSE connectionServer streams eventsstatus + artifactsClient processesreactive UIReconnect logic handles network drops; resume via task ID + last-event-id
Streaming lifecycle.
Advertisement

How it works end to end

Reconnection: SSE supports last-event-id header. Client can reconnect and resume from last received event.

Backpressure: server should throttle emit rate if client slow.

Fallback: for very short tasks or environments without SSE support, use polling.