OpenClaw channels: three ways to connect a chat app
Choose a channel, connect it through chat, the control panel or the CLI, and check the difference between configured, connected and allowed to reply.
An OpenClaw channel connects your agent to a messaging service such as Telegram, WhatsApp, Discord or Slack. You can connect more than one. Start setup by asking an already-connected agent, opening Channels in OpenClaw’s control panel, or running openclaw channels add in a terminal. The service you choose determines what comes next: a bot token, a QR scan, an account connection or a public webhook.
Choose by where you want to talk
The official channel catalog lists the supported services and which plugins they need. A channel is not a model provider: Telegram carries your messages, while your chosen model generates the agent’s response. Connecting another messenger does not itself change that model.
- Telegram is OpenClaw’s suggested first channel: create a bot, connect its token and approve access. It does not need a dedicated phone number for the bot.
- WhatsApp links to a real account with a QR scan. Decide whose number the agent will speak from before linking.
- Discord and Slack fit work already happening in servers or workspaces. Their app permissions and room access are part of setup.
- Signal uses a Signal account and its bridge; iMessage needs a signed-in Mac in the connection, even when the agent runs elsewhere.
- Google Chat and Twilio SMS send events to a webhook. The service must be able to reach the configured URL.
Three ways to add a channel
Ask the agent from a working chat
You do not have to leave Telegram to begin connecting another service. In our September 10–11, 2026 tests, requests made in chat started WhatsApp and Discord setup; Slack also connected through the agent. The owner still had to supply provider credentials or scan the QR and approve access. Asking the agent delegates setup work, not ownership of those decisions.
Use the secure credential form when OpenClaw opens one, not an ordinary chat message containing a token. If a plugin install restarts the Gateway and interrupts setup, reconnect and check what was installed before beginning again. If an approval immediately becomes cancelled on 2026.9.1, the version-specific approval fix is the first thing to check.
Use the control panel
Open Channels in the OpenClaw Control UI. Our September 7 panel read found guided setup rows for the listed channels, with DM access requests alongside them. The panel is useful for seeing the connection and pending permissions in one place. A listed setup flow is not proof that every provider connection has completed successfully; our WhatsApp guided-panel path, for example, hit a linking failure.
Use the CLI
openclaw channels add
openclaw channels list
openclaw channels status --probeThe channels command reference covers provider-specific options and login commands. Adding an account, logging it in and admitting a sender are separate steps. A configured channel may still need a QR login; a connected channel may still be waiting for your pairing approval.
Connection method matters on a server
In the September tests, Telegram, Discord and Slack’s Socket Mode worked without a provider calling a public port on the agent’s machine. WhatsApp kept a linked session. Webhook-based services have the opposite direction: their servers call yours. A successful outbound internet check cannot prove that inbound path exists.
For a machine behind NAT, a tunnel or managed public endpoint can provide the inbound URL without opening a router port. Keep that URL stable across restarts and retain the service’s authentication checks. The n8n and webhook guide covers that distinction for automation calls.
Test the conversation, not just the status
Send a message from the account you intend to use, complete its access request, and confirm a reply in that same app. For an always-on installation, verify again after a restart. Our September 11 WhatsApp, Discord and Slack connections all passed that restart check; a channel merely appearing in the catalog would not have established it.