# OpenClaw Channels
Channels are [[OpenClaw]]'s adapters to messaging platforms. They translate between platform-specific event shapes (a Slack message, a Telegram update, an iMessage delivery report) and the gateway's typed event bus. Each channel is a plugin that registers with the [[OpenClaw Gateway|gateway]] and surfaces inbound traffic to the agent runtime.
The channel layer is what makes OpenClaw genuinely **multi-platform**: one self-hosted agent answers across every chat surface its operator uses, with consistent skills, memory, and policies.
## Built-In Channels
Shipped in-tree with the runtime:
- Discord
- Google Chat
- iMessage
- Matrix
- Microsoft Teams
- Signal
- Slack
- Telegram
- WhatsApp
- Zalo
## Plugin Channels
Available as separately installable plugins (`openclaw plugins install <name>`):
- BlueBubbles
- Zalo Personal
- Feishu, IRC, LINE, Mattermost, Nextcloud Talk, Nostr, QQ Bot, Synology Chat, Tlon, Twitch, WeChat, Yuanbao
- WebChat (browser-based chat client)
The line between built-in and plugin shifts release-to-release; the docs are the source of truth.
## Channel Features
Beyond bare messaging, the channel layer surfaces:
- **Channel routing** ; how messages reach the right agent (see [[OpenClaw Multi-Agent Routing]])
- **Group messages** ; multi-participant conversations with mention semantics
- **Channel location parsing** ; identifying the recipient context (DM vs group vs thread)
- **Access groups** ; who is allowed to address an agent on this channel
- **Broadcast groups** ; one-to-many publishing patterns
## Activation Modes
Per-channel `activation` can be:
- `mention` ; the agent only responds when explicitly addressed (default for groups)
- `always` ; the agent reads everything (used for personal DMs)
This is the small dial that decides whether a Discord server feels haunted or helpful.
## Security Posture
- **DM policies**: pairing mode (default, allowlist) vs open mode (explicit configuration required). Strong default ; nobody can DM the bot until the operator allows them
- **Group policies**: allowlist available for locked-down deployments
- **Per-channel sandbox**: non-main sessions can run in Docker sandboxes (`sandbox.mode: non-main`) so a public channel never executes tools on the host
## Common Pitfalls
- **Multiple bot accounts on the same channel** ; route via the *Account* binding layer, not by trying to differentiate inside the agent
- **Group chats with `activation: always`** ; the bot will respond to everything, often badly. Default to `mention` and switch only for trusted groups
- **iMessage on a non-Apple host** ; requires extra setup (BlueBubbles plugin or a Mac node)
## References
- Channels overview: https://docs.openclaw.ai/channels
- Telegram: https://docs.openclaw.ai/channels/telegram
## Related
- [[OpenClaw]]
- [[OpenClaw Gateway]]
- [[OpenClaw Multi-Agent Routing]]
- [[OpenClaw Nodes]]