OpenClaw Multi-Channel Setup: WhatsApp, Telegram, Discord & Slack (2026 Guide)
Connecting your AI assistant to multiple communication platforms transforms how you work. With OpenClaw's multi-channel architecture, you can interact with the same AI session across WhatsApp, Telegram, Discord, and Slack—seamlessly switching between platforms while maintaining conversation context.
This guide walks you through setting up all four channels, understanding the Gateway architecture that makes this possible, and implementing security best practices for production deployments.
How OpenClaw Multi-Channel Architecture Works
Before diving into platform-specific setups, understanding the underlying architecture helps you troubleshoot issues and plan your deployment.
Gateway Architecture Overview
OpenClaw uses a Gateway component that acts as a bridge between messaging platforms and your AI assistant. The Gateway:
- Receives messages from connected platforms via webhooks or polling
- Routes messages to the appropriate AI session based on channel mapping
- Maintains session continuity across platforms
- Handles authentication and security policies for each channel
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ WhatsApp │ │ Telegram │ │ Discord │ │ Slack │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │ │
└───────────────────┴───────────────────┴───────────────────┘
│
┌───────▼───────┐
│ Gateway │
└───────┬───────┘
│
┌───────▼───────┐
│ OpenClaw AI │
└───────────────┘
Session Routing and Context
When you send a message from any connected platform, OpenClaw routes it to your session based on:
- User identity - Your authenticated user account
- Channel binding - Which channel you're messaging from
- Session state - Active conversation context
This means you can start a conversation on WhatsApp during your commute, continue on Discord when you reach your workstation, and wrap up on Slack—all without losing context.
Prerequisites
Before setting up multiple channels, ensure you have:
- OpenClaw installed - Getting Started Guide
- Gateway configured - The
openclaw gatewayservice running - Admin access to target platforms (for bot/app creation)
- Domain or tunneling service for webhook endpoints (VPS, ngrok, or Tailscale Funnel)
WhatsApp Business API Setup
WhatsApp requires a Business API account through Meta's platform. This setup is more involved than other channels but offers reach to 2+ billion users.
Step 1: Create Meta Business Account
- Go to Meta for Developers
- Create a new app → Select "Business" type
- Add WhatsApp product to your app
- Note your Phone Number ID and Access Token
Step 2: Configure Webhook
# Set your WhatsApp credentials
openclaw config set whatsapp.phoneNumberId "YOUR_PHONE_NUMBER_ID"
openclaw config set whatsapp.accessToken "YOUR_ACCESS_TOKEN"
# Configure webhook endpoint
openclaw config set gateway.remote.url "https://your-domain.com"
Step 3: Verify and Subscribe
- In Meta Developer Console, configure webhook with your Gateway URL
- Verify token matches your
gateway.verifyTokenconfig - Subscribe to
messageswebhook field
Step 4: Test the Connection
Send a message to your WhatsApp Business number. You should see logs in:
openclaw gateway logs --channel whatsapp
Common Issue: WhatsApp messages not arriving? Check that your number is approved for production use (not just sandbox mode).
Telegram Bot Setup
Telegram offers the simplest bot setup of all platforms, making it ideal for testing and personal use.
Step 1: Create Bot with BotFather
- Open Telegram and search for
@BotFather - Send
/newbotand follow prompts - Save your bot token - you'll need it for configuration
Step 2: Configure OpenClaw
# Set Telegram bot token
openclaw config set telegram.botToken "1234567890:ABCdefGHIjklMNOpqrsTUVwxyz"
# Restart gateway to apply changes
openclaw gateway restart
Step 3: Set Webhook (Production)
For production deployments, set a webhook instead of polling:
openclaw telegram set-webhook --url "https://your-domain.com/api/telegram/webhook"
Step 4: Start Chatting
Find your bot on Telegram and send /start. OpenClaw will respond using your configured AI model.
Pro Tip: Use /help to see available commands specific to your OpenClaw setup.
Discord Bot Setup
Discord requires creating an application and configuring bot permissions. The setup enables rich interactions including slash commands.
Step 1: Create Discord Application
- Go to Discord Developer Portal
- Click "New Application" → Give it a name
- Navigate to "Bot" section → Click "Add Bot"
- Enable Message Content Intent (required for reading messages)
- Enable Slash Commands under OAuth2 settings
- Copy your Bot Token
Step 2: Configure Gateway Intents
# Set Discord bot token
openclaw config set discord.botToken "YOUR_BOT_TOKEN"
# Enable required intents
openclaw config set discord.intents.messageContent true
openclaw config set discord.intents.guildMessages true
openclaw config set discord.intents.guilds true
Step 3: Invite Bot to Server
Generate an invite URL with required permissions:
openclaw discord invite-link --permissions 277025508352
The permissions include:
- Read Messages
- Send Messages
- Read Message History
- Use Slash Commands
Step 4: Configure Channel Routing
Specify which Discord channels OpenClaw should respond to:
# In ~/.openclaw/config.yaml
discord:
channels:
- server: "Your Server Name"
channels: ["general", "ai-assistant"]
Slack App Setup
Slack requires creating a Slack App with Socket Mode for secure communication without exposing endpoints.
Step 1: Create Slack App
- Go to Slack API
- Click "Create New App" → "From scratch"
- Name your app and select your workspace
- Navigate to "Socket Mode" → Enable it
- Generate an App-Level Token with
connections:writescope
Step 2: Configure Bot Permissions
Add these Bot Token Scopes:
app_mentions:readchannels:historychat:writeim:historyim:read
Step 3: Install to Workspace
- Go to "Install App" section
- Install to your workspace
- Copy the Bot User OAuth Token (starts with
xoxb-)
Step 4: Configure OpenClaw
# Set Slack credentials
openclaw config set slack.botToken "xoxb-your-bot-token"
openclaw config set slack.appToken "xapp-your-app-token"
# Restart gateway
openclaw gateway restart
Step 5: Invite to Channels
In Slack, invite your bot to channels where you want OpenClaw active:
/invite @OpenClawBot
Advanced Channel Routing
Once all channels are configured, you can implement advanced routing patterns.
Per-Channel Model Selection
Route different channels to different AI models:
routing:
whatsapp:
model: "gpt-4" # High-quality responses
telegram:
model: "llama-70b" # Fast, cost-effective
discord:
model: "deepseek-coder" # Code-focused
slack:
model: "gpt-4" # Work contexts
Wildcard Routing
Use patterns to route multiple channels to the same session:
routing:
pattern: "*-work-*"
channels: ["slack", "discord"]
model: "claude-opus"
Multi-Agent Orchestration
For advanced setups, route different queries to specialized agents:
agents:
coding:
channels: ["discord", "slack"]
keywords: ["code", "debug", "implement"]
research:
channels: ["telegram", "whatsapp"]
keywords: ["search", "find", "research"]
Security Best Practices
Multi-channel deployments require careful security configuration. Each channel exposes different attack surfaces.
Channel Security Matrix
| Channel | Authentication Method | Risk Level | Recommended Actions |
|---|---|---|---|
| Signed requests from Meta | Medium | Verify webhook signatures | |
| Telegram | Bot token + chat ID | Low | Restrict bot to known users |
| Discord | Bot token + guild ID | Medium | Limit to specific servers |
| Slack | OAuth + Socket Mode | Low | Use Socket Mode only |
Risk Tolerance Configuration
OpenClaw's security.riskTolerance setting controls what actions the AI can take:
# Conservative - AI asks before executing commands
openclaw config set security.riskTolerance "low"
# Balanced - AI can read but not write
openclaw config set security.riskTolerance "medium"
# Permissive - Full autonomy (not recommended for multi-channel)
openclaw config set security.riskTolerance "high"
Recommendation: Use "medium" for multi-channel setups. This allows information retrieval across all channels while requiring explicit approval for system changes.
Run Security Audits
Regular audits identify configuration issues:
openclaw doctor --security
This checks:
- Webhook signature verification enabled
- Token expiration policies
- DM handling rules
- Rate limiting configuration
DM Handling Policies
Configure how OpenClaw handles direct messages:
dm:
allowFrom:
- "known-users" # Only users in your contacts
- "whitelisted-chats"
autoApprove: false # Require manual approval for new DM sources
maxMessageLength: 4000 # Prevent abuse via long messages
Home Server vs VPS Deployment
Your Gateway deployment choice affects reliability and security.
Home Server Deployment
Pros:
- Zero infrastructure costs
- Full control over data
- No external dependencies
Cons:
- Requires port forwarding or tunneling
- Downtime if home internet fails
- Limited bandwidth
Setup with Tailscale Funnel:
# Enable Funnel for external access
openclaw gateway funnel enable
# Your Gateway URL becomes:
# https://your-machine.tailnet-name.ts.net
VPS Deployment
Pros:
- 99.9% uptime SLA
- Static IP address
- Professional SSL certificates
Cons:
- Monthly costs ($5-20/mo typical)
- Data leaves your premises
Recommended VPS providers:
- DigitalOcean Droplet ($6/mo)
- Linode Nanode ($5/mo)
- Hetzner CX22 ($4/mo)
Quick VPS Setup:
# After installing OpenClaw on VPS
openclaw gateway start --public-url "https://your-domain.com"
Troubleshooting Common Issues
WhatsApp: "Message not delivered"
Cause: Unverified phone number or sandbox limitations
Solution:
- Complete business verification in Meta Business Suite
- Request production access for your WhatsApp number
- Check webhook logs for delivery status codes
Telegram: Bot not responding
Cause: Webhook conflict or token issue
Solution:
# Clear existing webhook
openclaw telegram delete-webhook
# Re-register webhook
openclaw telegram set-webhook --url "https://your-gateway-url/api/telegram"
# Verify token
openclaw telegram get-me
Discord: "Missing Permissions" errors
Cause: Bot lacks required intents or permissions
Solution:
- Re-enable "Message Content Intent" in Developer Portal
- Re-invite bot with updated permissions
- Check channel-specific permission overrides
Slack: Socket Mode disconnections
Cause: Network issues or token expiration
Solution:
# Check connection status
openclaw slack connection-status
# Reconnect with fresh token
openclaw slack reconnect
Cross-Channel: Session context lost
Cause: User identity not properly mapped across channels
Solution:
- Ensure same email/account used for channel binding
- Check Gateway logs for user resolution errors
- Re-link channels via OpenClaw settings
FAQ
Can I use different AI models for different channels?
Yes. Configure routing.model per channel in your config file. For example, use faster models for mobile channels (WhatsApp, Telegram) and more capable models for desktop channels (Discord, Slack).
How many channels can OpenClaw handle simultaneously?
OpenClaw supports unlimited concurrent channels. The practical limit is your Gateway server's resources—each active connection consumes memory and network bandwidth.
Is my conversation history synced across channels?
Yes. OpenClaw maintains session continuity across channels. Your conversation history follows you from WhatsApp to Discord to Slack. However, platform-specific features (like Discord threads) may display history differently.
What happens if one channel goes down?
Each channel operates independently. If WhatsApp experiences an outage, your Telegram and Discord connections continue working. The Gateway automatically attempts reconnection when the channel recovers.
Can I restrict OpenClaw to specific Discord servers or Slack workspaces?
Yes. Configure discord.allowedServers or slack.allowedWorkspaces arrays in your config to whitelist specific destinations. Messages from unlisted servers will be ignored.
How do I disable a channel temporarily?
# Disable specific channel
openclaw config set whatsapp.enabled false
# Restart gateway to apply
openclaw gateway restart
Are there rate limits per channel?
Yes, each platform imposes rate limits:
| Platform | Rate Limit | OpenClaw Handling |
|---|---|---|
| 80 msg/min | Automatic queuing | |
| Telegram | 30 msg/sec | Automatic queuing |
| Discord | 50 msg/sec (per server) | Automatic queuing |
| Slack | 1 msg/sec (per channel) | Threaded responses |
Next Steps
Now that your multi-channel setup is complete:
- Test each channel - Send messages from all configured platforms
- Configure advanced routing - Set up channel-specific models and agent routing
- Enable security monitoring - Run
openclaw doctor --securityweekly - Explore automation - Check out OpenClaw Automation Ideas for workflow inspiration
For deployment considerations, see our OpenClaw Security Setup Guide for hardening production instances.
Last updated: April 24, 2026 | Author: Hal, Senior Technical Editor at LobsterDome



