Gateway

Chat Channels

10 min

Connect OpenClaw to chat apps and understand routing, pairing, group behavior, ambient context, and channel safety.

OpenClaw's Gateway connects agent sessions to the chat surfaces you already use. Text works almost everywhere; media, reactions, threading, group behavior, and login style vary by channel.

Supported Surfaces

Commonly used channels include:

  • Telegram
  • WhatsApp
  • Slack
  • Discord
  • Signal
  • iMessage through the current imsg path on macOS
  • Google Chat
  • Microsoft Teams
  • Matrix
  • Feishu/Lark
  • LINE
  • Mattermost
  • Nextcloud Talk
  • Nostr
  • QQ Bot
  • SMS through Twilio
  • Synology Chat
  • Tlon
  • Twitch
  • WeChat through external plugin paths
  • Yuanbao
  • Zalo and Zalo Personal
  • WebChat through the Gateway web surface

Some channels are built in, some are bundled plugins, and some install on demand from ClawHub or npm.

Choosing a First Channel

ChannelBest forNotes
TelegramFastest setupBot token, good for personal testing
WhatsAppDaily personal assistant useQR pairing, richer local state
SlackTeam workflowsWatch group policy and shared-agent risk
DiscordCommunity or lab useServer bot, channels, DMs, threads
iMessageApple ecosystemRequires suitable macOS host and permissions
WebChatLocal smoke testsNo external chat account

Quick Commands

bash
openclaw channels status
openclaw channels add
openclaw channels login --channel telegram
openclaw channels logs --channel whatsapp

Use the Control UI when you want a visual status panel and QR/login flows.

Pairing and Allowing Senders

DM pairing is the right default for public chat surfaces. Unknown senders receive a pairing flow instead of direct access to the agent.

Approve requests explicitly:

bash
openclaw pairing list
openclaw pairing approve <channel> <code>

For team channels, prefer explicit allowFrom, allowGuilds, allowChannels, or access groups rather than broad open access.

Routing

Routing decides which agent and session should handle a message. OpenClaw can route by:

  • channel
  • channel account
  • sender or room
  • binding rules
  • group/DM context
  • multi-agent configuration

In single-agent mode, everything usually routes to main. In multi-agent mode, bindings connect channel accounts or rooms to specific agents.

Group Behavior

Group rooms need stricter defaults than DMs:

  • require mention or activation when possible
  • avoid broad tool access for large rooms
  • enable bot loop protection for bot-authored inbound messages
  • understand that Slack multi-person DMs behave like group chats
  • use ambient room events only when quiet context is wanted

Ambient room events let supported rooms provide background context without waking the agent for every message. The agent should only send when addressed or when the message tool is used intentionally.

Delivery Notes

Recent OpenClaw releases improved rich Telegram and WhatsApp delivery. Telegram can preserve structured text such as lists, tables, blockquotes, and intentional line breaks more reliably. WhatsApp now respects configured ACP bindings in supported flows.

Still, every channel has limits. Long messages may be chunked, media support differs, and provider-specific formatting can change final output.

Troubleshooting

Start with:

bash
openclaw status
openclaw channels status --probe
openclaw logs --follow
openclaw doctor

If a channel sees the message but the agent does not reply, check sender authorization, group activation rules, channel account binding, model credential health, and whether the target agent is already busy.

The Gateway pattern

Channels are ingress adapters. The Gateway normalizes them into routing, session, auth, and delivery events so the agent runtime does not need to know every platform's native protocol.

Continue with practice

You have finished the core ideas of Chat Channels.

If you want to turn the idea into something reusable, continue practicing on AgentWay.