Pattern 03: event-driven choreography
What is choreography for AI agents?
In orchestration, a conductor tells each player when to play. In choreography, each dancer knows the routine and reacts to the others. For agents, that means each agent subscribes to event types it cares about ("invoice.received", "draft.ready") and emits events when it finishes.
agents should “emit and listen for events autonomously”
Confluent argues immutable logs provide reliable coordination and describes four multi-agent patterns that can run on events: orchestrator-worker, hierarchical, blackboard and market-based. The point is not that orchestration disappears; it is that the transport between agents becomes durable, replayable events instead of direct calls.
Why do teams pick choreography?
Decoupling: add an agent by subscribing it to a topic; nothing else changes. Durability: the log survives crashes, so a restarted agent resumes from its offset. Replay: you can rerun a day of events against a new agent version. Scale: brokers are built for volume that no chat-style coordination can match.
Where does choreography break?
Nobody knows the whole story. Without a lead, answering "what state is order 1182 in, and who is working on it?" means reconstructing it from the log.
Emergent loops. Agent A reacts to B's event, B reacts to A's. It is the same ping-pong as handoffs, but harder to spot because no single component sees both sides.
Duplicates. At-least-once delivery means agents must be idempotent, or the same email goes out twice.
Humans are awkward. An approval is a long-running wait in a system designed for milliseconds. Solace Agent Mesh adds "built-in human-in-the-loop approvals," which helps, but approvals are not the same as a person working alongside agents. (Solace)
Open-ended work fits badly. Events work best when you can name the event types up front.
When does event-driven choreography work, and when does it break?
When it works
- High message volume
- Steps are known and event types can be named
- Teams want to add agents without coordinating releases
- Replay and audit via logs matter
When it breaks
- You need a live answer to “who owns this now”
- Work is open-ended
- Humans collaborate rather than just approve
- Agents are not idempotent
Which tools use event-driven choreography?
| Tool | How it coordinates | Good for | Source |
|---|---|---|---|
| Solace Agent Mesh | Agents on Solace event brokers; A2A and MCP; self-hosted or managed | Organizations already on Solace | Solace |
| n8n | Trigger-driven workflows with agent nodes; agents can delegate to other agents; MCP client and server | Automation teams, visual building | n8n docs |
| CrewAI Flows | Event-driven control with state around crews | CrewAI users | GitHub |
Solace archived its original open-source Python Agent Mesh repo on Sep 17, 2026 and the current runtime is written in Go; check the licensing of the new version. Source: SolaceLabs on GitHub
What do people ask about event-driven choreography?
Not sure which pattern fits?
Six questions, about a minute. You'll get a pattern, a shortlist and the tradeoffs.
Last reviewed: September 2026