One Agent, Every Chat Platform
The problem
Your agent works. Now Slack wants it. Then Teams. Then Discord. Then Telegram for the mobile team. Each platform has its own:
- Webhook or socket protocol for receiving messages
- Authentication and signature verification
- Message format (Block Kit, Embeds, Markdown variants, HTML)
- Delivery API and error semantics
- Rate limits, retry behavior, and session management
You end up maintaining N separate integration layers that all do conceptually the same thing: receive a message, send it to the agent, deliver the response. The per-platform plumbing grows faster than the product.
How CAR solves it
Chat Agent Relay sits between your chat platforms and your agent. Channel adapters handle the platform-specific boundary; CAR normalizes everything into canonical events on the inside.
Slack ─┐ Discord ─┤ Telegram ─┤ CAR normalizes → governs → routes → invokes Teams ─┤ ↓ WhatsApp ─┤ Your Agent (A2A) Lark ─┤ ↓ DingTalk ─┤ CAR delivers ← formats ← retries ← response WebChat ─┘
Your agent receives the same canonical invocation regardless of which platform the message came from. It responds once; CAR translates the response into the right format for each platform and handles delivery.
What that looks like
$ car channel add slack --type=slack --bot-token=xoxb-... --app-token=xapp-... $ car channel add discord --type=discord --bot-token=... $ car channel add telegram --type=telegram --bot-token=... $ car agent add my-bot --endpoint=https://agent.example.com $ car route add --default --agent=my-bot $ car start [car] 3 channels registered · 1 agent registered · relay running
Send a message from any of the three platforms. The same agent handles all of them through the same canonical event path.
Built-in channels
Slack
Socket Mode, events, slash commands, Block Kit output, ack reactions, streaming updates
Discord
Gateway API, slash commands, rich embeds, access control
Telegram
Bot API webhooks, bot commands, progressive streaming via message editing
Microsoft Teams
Bot Framework webhook, JWT verification
WhatsApp Business
Cloud API webhooks, HMAC verification, 24h session tracking
Lark / DingTalk / WebChat
Event subscription, auto token management, HTTP transport with CORS
What you keep
- Full ownership of your agent runtime, memory, and tools
- A2A as the standard protocol boundary — no vendor lock-in
- The ability to add or remove channels at runtime without restarting
- Canonical event audit trail across all channels