Channels are the bridges between chat platforms and your OpenClaw Gateway. Each channel has an adapter that handles platform-specific authentication, webhook registration, and message format translation. OpenClaw supports 20+ channels out of the box -- WhatsApp, Telegram, Discord, Slack, iMessage, Signal, IRC, Google Chat, WebChat, and plugin channels like Teams, Matrix, LINE, Mattermost, and more. You can connect multiple channels simultaneously, and each channel can have multiple accounts.
Master openclaw channels & multi-platform messaging
Take the Introduction to OpenClaw course with hands-on lessons and challenges.
Each platform has its own authentication method. WhatsApp uses QR code scanning, while Telegram and Discord use bot tokens from BotFather and the Discord Developer Portal respectively. The --label flag gives each account a human-readable name for easier management.
This configuration enables four channels and explicitly disables Slack. Discord is restricted to a specific guild for security. WebChat is locked to requests from your domain via CORS. Each channel uses environment variables for sensitive credentials.
Each WhatsApp number gets its own accountId and can be bound to a different agent. The US number routes to a US-focused support agent, while the EU number routes to an EU-focused agent with GDPR compliance knowledge. Both run on the same Gateway.
Broadcast groups send agent responses to multiple channels simultaneously. When the deployment agent finishes a deploy, the notification goes to Slack, Discord, and Telegram at once. Each channel receives a platform-appropriate version of the message (Slack gets rich blocks, Discord gets embeds, Telegram gets markdown).
Plugin channels extend OpenClaw beyond the built-in adapters. After installation, they are configured in openclaw.json just like built-in channels. Each plugin follows the same adapter interface, so routing and message normalization work identically.
Reusing the same bot token across multiple gateways, causing disconnection loops as each gateway fights for the connection
A single bot token can only be connected to one gateway at a time. If you need multiple gateways, create separate bot applications with their own tokens for each one.
Forgetting to enable required Discord bot intents (Message Content, Guild Members) in the Developer Portal, causing the bot to silently miss messages
Discord requires explicit intent permissions. Enable the Message Content and Server Members intents in the Discord Developer Portal before connecting the bot to OpenClaw.
Adding a new channel account without creating a binding, causing messages to route to the default agent instead of the intended one
Every new channel account needs an explicit agent binding unless you want it handled by the default agent. After adding an account with `openclaw channels login`, update your routing configuration.
Creating broadcast groups that include channels the agent also listens on, causing infinite message loops
Audit broadcast groups to ensure no circular dependencies. A broadcast should target channels that are output-only for that particular flow, not channels the same agent monitors for input.
OpenClaw channels are bidirectional adapters that connect 20+ chat platforms to your Gateway. Each channel normalizes platform-specific APIs into a standard message format. You can connect multiple accounts per channel type, bind each to different agents, and use broadcast groups for cross-platform notifications. Plugin channels extend support to platforms like Teams, Matrix, and LINE. Always use environment variables for credentials, restrict access with allowedUsers/allowedGuilds, and test each channel independently.
Interactive lessons and challenges on Stanza, practice in VS Code, Cursor, or the web.
Interactive lessons and challenges, right in your code editor.
Check the free courses. No credit card.