Channel Configuration Guide
Connect OpenClaw to your favorite messaging platforms. This guide covers Telegram, Discord, and Slack setup with troubleshooting tips.
Prerequisites
- OpenClaw installed and running (
openclaw gateway statusshows healthy) - An API key configured for your LLM provider
- Admin access to create bots on your chosen platform
Telegram
Telegram is the easiest channel to set up — just create a bot and add the token.
Step 1: Create a Bot with BotFather
- Open Telegram and search for @BotFather
- Send
/newbot - Choose a name (e.g., "My OpenClaw Assistant")
- Choose a username (must end in
bot, e.g.,myopenclawbot) - Copy the token — it looks like
123456789:ABCdefGHIjklMNOpqrsTUVwxyz
Step 2: Add the Channel
openclaw channels add --channel telegram --token "YOUR_BOT_TOKEN"
Step 3: Restart the Gateway
openclaw gateway restart
Step 4: Start Chatting
- Find your bot on Telegram (search for the username you chose)
- Send
/startor any message - The first message triggers a pairing request — OpenClaw will ask you to authorize your Telegram user ID
- Once paired, you can chat freely
Telegram Tips
Set bot commands for a better UX:
- Go back to @BotFather
- Send
/setcommands - Select your bot
- Send:
start - Start chatting help - Show help status - Check bot status
Enable inline mode (optional):
- Send
/setinlineto @BotFather - Select your bot
- Set a placeholder like "Ask me anything..."
Privacy mode: By default, bots only see messages that mention them in groups. To see all messages, disable privacy mode via @BotFather → /setprivacy.
Discord
Discord requires creating an application and bot in the Developer Portal.
Step 1: Create a Discord Application
- Go to the Discord Developer Portal
- Click New Application
- Name it (e.g., "OpenClaw")
- Go to the Bot tab
- Click Add Bot
- Under Token, click Reset Token and copy it
Step 2: Configure Bot Permissions
Still in the Developer Portal:
- Go to Bot tab
- Enable these Privileged Gateway Intents:
- ✅ Message Content Intent
- ✅ Server Members Intent (if you want member info)
- Go to OAuth2 → URL Generator
- Select scopes:
bot,applications.commands - Select bot permissions:
- Send Messages
- Read Message History
- Add Reactions
- Use Slash Commands
- Copy the generated URL and open it to invite the bot to your server
Step 3: Add the Channel
openclaw channels add --channel discord --token "YOUR_BOT_TOKEN"
Step 4: Restart and Test
openclaw gateway restart
Mention your bot in any channel it has access to: @YourBot hello!
Discord Tips
Slash commands: OpenClaw registers /claw by default. Type /claw in Discord to see available commands.
Multiple servers: The same bot token works across all servers you've invited it to. Use allowlists in your OpenClaw config to restrict which servers/channels it responds in.
Rate limits: Discord has strict rate limits. If your bot stops responding, check openclaw logs for rate limit errors.
Slack
Slack requires both a Bot Token and an App Token for socket mode.
Step 1: Create a Slack App
- Go to api.slack.com/apps
- Click Create New App → From scratch
- Name it and select your workspace
Step 2: Configure OAuth & Permissions
- Go to OAuth & Permissions
- Add these Bot Token Scopes:
app_mentions:readchat:writechannels:historygroups:historyim:historympim:historyusers:read
- Click Install to Workspace
- Copy the Bot User OAuth Token (starts with
xoxb-)
Step 3: Enable Socket Mode
- Go to Socket Mode
- Enable it
- Create an App-Level Token with
connections:writescope - Copy the token (starts with
xapp-)
Step 4: Enable Events
- Go to Event Subscriptions
- Enable events
- Subscribe to bot events:
app_mentionmessage.channelsmessage.groupsmessage.immessage.mpim
Step 5: Add the Channel
Slack needs both tokens:
openclaw channels add --channel slack \
--bot-token "xoxb-your-bot-token" \
--app-token "xapp-your-app-token"
Step 6: Restart and Test
openclaw gateway restart
Mention your bot in Slack: @YourBot hello!
Slack Tips
Direct messages: Users can DM the bot directly from the Apps section in Slack.
Channel access: The bot only sees channels it's been invited to. Use /invite @YourBot in channels where you want it active.
WhatsApp uses a QR code pairing flow (similar to WhatsApp Web).
Step 1: Add the Channel
openclaw channels add --channel whatsapp
Step 2: Scan the QR Code
OpenClaw will display a QR code in the terminal. Scan it with WhatsApp:
- Open WhatsApp on your phone
- Go to Settings → Linked Devices
- Tap Link a Device
- Scan the QR code
Step 3: Restart the Gateway
openclaw gateway restart
WhatsApp Limitations
- One session per number: You can only have one WhatsApp Web session active at a time
- No business API: This uses the personal WhatsApp protocol, not the official Business API
- Session expiry: Sessions can expire; you may need to re-scan periodically
Signal
Signal requires the signal-cli tool to be installed separately.
Step 1: Install signal-cli
# Download the latest release
VERSION="0.13.4"
wget "https://github.com/AsamK/signal-cli/releases/download/v${VERSION}/signal-cli-${VERSION}.tar.gz"
tar xf "signal-cli-${VERSION}.tar.gz" -C /opt
ln -sf "/opt/signal-cli-${VERSION}/bin/signal-cli" /usr/local/bin/signal-cli
Step 2: Register or Link
Option A: Register a new number
signal-cli -u +1234567890 register
signal-cli -u +1234567890 verify CODE_FROM_SMS
Option B: Link to existing Signal account
signal-cli link -n "OpenClaw"
# Scan the QR code with Signal on your phone
Step 3: Add the Channel
openclaw channels add --channel signal --signal-number "+1234567890"
Troubleshooting
"Unknown channel: telegram" Error
This is a known bug in OpenClaw v2026.3.2. The channels add command doesn't recognize channel names.
Workaround: Use the interactive configuration wizard:
openclaw configure --section channels
This opens an interactive menu to add channels.
Alternative: Manually edit ~/.openclaw/openclaw.json:
{
"channels": {
"telegram": {
"default": {
"token": "YOUR_BOT_TOKEN"
}
}
}
}
Then restart: openclaw gateway restart
Channel Not Responding
-
Check channel status:
openclaw channels listEnsure your channel shows as "configured" and "enabled".
-
Check logs for errors:
openclaw logs | grep -i telegram # or discord, slack, etc. -
Verify the token:
# For Telegram, test the token directly: curl "https://api.telegram.org/bot<YOUR_TOKEN>/getMe" -
Restart the gateway:
openclaw gateway restart
Bot Doesn't See Messages
Telegram:
- In groups, enable "Privacy mode: disabled" via @BotFather
- Or mention the bot directly:
@yourbot hello
Discord:
- Ensure "Message Content Intent" is enabled in Developer Portal
- Check the bot has "Read Message History" permission in the channel
Slack:
- Invite the bot to the channel:
/invite @YourBot - Ensure Socket Mode is enabled
Rate Limiting
All platforms have rate limits. If your bot stops responding:
- Check logs:
openclaw logs | grep -i "rate limit" - Wait a few minutes for limits to reset
- Consider adding delays between responses in high-traffic channels
Multiple Accounts
You can run multiple accounts for the same platform:
# Add a second Telegram bot
openclaw channels add --channel telegram --token "SECOND_BOT_TOKEN" --account secondary
# List all accounts
openclaw channels list
Security Best Practices
Use Allowlists
Restrict which users or groups can interact with your bot:
openclaw config set channels.telegram.default.allowlist '["123456789"]'
Separate Bots for Sensitive Operations
If your agent has access to sensitive tools (email, files, etc.), consider:
- A public bot with limited capabilities
- A private bot with full access, restricted to your user ID only
Rotate Tokens Periodically
If you suspect a token has been compromised:
- Regenerate the token on the platform (BotFather, Discord Portal, etc.)
- Update OpenClaw:
openclaw channels add --channel telegram --token "NEW_TOKEN" openclaw gateway restart
Quick Reference
| Platform | Token Source | Command |
|---|---|---|
| Telegram | @BotFather | --channel telegram --token "..." |
| Discord | Developer Portal → Bot | --channel discord --token "..." |
| Slack | OAuth & Permissions + Socket Mode | --channel slack --bot-token "xoxb-..." --app-token "xapp-..." |
| QR code scan | --channel whatsapp | |
| Signal | signal-cli registration | --channel signal --signal-number "+..." |
What's Next?
- Post-Install Setup — Complete your OpenClaw configuration
- Security Hardening — Lock down your agent
- Troubleshooting — Fix common issues