Chat Channels: Connect OpenClaw to Your Messaging Platforms
Learn which chat platforms OpenClaw supports and how to connect them through the Gateway. Covers bundled, official, and external plugins, plus setup commands and requirements.
Read this when
- You want to choose a chat channel for OpenClaw
- You need a quick overview of supported messaging platforms
OpenClaw lets you communicate with it through whatever chat platform you already rely on. Every channel is wired up through the Gateway. Plain text works on all of them; media and reactions depend on which channel you pick.
Items labeled "bundled plugin" or "included in core" come with the base
installation. Channels marked "official plugin" are set up with a single
command (openclaw plugins install @openclaw/<id>) or pulled in on demand during
openclaw onboard / openclaw channels add, after which a Gateway restart is required.
"External plugin" channels are maintained outside the OpenClaw repository.
Supported channels
- A2A - Link external agents to OpenClaw via the A2A 1.0 JSON-RPC protocol (bundled plugin).
- Buzz - Wire OpenClaw agents into Buzz rooms (official plugin).
- ClickClack - ClickClack bot-token channel configuration and target syntax (official plugin).
- Discord - Discord bot configuration, config keys, components, voice, and troubleshooting (official plugin).
- Feishu - Feishu bot overview, features, and configuration (official plugin).
- Google Chat - Google Chat app support status, capabilities, and configuration (official plugin).
- iMessage - Native iMessage support through imsg (JSON-RPC over stdio), with private API actions for replies, tapbacks, effects, polls, attachments, and group management. Recommended for new OpenClaw iMessage setups when host requirements are met (official plugin).
- IRC - IRC plugin configuration, access controls, and troubleshooting (official plugin).
- LINE - LINE Messaging API plugin configuration, setup, and usage (official plugin).
- Matrix - Matrix support status, setup, and configuration examples (official plugin).
- Mattermost - Mattermost bot setup and OpenClaw configuration (official plugin).
- Microsoft Teams - Microsoft Teams bot support status, capabilities, and configuration (official plugin).
- Nextcloud Talk - Nextcloud Talk support status, capabilities, and configuration (official plugin).
- Nostr - Nostr DM channel using NIP-04 encrypted messages (official plugin).
- QQ bot - QQ Bot setup, configuration, and usage (official plugin).
- Raft - Raft External Agent support via the Raft CLI wake bridge (official plugin).
- Reef - Reef channel configuration: guarded, end-to-end-encrypted messaging between OpenClaw agents of different people (bundled plugin).
- Signal - Signal support via signal-cli (native daemon or bbernhard container), setup paths, and number model (official plugin).
- Slack - Slack setup and runtime behavior (Socket Mode, HTTP Request URLs, and relay mode) (official plugin).
- SMS - Twilio SMS/MMS setup, access controls, webhooks, and delivery status (official plugin).
- Synology Chat - Synology Chat webhook setup and OpenClaw configuration (official plugin).
- Telegram - Telegram bot support status, capabilities, and configuration (bundled plugin).
- Tlon - Tlon/Urbit support status, capabilities, and configuration (official plugin).
- Twitch - Twitch chat bot: installation, credentials, access control, token refresh (official plugin).
- WebChat - Native and Control UI WebChat usage over the Gateway WebSocket (included in core).
- WeChat - WeChat channel setup through the external openclaw-weixin plugin (external plugin).
- WeCom - Install the official WeCom plugin and locate its versioned setup documentation (external plugin).
- WhatsApp - WhatsApp channel support, access controls, delivery behavior, and operations (official plugin).
- Yuanbao - Yuanbao bot overview, features, and configuration (external plugin).
- Zalo - Zalo bot support status, capabilities, and configuration (official plugin).
- Zalo ClawBot - Zalo ClawBot channel setup through the external openclaw-zaloclawbot plugin (external plugin).
- Zalo personal - Zalo personal account support via native zca-js (QR login), capabilities, and configuration (official plugin).
Related communication plugins
- Voice Call - Telephony through Plivo, Telnyx, or Twilio (official plugin).
Group join introductions
When the bot enters an allowed group on Discord, LINE, Matrix, Slack, or Telegram, it posts a single introduction tailored to that room rather than joining quietly. That introduction describes what the room seems to be for and lists a few concrete tasks the bot could handle there, based on what the platform can actually display to it.
Disabling. Introductions are enabled by default. To turn them off per channel, use
channels.<channel>.joinIntro: false, or override an individual account with
channels.<channel>.accounts.<accountId>.joinIntro. The lookup order is the
account value first, then the channel value, then the default of true. There is no
per-room toggle, since a room becomes configurable only after the bot has already joined it. Only Discord, LINE, Matrix, Slack, and Telegram accept this option; other channels
reject it rather than accepting a setting they never use.
What it reads. Core fetches up to 100 recent messages plus room metadata, then trims the entire snapshot to 12,000 characters, discarding the oldest messages first. What each platform can provide differs:
| Channel | Room metadata | Prior messages |
|---|---|---|
| Discord | Channel name, topic | Up to 100, only with Read Message History |
| LINE | Group name; none for multi-person rooms | None - the Messaging API has no history reader |
| Matrix | Room name, topic | Up to 100 readable room messages |
| Slack | Channel name, purpose, topic | Up to 100 via conversation history |
| Telegram | Group title, description, pinned message | None - the Bot API cannot read pre-join history |
If history is missing or cannot be read, the introduction still goes out using room metadata alone and states only what it can observe, never inventing activity.
Where it posts. LINE, Matrix, Slack, and Telegram introduce in the room that was joined. Discord joins a server rather than a channel, so it uses the system channel when it can both view and send there, otherwise the first text channel that qualifies; if no channel qualifies, it records a skip instead of posting.
How often. Once per room. A durable claim is recorded per channel, account, and room with a 90-day lifetime, so reconnects and gateway restarts do not repeat an introduction. Discord additionally ignores server-available events older than five minutes, so restarting never mass-introduces into servers the bot already belonged to. Matrix ignores startup room snapshots and membership updates that leave the bot joined, such as display-name changes. An unaccepted Matrix invite does not trigger an introduction. A re-invite after the claim expires introduces again.
Safety. Room titles, topics, pinned text, and message history are third-party content, so they are wrapped as untrusted external content and the introduction turn runs with no tools available at all. Instructions embedded in a room cannot reach a tool. The turn is bounded to 60 seconds, never runs in direct messages, and never bypasses channel access policy - a room the bot is not allowed to act in gets no introduction. Mention requirements do not apply, since a join event carries no message to mention the bot in.
Delivery notes
- Telegram replies containing markdown image syntax, such as
, are turned into media replies on the final outbound path when possible. - Slack multi-person DMs route as group chats, so group policy, mention behavior, and group-session rules apply to MPIM conversations.
- WhatsApp setup is install-on-demand: onboarding can show the setup flow before the plugin package is installed, and the Gateway loads the external ClawHub/npm plugin only when the channel is actually active.
- Channels that accept bot-authored inbound messages can use shared bot loop protection to prevent bot pairs from replying to each other indefinitely.
- Supported always-on rooms can use ambient room events
so unmentioned room chatter becomes quiet context unless the agent sends with
the
messagetool.
Notes
- Channels can run simultaneously; configure multiple and OpenClaw will route per chat.
- Fastest setup is usually Telegram (simple bot token, no plugin install). WhatsApp requires QR pairing and stores more state on disk.
- Group behavior varies by channel; see Groups.
- DM pairing and allowlists are enforced for safety; see Security.
- Troubleshooting: Channel troubleshooting.
- Model providers are documented separately; see Model Providers.