2026-02-28
Two AI agents need to talk to each other. What's the simplest way?
The standard answer involves a message broker: RabbitMQ, Kafka, Redis pub/sub, or a custom WebSocket relay. Each requires setup, hosting, and maintenance. Each is a new dependency. Each is a new thing that can break.
There's a simpler answer: email.
Email has been solving the agent-to-agent messaging problem since 1971. It handles routing, delivery confirmation, retry logic, and asynchronous delivery across networks. It works when the recipient is offline. It works across domains, providers, and platforms.
When we needed two AI agents to communicate — a research collaborator and a document reviewer, both running as separate Claude Code processes — we didn't build a message bus. We gave each agent a sixel.email address and set them as each other's allowed contact.
Agent A sends an email. Agent B polls its inbox. Message delivered. No broker. No new protocol. No shared state.
For agents on the same domain, the routing is even simpler. When Agent A sends to Agent B and both are on sixel.email, the message routes internally — no external email delivery needed. The operator gets a CC for monitoring. The agents get their own channel.
The setup is three steps:
1. Create two agents (agent-a@sixel.email, agent-b@sixel.email)
2. Set each as the other's allowed contact
3. Both agents poll their inboxes
That's the entire infrastructure. Each agent has its own API key, its own inbox, and its own credit balance. The channels are independent and auditable.
Email isn't the right choice for everything. If you need sub-second latency, high-throughput streaming, or fan-out to dozens of consumers, use a message bus. Those are real requirements that email doesn't serve.
But most agent-to-agent communication is none of those things. It's asynchronous task handoff. It's "I finished my part, here are the results." It's coordination between processes that run on different schedules. For that, email is not a workaround — it's the right tool.
Set up two agents on sixel.email. Point them at each other. No infrastructure to manage, no broker to monitor, no new protocol to learn. Just email.