OpenClaw Channel Integrations: Connect Telegram, WhatsApp, Discord, and Slack
One assistant, every platform. OpenClaw connects to Telegram, WhatsApp, Discord, Slack, iMessage, Signal, Matrix, IRC, and more. This guide shows you how to pair each channel, configure routing, and use your assistant from anywhere.
Supported Channels
OpenClaw supports 20+ messaging platforms:
- Telegram — easiest setup, bot-based
- WhatsApp — QR code pairing, end-to-end encrypted
- Discord — great for communities
- Slack — perfect for team workflows
- iMessage — macOS only, requires BlueBubbles
- Signal — privacy-focused, requires signal-cli
- Matrix — federated, open protocol
- IRC — old-school, still works
- Microsoft Teams, Google Chat, LINE, Feishu, Mattermost, and more
Quick Start: Telegram
Telegram is the fastest to set up. No phone required, just a bot token.
Step 1: Create a Bot
/newbot- Bot name: "My OpenClaw Assistant"
- Bot username:
my_openclaw_bot (must end in _bot)123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11Step 2: Configure OpenClaw
Edit ~/.openclaw/openclaw.json:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
"dmPolicy": "pairing",
"allowFrom": []
}
}
}
Restart the Gateway:
openclaw gateway restart
Step 3: Message Your Bot
Open Telegram, search for your bot (@my_openclaw_bot), and send a message:
"Hello!"
Since dmPolicy is set to pairing, the bot will:
openclaw pairing approve
Wait for approval before processing your message
Approve the pairing:
openclaw pairing approve <code>
Now send another message:
"What's the weather in San Francisco?"
Your assistant responds!
Security: Restrict Access
Add your Telegram user ID to the allowlist:
{
"channels": {
"telegram": {
"allowFrom": ["@your_username", "1234567890"]
}
}
}
Get your user ID by messaging the bot and checking logs:
openclaw logs --tail 10
Look for from.id in the message.
WhatsApp: QR Code Pairing
WhatsApp requires QR code pairing (like WhatsApp Web).
Step 1: Enable WhatsApp
Edit ~/.openclaw/openclaw.json:
{
"channels": {
"whatsapp": {
"enabled": true,
"dmPolicy": "pairing"
}
}
}
Restart the Gateway:
openclaw gateway restart
Step 2: Pair Your Device
Generate a QR code:
openclaw channels login
Select WhatsApp. A QR code appears in your terminal.
On your phone:
Open WhatsApp → Settings → Linked Devices
Tap Link a Device
Scan the QR code
Done! OpenClaw is now connected to WhatsApp.
Step 3: Message Yourself
Send a message to your WhatsApp number from another device or contact.
Your assistant receives the message and responds.
Disconnecting
To unlink:
openclaw channels logout
Select WhatsApp.
Or from WhatsApp:
Settings → Linked Devices
Tap the OpenClaw device
Log Out
Discord: Bot Integration
Discord uses bots with OAuth2 tokens.
Step 1: Create a Discord App
Go to Discord Developer Portal
Click New Application
Name it: "OpenClaw Assistant"
Go to Bot tab → Add Bot
Copy the Token (keep it secret)
Step 2: Invite the Bot to Your Server
Go to OAuth2 → URL Generator
Select scopes: bot, applications.commands
Select permissions: Send Messages, Read Message History, Embed Links
Copy the generated URL
Open it in your browser and invite the bot to your server
Step 3: Configure OpenClaw
Edit ~/.openclaw/openclaw.json:
{
"channels": {
"discord": {
"enabled": true,
"token": "YOUR_BOT_TOKEN",
"dmPolicy": "pairing",
"groups": {
"*": {
"requireMention": true
}
}
}
}
}
Restart the Gateway:
openclaw gateway restart
Step 4: Test It
In your Discord server, mention the bot:
@OpenClaw What's 2+2?
The bot responds!
DMs:
You can also DM the bot directly. If dmPolicy: "pairing" is set, approve the pairing first.
Server-Specific Routing
Route different Discord servers to different agents:
{
"routing": {
"rules": [
{
"channel": "discord",
"guild": "123456789012345678",
"agent": "work"
},
{
"channel": "discord",
"guild": "987654321098765432",
"agent": "personal"
}
]
}
}
Slack: App Integration
Slack uses Socket Mode for bot interactions.
Step 1: Create a Slack App
Go to Slack API
Create New App → From scratch
Name: "OpenClaw"
Select your workspace
Step 2: Enable Socket Mode
Go to Socket Mode → Enable
Generate an app-level token:
- Name: openclaw-socket
- Scope: connections:write
- Copy the token (starts with xapp-)
Step 3: Add Bot Token Scopes
Go to OAuth & Permissions
Add scopes:
- chat:write
- channels:history
- groups:history
- im:history
- mpim:history
Install the app to your workspace
Copy the Bot User OAuth Token (starts with xoxb-)
Step 4: Configure OpenClaw
Edit ~/.openclaw/openclaw.json:
{
"channels": {
"slack": {
"enabled": true,
"mode": "socket",
"appToken": "xapp-YOUR-APP-TOKEN",
"botToken": "xoxb-YOUR-BOT-TOKEN"
}
}
}
Restart the Gateway:
openclaw gateway restart
Step 5: Invite the Bot
In a Slack channel:
/invite @OpenClaw
Mention the bot:
@OpenClaw What's the current time?
It responds!
DMs:
DM the bot directly for private conversations.
iMessage: macOS + BlueBubbles
iMessage requires macOS and the BlueBubbles server.
Step 1: Install BlueBubbles
Download from bluebubbles.app
Install and open
Follow the setup wizard
Note the server URL and password
Step 2: Configure OpenClaw
Edit ~/.openclaw/openclaw.json:
{
"channels": {
"bluebubbles": {
"enabled": true,
"url": "http://127.0.0.1:1234",
"password": "YOUR_PASSWORD"
}
}
}
Restart the Gateway.
Step 3: Send an iMessage
From another device, send an iMessage to your Mac's phone number or email.
OpenClaw receives it and responds via iMessage.
Signal: CLI-Based
Signal requires signal-cli installed.
Step 1: Install signal-cli
brew install signal-cli
Step 2: Register a Number
signal-cli -u +15555550123 register
Follow the prompts to verify the number.
Step 3: Configure OpenClaw
Edit ~/.openclaw/openclaw.json:
{
"channels": {
"signal": {
"enabled": true,
"number": "+15555550123"
}
}
}
Restart the Gateway.
Step 4: Send a Signal Message
Message the registered number from another Signal account.
OpenClaw receives and responds.
Matrix: Federated Messaging
Matrix uses homeserver accounts.
Step 1: Create a Matrix Account
Visit matrix.org or your preferred homeserver
Register an account (e.g., @openclaw:matrix.org)
Note your username and password
Step 2: Configure OpenClaw
Edit ~/.openclaw/openclaw.json:
{
"channels": {
"matrix": {
"enabled": true,
"homeserverUrl": "https://matrix.org",
"userId": "@openclaw:matrix.org",
"accessToken": "YOUR_ACCESS_TOKEN"
}
}
}
Get an access token:
curl -X POST https://matrix.org/_matrix/client/r0/login \
-d '{"type": "m.login.password", "user": "openclaw", "password": "YOUR_PASSWORD"}'
Copy the access_token from the response.
Restart the Gateway.
Step 3: Invite the Bot
From your Matrix client, invite @openclaw:matrix.org to a room.
Message the bot:
"Hello!"
It responds.
Multi-Channel Routing
Route different channels to different agents:
{
"routing": {
"rules": [
{
"channel": "telegram",
"agent": "personal"
},
{
"channel": "slack",
"agent": "work"
},
{
"channel": "discord",
"agent": "coding"
}
],
"default": "main"
}
}
Result:
- Telegram messages → personal agent (workspace:
/home/user/personal)
- Slack messages → work agent (workspace:
/home/user/work)
- Discord messages → coding agent (workspace:
/home/user/projects)
Each agent has isolated memory and config.
Group Chat Best Practices
Require Mentions
{
"channels": {
"telegram": {
"groups": {
"*": {
"requireMention": true
}
}
}
}
}
Now the bot only responds when explicitly mentioned.
Mention Patterns
{
"messages": {
"groupChat": {
"mentionPatterns": ["@openclaw", "hey openclaw", "openclaw:"]
}
}
}
Users can trigger the bot with:
@openclaw What's the weather?
hey openclaw, summarize this thread
openclaw: deploy staging
Troubleshooting
Channel Not Connecting
Check the logs:
openclaw logs --tail 50
Look for errors like:
- Invalid token
- Network connection failed
- Authentication error
Messages Not Reaching the Bot
Verify the channel is enabled:
openclaw status --deep
Check routing rules:
openclaw config get routing
Bot Not Responding
Check if the Gateway is running:
openclaw status
Restart if needed:
openclaw gateway restart
Conclusion
One assistant, every platform. Connect Telegram for personal use, Slack for work, Discord for communities, and WhatsApp for family. Route them to different agents with isolated workspaces. OpenClaw makes it seamless.
Unify your AI. 🦞