On this page
- How channels work
- Side-by-side comparison
- Which channel to pick first
- Telegram โ the recommended start
- WhatsApp โ already on your phone
- Discord โ communities & rich formatting
- iMessage โ native macOS experience
- Slack โ workplace assistant
- Signal โ maximum privacy
- WebChat โ built-in, always available
- Other channels
- Running multiple channels
- Channel troubleshooting
๐ก How channels work
Every channel is a bridge between a messaging platform and your OpenClaw gateway. Messages flow like this:
You (phone/desktop)
โ Messaging App (Telegram, WhatsApp, etc.)
โ OpenClaw Gateway (ws://127.0.0.1:18789)
โ AI Model (Claude, GPT, etc.)
โ Response back through the same path
Key facts:
- Same assistant everywhere โ your agent's personality, memory, and skills work identically across all channels
- Run multiple simultaneously โ Telegram + Discord + iMessage all at once, routed through one gateway
- Per-channel security โ each channel gets its own
dmPolicy,allowFrom, andgroupPolicy - Session isolation โ each user on each channel gets their own isolated conversation context
CLI basics
# List all configured channels
openclaw channels list
# Check connection status
openclaw channels status --probe
# Interactive channel setup
openclaw channels login
# Add a specific channel
openclaw channels add --channel telegram --token $TOK
๐ Side-by-side comparison
| Channel | Setup | Stability | Groups | Voice | Media | Needs |
|---|---|---|---|---|---|---|
| Telegram | Easy | โญโญโญ | โ | โ | โ | Bot token |
| Discord | Easy | โญโญโญ | โ | โ | โ | Bot token |
| Medium | โญโญ | โ | โ | โ | Phone + QR scan | |
| Slack | Medium | โญโญโญ | โ | โ | โ | App + tokens |
| iMessage | Medium | โญโญ | Limited | โ | โ | Mac running 24/7 |
| Signal | Hard | โญ | โ | โ | โ | signal-cli + phone |
| WebChat | Free | โญโญโญ | โ | โ | โ | Nothing โ built in |
| Google Chat | Medium | โญโญโญ | โ | โ | โ | Workspace + bot |
| Teams | Hard | โญโญ | โ | โ | โ | Azure app reg |
| Matrix | Medium | โญโญ | โ | โ | โ | Homeserver account |
๐ค Which channel to pick first
โ Short answer: Start with Telegram. It has the easiest setup (5 minutes), highest stability, works on every device, requires no public IP or domain, and supports voice, media, groups, and inline keyboards. You can always add more channels later.
Decision guide
| If you wantโฆ | Pick this |
|---|---|
| Fastest setup, zero friction | Telegram |
| Already using it daily, everyone has it | |
| Community / team use with rich formatting | Discord |
| Most natural "text a friend" feel on macOS | iMessage |
| Workplace assistant with threads | Slack |
| Maximum privacy, end-to-end encryption | Signal |
| Enterprise / Microsoft ecosystem | Teams |
| Federated, self-hosted, decentralized | Matrix |
Telegram
Easy ยท 5 minThe most recommended first channel. Uses the official Bot API via grammY, long-polling by default (no public IP needed), production-ready for DMs and groups.
Setup
- Open Telegram โ search @BotFather โ send
/newbot - Follow the prompts, choose a name and username
- Copy the bot token (looks like
123456:ABC-DEF...) - Add it to OpenClaw:
openclaw channels add --channel telegram --token YOUR_BOT_TOKEN
Or paste the token during openclaw onboard. Telegram uses token-based auth โ it does not use channels login (thatโs for WhatsApp QR pairing).
Manual config
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456:ABC-your-token-here",
"dmPolicy": "pairing",
"allowFrom": ["your_telegram_user_id"]
}
}
}
Why it's the best starter
- No public IP needed โ uses long-polling, not webhooks
- Voice notes work โ speak to your agent, get voice back
- Survives reboots โ reconnects automatically
- Works everywhere โ phone, tablet, desktop, web
- Groups supported โ add the bot to group chats with mention gating
๐ก Tip: Use /setdescription and /setabouttext in BotFather to customize what people see when they find your bot. Use /setuserpic to add a profile picture.
Uses a WhatsApp Web bridge โ your personal account or a dedicated SIM acts as the bot. Ubiquitous, natural mobile experience, great voice notes. Less stable than Telegram.
Setup
openclaw channels login whatsapp
This displays a QR code in your terminal. Scan it with WhatsApp on your phone (Settings โ Linked Devices โ Link a Device).
Config
{
"channels": {
"whatsapp": {
"enabled": true,
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567"],
"groupPolicy": "allowlist"
}
}
}
Gotchas
- QR scan required on reboot โ WhatsApp Web sessions can expire; you may need to re-scan periodically
- Uses your phone number โ the bot sends messages from your WhatsApp account (or a dedicated SIM)
- Rate limits โ WhatsApp has stricter anti-spam than Telegram; don't send too many automated messages
- Less stable โ WhatsApp changes their Web protocol occasionally, which can break the bridge
โ ๏ธ Dedicated SIM recommended. Using your personal WhatsApp for the bot means your contacts see "online" status from the bot's activity. A cheap prepaid SIM solves this.
Discord
Easy ยท 10 minExcellent for communities and teams. Rich formatting, threads, reactions. Requires creating a Discord application and bot. Very stable connection.
Setup
- Go to Discord Developer Portal โ New Application
- Go to Bot tab โ create bot โ copy token
- Under OAuth2, generate an invite URL with
bot+applications.commandsscopes - Invite the bot to your server
- Add the token to OpenClaw:
{
"channels": {
"discord": {
"enabled": true,
"token": "YOUR_DISCORD_BOT_TOKEN",
"dmPolicy": "pairing",
"allowFrom": ["your_discord_user_id"]
}
}
}
Discord-specific features
- Thread support โ conversations in threads keep channels clean
- autoArchiveDuration (v2026.3.11) โ set thread archiving to 1h (60), 1d (1440), 3d (4320), or 1 week (10080) instead of the 1h default
- Mention gating โ
requireMention: trueso the bot only responds when @mentioned - Slash commands โ OpenClaw skills auto-register as Discord slash commands
- Rich embeds โ formatted responses with color, fields, and images
๐ก Security note: Use numeric Discord user IDs in allowFrom, not usernames. Usernames can be changed; IDs are permanent. The openclaw security audit will warn you about name-based entries.
iMessage
Medium ยท 10 min ยท macOS onlyThe most natural experience on Apple devices โ text your agent like texting a friend. Requires a Mac running 24/7 as the gateway host. Uses native Messages framework or BlueBubbles.
Setup
openclaw channels add imessage
The wizard walks you through granting permissions. You'll need to allow OpenClaw access to Messages via macOS Privacy settings.
Two approaches
| Method | Pros | Cons |
|---|---|---|
| Native (legacy) | Direct macOS integration, simplest | Fragile โ Apple updates can break it |
| BlueBubbles | More reliable, actively maintained bridge | Requires BlueBubbles server setup |
Gotchas
- Mac must run 24/7 โ if the Mac sleeps or reboots, iMessage goes offline
- Apple updates break things โ macOS updates occasionally change the Messages framework
- Permissions โ macOS requires granting Automation, Notifications, and sometimes Accessibility access
- No Android โ only works for people messaging from Apple devices
โ Best used alongside Telegram. iMessage gives you the natural "text a friend" experience on your iPhone, while Telegram serves as the reliable backup that works everywhere and doesn't depend on a Mac being online.
Slack
Medium ยท 15 minBest for workplace use. Bot + App Token setup, supports threads and channels. Socket Mode avoids needing a public URL. Very stable once configured.
Setup
- Go to api.slack.com โ Create New App โ From Manifest
- Add required scopes (chat:write, app_mentions:read, im:read, im:write, etc.)
- Enable Socket Mode (avoids public URL requirement)
- Install the app to your workspace
- Copy Bot Token + App Token + Signing Secret
{
"channels": {
"slack": {
"enabled": true,
"botToken": "xoxb-...",
"appToken": "xapp-...",
"signingSecret": "...",
"dmPolicy": "pairing"
}
}
}
Best for
- Work assistant that lives in your Slack workspace
- Team-shared agent with per-user session isolation
- Thread-based conversations that don't clutter channels
- Integration with existing Slack workflows
Signal
Hard ยท 20+ minMaximum privacy with end-to-end encryption. Requires signal-cli (Java-based) and a dedicated phone number. High maintenance โ Signal protocol updates can break the bridge.
Setup
# Install signal-cli (requires Java)
brew install signal-cli
# Register a phone number
signal-cli -u +15551234567 register
# Verify with SMS code
signal-cli -u +15551234567 verify 123-456
# Configure in OpenClaw
openclaw channels add signal
Why it's hard
- Java dependency โ signal-cli requires a JRE
- Dedicated phone number โ can't use your main Signal account
- Frequent breakage โ Signal updates their protocol regularly, which breaks signal-cli
- No official bot API โ this is a workaround, not an officially supported integration
โ ๏ธ Only for privacy purists. Signal is the most secure channel but also the most fragile. If you just want privacy without the maintenance burden, Telegram with dmPolicy: "allowlist" and a self-hosted VPS is a pragmatic alternative.
WebChat
Built-in ยท 0 minAvailable at http://localhost:18789 the moment your gateway starts. No config needed. Great for testing, debugging, and desktop use.
WebChat is always available โ it's the Control UI's built-in chat interface. There's nothing to configure. Just open your browser and go.
When to use WebChat
- Testing โ verify your SOUL.md tone, USER.md context, and skill behavior before connecting a real channel
- Debugging โ see raw model responses, tool calls, and context usage
- Desktop workflow โ if your agent is primarily a coding/productivity assistant and you're always at your computer
Limitations
- Only accessible from your local machine (or via SSH tunnel/Tailscale)
- No push notifications โ you have to check it manually
- No mobile access unless you set up remote access
- Not practical as your primary daily channel
๐ Reminder: The WebChat at :18789 is an admin interface. Never expose it to the public internet. See the Security Guide for how to secure it.
๐ Other supported channels
OpenClaw supports many more channels beyond the major ones above:
| Channel | Notes | Setup |
|---|---|---|
| Google Chat | Workspace bot, good for Google-centric teams | Medium |
| Microsoft Teams | Enterprise, requires Azure app registration | Hard |
| Matrix | Federated, self-hosted, decentralized | Medium |
| Synology Chat | For Synology NAS users โ native channel since v2026.2.22 | Medium |
| LINE | Popular in Japan/Thailand/Taiwan | Medium |
| Zalo / Zalo Personal | Popular in Vietnam | Medium |
| Mattermost | Self-hosted Slack alternative | Medium |
| Nextcloud Talk | For Nextcloud users | Medium |
| IRC | Classic, for the old-school crowd | Easy |
| Nostr | Decentralized social protocol | Medium |
| Twitch | Streaming chat integration | Medium |
| Feishu | Popular in Chinese enterprises | Medium |
All channels follow the same config pattern in openclaw.json. Check docs.openclaw.ai for each channel's specific setup requirements.
๐ Running multiple channels
One of OpenClaw's strengths โ run as many channels as you want simultaneously through a single gateway.
Example: personal + work setup
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "...",
"dmPolicy": "pairing"
},
"discord": {
"enabled": true,
"token": "...",
"dmPolicy": "allowlist",
"allowFrom": ["your_id"]
},
"slack": {
"enabled": true,
"botToken": "xoxb-...",
"appToken": "xapp-...",
"dmPolicy": "pairing"
}
}
}
OpenClaw routes messages automatically per chat. Your agent's memory, personality, and skills are shared across all channels โ the same assistant, different surfaces.
Channel-specific MESSAGING.md tone
You can set different tone rules per channel in your workspace files:
# MESSAGING.md
## Channel Tone
- iMessage: casual, brief, emoji ok
- Slack: professional, no emoji, thread-aware
- Telegram: conversational, medium length
- Discord: friendly, can use formatting/embeds
๐ก Agent routing: For advanced setups, you can route different channels to different agents โ each with their own workspace, personality, and tool access. See agents.list in the config for multi-agent routing.
๐ง Channel troubleshooting
Universal steps
# Check all channel connections
openclaw channels status --probe
# Channel-specific logs (e.g. Telegram)
openclaw channels logs --channel telegram
# Watch live logs for channel errors
openclaw logs --follow
# Full diagnostic
openclaw doctor --deep --yes
Common issues
| Problem | Fix |
|---|---|
| Bot doesn't respond | Check dmPolicy โ is the sender allowed? Check openclaw logs --follow |
| WhatsApp disconnects | Re-scan QR code. WhatsApp Web sessions expire. Consider Telegram as backup. |
| Discord bot offline | Verify token hasn't been regenerated. Check Privileged Gateway Intents are enabled. |
| iMessage not sending | Check macOS permissions (Automation, Accessibility). Ensure Mac isn't sleeping. |
| Slack bot no replies | Verify Socket Mode is enabled. Check all three tokens (bot, app, signing). |
| "Channel not found" | openclaw channels list โ is the channel enabled in config? |
| Messages delayed | Check model latency. Use /status in chat. Consider fast model for simple responses. |
| Pairing code not sent | Ensure dmPolicy: "pairing" is set. Check logs for errors on incoming message. |
โ Pro tip: Always keep Telegram as a fallback channel even if it's not your primary. It's the most reliable and requires no maintenance. If WhatsApp or iMessage break, you still have a working connection to your agent.