Chat Systems for AI Agents: The State of the Art
Agents can now hand each other tasks through open protocols, run group chats inside frameworks, and sit in Slack beside people. A new kind of workspace puts agents from different vendors in the same channels as people. Here is what exists as of November 2026, how the options differ, and what none of them does yet.

My agents talk to each other all day. A coding agent in one harness opens a pull request, a reviewing agent in another harness requests changes, and the coder answers. I described how that works in Building Multi-Harness Multi-Agent Swarms. Today those conversations happen in GitHub comments and a command-line tool.
So I asked a simple question. What exists for AI agents to talk to each other, and to people, in a shared conversation? I had one of my agents research it from primary sources: specs, docs, repositories, changelogs and pricing pages. This post is what it found. Everything here was checked on November 12, 2026. Nothing was installed or run, so every behavior below is as documented, not as observed.
A disclosure: I am building one of these myself, called Botpenny.
Status labels follow one rule. GA means generally available or a stable spec. Preview covers beta, public preview, research preview, experimental flags and invite-only access. Retired means shut down or archived.
The short answer
- Agents talking across vendors is now a standard, but not a conversation. A2A 1.0 is the one stable, vendor-neutral agent-to-agent protocol. It moves tasks between agents. It has no channels, no people as members and no shared history.
- Frameworks have group chat, but only among agents in one program. Microsoft Agent Framework, CrewAI, LangGraph, the OpenAI Agents SDK and Google ADK all coordinate agents defined in the same application.
- Team chat now hosts agents. Slack is the only big work-chat platform that documents delivering one vendor’s bot messages to another’s. Microsoft Teams, by rule, never does.
- Agent-native workspaces exist now, and all of them are young. Buzz, Ando, Agent Relay and OpenBot put agents from different tools in channels with people. Every one is in beta, invite-only, or under a noncommercial license.
- Nobody has all of it yet. No product combines agents from any tool joining by themselves, people and agents in the same channels as equals, owners who can read everything their agents say, and a reliable way to wake an agent that isn’t running.
Protocols: agents hand each other tasks
A2A (Agent2Agent) is the protocol for independent agents to find each other and work together without exposing their internals. An agent publishes an Agent Card that names its skills, endpoint and auth. Work is a task with a lifecycle, each turn is a message, and results are artifacts. Version 1.0.0 shipped on 2026-03-12 and 1.0.1 on 2026-05-28, with signed Agent Cards and official SDKs in six languages (releases). On 2026-08-17 the Linux Foundation’s Agentic AI Foundation announced A2A as one of its hosted projects, citing adoption in Google Cloud, Azure AI Foundry, AWS Bedrock AgentCore, Tencent WeChat and PayPal (AAIF). Status: GA.
A2A is not a chat system. The client is always “the user”, and a human shows up only when a task stops for input. The server keeps task state, not a shared room. An idle client learns about changes by polling, holding a stream open or registering a webhook (spec).
IBM’s protocol of the same initials, ACP, is retired. Its repository was archived on 2025-08-27 with a notice that it is now part of A2A (i-am-bee/acp). AGNTCY, which the Linux Foundation announced on 2025-07-29 (announcement), supplies the plumbing around it: a directory, decentralized identity and encrypted pub/sub messaging.
MCP (Model Context Protocol) connects an agent to tools and data, not to other agents. A server provides capabilities; it is not a peer with its own goals. The latest revision, 2026-07-28, makes the core stateless and moves long-running tasks to an official extension (changelog). MCP has no webhook push: clients poll or hold a stream open (spec). Status: GA. Several of the workspaces below use MCP as the door agents walk through.
The Agent Client Protocol from Zed and JetBrains is a third “ACP”. It connects a code editor to a coding agent, the way the Language Server Protocol connects an editor to a language. Its registry launched on 2026-01-28 with Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode and Gemini CLI (Zed). Status: GA and versioned. It matters here because it has become a common way for a workspace to drive agents from many tools (agentclientprotocol.com).
Framework group chat: one program, one orchestrator
Every multi-agent framework has the same shape. It runs agents defined in its own program. An orchestrator decides who speaks next. The transcript lives in the application’s own store. None of them treats an agent running in another vendor’s tool as a member, except through A2A or a vendor connector.
- AutoGen is retired. Its README says it is archived and no longer maintained as of 2026-10-16, and points to Microsoft Agent Framework (microsoft/autogen).
- Microsoft Agent Framework reached 1.0 on 2026-04-03 (1.0), and its orchestrations, including group chat, handoff and Magentic, reached 1.0 on 2026-07-08 (announcement). Group chat is a star: an orchestrator picks the next speaker and broadcasts the shared history (group chat). Connectors let Claude Agent SDK and GitHub Copilot SDK agents join a workflow (repository). Status: GA.
- AG2, the community fork of AutoGen, replaced its group chat with a “Network” in v1.0 on 2026-07-27. Named agents exchange messages in channels, can run in separate processes, and must speak AG2’s own protocol (Network). Status: GA.
- CrewAI runs role-based agents in crews, and agents allowed to delegate can ask a coworker a question (collaboration). LangGraph now recommends subagents as tools, handoffs and routers (multi-agent guide). The OpenAI Agents SDK passes a conversation to a specialist through a handoff tool (handoffs). Google ADK builds hierarchies and workflows, and reaches remote agents through A2A (google/adk-python). All GA.
- OpenAI’s Agent Builder is deprecated and shuts down on 2026-11-30, per its docs (Agent Builder).
Anthropic has the closest thing to a conversation inside one vendor. Claude Code agent teams (Preview, behind an experimental flag) let a lead session spawn teammates that message each other through mailboxes, and a new message wakes an idle teammate (agent teams). Cross-session messaging (GA, on by default since 2026-08-07) lets separate Claude Code sessions message each other, locally or across machines, and an idle session starts a new turn when a message arrives (cross-session messaging). Both work only between Claude sessions, and the second only within one owner’s sessions.
Agents in human chat tools: Slack leads
Whether a team chat can host a conversation between agents comes down to one question: does one vendor’s bot hear another’s?
| Platform | Other bots’ messages delivered to your agent? |
|---|---|
| Slack | Yes. Each app decides whether to filter them (bot_message). |
| Microsoft Teams | No, even with consent to receive all messages (docs). |
| Discord | Implied yes: events carry a bot flag and have no documented bot filter (Gateway). |
| Google Chat | Not documented (interactions). |
Slack has gone furthest. Its agent platform gives apps agent surfaces and labels, and Slack says agents are available on all plans (AI apps, help). Pricing is per active human user, with no per-agent fee documented (pricing). Slack Code (GA, changelog dated 2026-08-20) turns a conversation with a tagged agent into a dedicated channel where people can pause, redirect or stop it (changelog). Its feature page lists thirteen partner agents, including Claude, Devin, Factory and GitHub Copilot; Codex and Cursor are not listed (feature page).
There is a catch. Slack’s API terms update of 2025-05-29 bars bulk export, persistent copies or indexes of Slack data, and its use in LLMs (terms update). The sanctioned way for an outside agent to read Slack is Slack’s hosted MCP server and Real-Time Search API, GA since 2026-02-17 (announcement).
Vendors have moved their agents in:
- Claude Tag (Preview, public beta since 2026-06-23) is a shared @Claude
in Slack channels that replaced the Claude in Slack app. It reads other
bots’ messages as context, and replies to a bot only when the bot’s message
contains
@Claude(announcement, when Claude responds). - GitHub Copilot in Slack and Teams went GA on 2026-11-06 (changelog).
- ChatGPT and Codex, Cursor and Devin each start a cloud agent when mentioned in a Slack thread (ChatGPT, Cursor, Devin). Their docs give no launch dates.
On the Microsoft side, the Copilot Channel Agent in Teams is in public preview: one Copilot agent per channel that learns from the channel (setup). Agent 365 (GA) governs agents, and Entra Agent ID gives each agent its own directory identity with a human sponsor (Agent 365, agent identities).
Agent-native workspaces: the new category
These are products where agents from different tools have their own identities, join channels and DMs, and talk to people and to each other.
Buzz, from Block, is an open-source workspace built on Nostr signed events, with channels, threads, DMs and canvases, plus git hosting and CI. People and agents are both full members. Any Agent Client Protocol agent can join, and each agent has its own key pair. The human owner signs a scoped authorization, and an agent’s key can be revoked on its own. Actions land in a hash-chained audit log. Block announced it on 2026-07-21 and calls it early; 1.0 is in beta. How an agent that isn’t running gets woken is not documented (engineering post, block/buzz). Status: Preview.
Ando is team messaging where agents are members with their own identities and inboxes (ando.so). It is priced per person: Free, Pro at $7.25 and Business at $15 a month billed annually, with unlimited agents that never take a seat (pricing). It came out of stealth with a $20M raise on 2026-09-24, according to TechCrunch (press). It says you can bring your own agent, but publishes no harness list, CLI, API or MCP details. Status: Preview, access by request.
Agent Relay is a messaging layer for coding agents: channels, threads, DMs, files and shared session history. Agents join through a CLI or SDK from Claude Code, Codex, Cursor, OpenCode, Devin and others, and can run on different machines. Sessions show their human owner, and a message from another agent is treated as a request, never as permission (agentrelay.com, repository). It has no tagged releases. Status: Preview.
OpenBot is a local-first desktop workspace for persistent AI teammates that share channels with people. OpenBot runs the agents itself through each vendor’s CLI, so an agent already running elsewhere doesn’t join on its own. It ships almost daily, with v0.68.0 on 2026-11-11, under a noncommercial license (openbot.run, releases). Status: GA as open source.
Lighter tools give coding agents a shared inbox without a team app for people. MCP Agent Mail gives agents identities, inboxes and threads over MCP, with a web view for a human overseer; agents poll. Coral Server lets agents create threads and block on a wait tool until they are mentioned. hcom and agmsg pass messages between Claude Code, Codex, Gemini CLI and others on one machine, and hcom can wake an idle agent.
The comparison
All rows were checked on 2026-11-12. “Cross-vendor” asks whether agents from different companies’ tools can take part. “Wake-up” asks how an agent learns about a new message.
| Option | Status | Cross-vendor | People | Wake-up |
|---|---|---|---|---|
| A2A | GA (2026-03-12) | Yes | Only when a task needs input | Poll, stream or webhook |
| MCP | GA (2026-07-28) | Yes, but agent-to-tool | Consent and elicitation | Poll or stream |
| Agent Client Protocol | GA | Yes, editor-to-agent | The editor’s user | Open connection |
| Microsoft Agent Framework | GA (2026-07-08) | Partial, via connectors | Approvals, pauses | Orchestrator |
| AG2 Network | GA (2026-07-27) | AG2 agents only | A human client | Channel turn order |
| LangGraph | GA | No | Interrupt, resume | Graph edges |
| OpenAI Agents SDK | GA library, 0.x | No | Tool approvals | Handoff |
| Claude Code agent teams | Preview (flag) | Claude only | Message any teammate | Message wakes it |
| Cross-session messaging | GA (2026-08-07) | Claude only | Accept, hold, refuse | New turn on arrival |
| Slack agents | GA | Yes, bots see bots | Native | Events API |
| Slack Code | GA (2026-08-20) | 13 partners, plus an API | Pause, redirect, stop | Mention |
| Teams agents | GA | No, bots never see bots | Native | Webhook on mention |
| Claude Tag | Preview (2026-06-23) | Answers bots that tag it | Anyone in the channel | Mention or ambient |
| Buzz | Preview (beta) | Yes, ACP agents | Desktop app | Mention or DM |
| Ando | Preview (by request) | Claimed | Web app | Undocumented |
| Agent Relay | Preview | Yes, CLI and SDK | Channel view, desktop app | Undocumented |
| OpenBot | GA open source | Yes, but OpenBot runs them | Desktop, web, mobile | Queue; it runs the agent |
| MCP Agent Mail | GA open source | Any MCP client | Overseer web view | Polling |
| Coral Server | GA (v1, press) | Any MCP client | Console or API | Blocking wait |
| hcom | Preview | Four CLIs, one machine | Terminal | Hooks; wakes idle |
The gaps
Joining from any tool, by the agent itself. Every option picks one door: the Agent Client Protocol (Buzz, OpenBot), a Slack app or partnership (Slack Code), MCP (Agent Mail, Coral), or a vendor CLI the product runs (OpenBot). Only Agent Relay and the local tools offer a plain command any agent can run. No standard covers “an agent joins a chat”. A2A moves tasks, not memberships.
Identity and ownership. An agent is a bot user owned by a workspace (Slack, Teams), a directory identity with a human sponsor (Microsoft), a key pair with a signed owner grant (Buzz), or a name string (frameworks). Only Buzz and Agent Relay tie each agent to a human owner inside the conversation.
Owners reading what their agents say. I found no shipped product that documents an owner reading every conversation their agent takes part in, including a DM with someone else’s agent. Ando documents the opposite: agents can’t read DMs unless context is forwarded (ando.so). The audit logs that exist, in Buzz, Ando Business and Agent 365, serve admins, not owners.
Waking an idle agent. Products that run the agent themselves, like OpenBot, Slack’s partners and Claude Tag, can wake it. An agent running in someone’s own tool has to poll, block on a wait tool, or rely on hooks on one machine. A2A’s webhook push needs the agent to be a reachable server. Buzz, Ando and Agent Relay don’t document how an agent that isn’t running gets woken.
Turn-taking between vendors. Frameworks pick the next speaker inside one program. Across vendors, each agent decides for itself. Teams forbids bot-to-bot delivery outright, and Claude Tag answers a bot only when tagged. No platform offers turn limits or loop breakers across agents.
Other agents’ messages as information, not orders. Agent Relay and Claude Code say that a message from another agent asks rather than grants (Agent Relay, cross-session messaging). Everywhere else, that is left to each agent’s prompt, so prompt injection between agents is not handled at the platform level.
Pricing per agent. The market has settled on per-human seats with agents free (Slack, Ando, and Agent 365 at $15 per human user), plus metered usage (Claude Tag, Copilot, Salesforce’s Flex Credits). No one publishes a cap on agents per human, and no one bills or budgets per agent.
Maturity. Every agent-native workspace is in beta, invite-only, unreleased or under a noncommercial license. The stable pieces are the protocols and the incumbents’ bot platforms.
Is there anything like it?
Put the gaps together and you get the question I started with: is there a team chat where agents from any tool join by themselves, sit in the same channels and DMs as people, belong to an owner who can read what they say, and get woken when someone talks to them?
Not all of it, but the category now exists, and it filled quickly in the second half of 2026. The closest matches:
- Buzz is closest in architecture: people and agents as equal members, each agent with its own identity that an owner authorizes and can revoke, and an audit log. But agents join through the Agent Client Protocol rather than by themselves, it is beta and self-hosted first, and owner reading of every agent conversation is not documented.
- Ando is closest in business model: per-human pricing that matches Slack’s annual prices, with unlimited free agents. But it is closed and invite-gated, and how an outside agent joins is not published.
- Agent Relay is closest in how agents join: a CLI and SDK that coding agents from many tools use, with sessions tied to a human owner. But it is built around coding sessions rather than a team chat for people, and its wake-up model is undocumented.
- OpenBot has shared channels for people and agents across many vendors, but it runs every agent itself, so an agent already running in its own tool doesn’t join. Its license rules out commercial use without a paid license.
- Slack Code and Claude Tag are the incumbent route: agents from many vendors in a real team chat. But an agent must be a Slack app or a Slack partner, vendor agents mostly act only when a person mentions them, and Slack’s terms bar outside copies of conversations.
The pieces are here. Protocols pass tasks, frameworks run group chats, Slack hosts agents beside people, and four young workspaces are trying to be the shared room. None of them yet lets an agent from any tool walk in on its own, talk to people and other agents as an equal, and stay readable by the person who owns it. That room is still being built.