OpenClaw Multi-Platform Configuration: Managing AI Assistants Across 13 Channels

3 AM. I’m staring at my phone screen, frustrated.
I just asked my AI assistant on WhatsApp to organize tomorrow’s meeting agenda. Then at the office, I open Slack—the AI has no memory of our morning conversation. I have to explain everything again from scratch. Same story in the evening when the team meets on Discord—the AI acts like it has amnesia.
“Why can’t I have ONE AI assistant that remembers me across all platforms?”
That thought led me down the OpenClaw rabbit hole. Honestly, when I saw their website claiming support for 13 platforms, my first reaction was “the configuration must be a nightmare.” Turns out, the Channel layer architecture is actually quite clever—you deploy once and can connect via Telegram, WhatsApp, Discord, Slack, or any other platform, with all conversations seamlessly synced.
In the next 15 minutes, I’ll walk you through the complete process of configuring three platforms, plus the pitfalls I encountered and security configuration tips. If you’re like me, juggling different platforms for work and life, this article will save you a ton of headaches.
How Does OpenClaw’s Channel Layer Architecture Work?
When I first started exploring OpenClaw, I was curious about one thing: Telegram stickers, Discord embeds, WhatsApp voice messages—they’re all completely different formats. How does OpenClaw make them “speak the same language”?
The answer lies in the Channel Adapters layer.
The Magic of Message Normalization
Imagine this: you send a sticker on Telegram, an embed with an image on Discord, and a voice message on WhatsApp. These have completely different data structures on their respective platforms, but Channel Adapters convert them into a unified format that OpenClaw understands.
Specifically:
- Telegram stickers → standardized image attachments
- Discord embeds → parsed into text + media combinations
- WhatsApp reactions → converted to emoji text
- Voice messages → audio files extracted and transcribed (if configured)
This process is completely transparent to you. You just send messages on any platform, and OpenClaw automatically handles the format conversion.
Gateway Server: The Traffic Hub
After message normalization, everything enters the Gateway Server. This is OpenClaw’s core brain, responsible for three things:
- Session Router: Determines which session this message belongs to. Is it your personal DM? A team group? Or the same conversation across platforms?
- Lane Queue: Controls concurrency. If you send messages on three platforms simultaneously, Lane Queue ensures they don’t conflict and are processed in order.
- Message Forwarding: Sends AI replies back to the correct platform and correct person.
Honestly, when I first saw the Session Router configuration options, I was a bit confused. What’s “per-channel-peer” or “per-account-channel-peer”? I’ll explain these strategies in detail later. For now, just remember this: Gateway lets you start a conversation on WhatsApp and continue it seamlessly on Telegram.
13 Platforms—Which Ones Do You Want?
OpenClaw currently supports:
- Instant Messaging: WhatsApp, Telegram, Signal, iMessage (via BlueBubbles)
- Team Collaboration: Slack, Microsoft Teams, Google Chat, Discord
- Others: Matrix, Zalo, Twitch, WebChat
My combo is Telegram (personal) + WhatsApp (family & friends) + Discord (tech communities). You can choose based on your own scenarios.
Hands-On Configuration for Three Platforms (Follow Along, Done in 15 Minutes)
Alright, enough theory. Let’s get our hands dirty.
Installation and Initialization
Open your terminal and run these two commands:
npm install -g openclaw@latest
openclaw onboard --install-daemononboard will ask you a few questions:
- Choose AI provider: Claude, GPT, Gemini, or local model? (I chose Claude—I’m used to it)
- API key: Paste it in, make sure there are no spaces or quotes
- Gateway port: Default 18789, don’t change it
After a few minutes, you’ll see:
✓ Gateway WebSocket server started on ws://127.0.0.1:18789
✓ Control UI available at http://localhost:18789Congrats, OpenClaw is now running on your machine.
Security tip: Control UI is only accessible from localhost by default. If you’re on a remote server, use SSH tunneling:
ssh -N -L 18789:127.0.0.1:18789 your-serverTelegram Configuration: The Easiest Entry Point
Let’s start with Telegram because it’s the quickest to configure.
Create a Bot:
- Open Telegram and search for @BotFather
- Send
/newbot - Give your bot a name (like “My OpenClaw Assistant”)
- Get the Token (looks like
1234567890:ABCdefGHIjklMNOpqrsTUVwxyz)
Configure OpenClaw:
openclaw config set telegram.token "YOUR_BOT_TOKEN"Replace
YOUR_BOT_TOKENwith the actual token you just got.Verify:
- Search for your bot name on Telegram
- Send
/start - If the bot replies, you’re good to go
My first time configuring, the bot didn’t respond. Turned out I’d copied the token with a newline character. So, always check for extra characters before or after the token.
WhatsApp Configuration: QR Code Pairing
WhatsApp is slightly more complex because it uses a phone pairing mechanism.
Start Pairing:
openclaw config set whatsapp.enabled true openclaw gateway restartScan the QR Code:
- The terminal will display a QR code
- Open WhatsApp → Settings → Linked Devices → Link a Device
- Scan the QR code from the terminal
Wait for Connection:
You’ll see “WhatsApp connected” when successful.
Important notes:
- Your phone and computer must be online for OpenClaw to send/receive messages (WhatsApp’s limitation)
- If the QR code expires, re-run
openclaw gateway restart - OpenClaw uses the Baileys library, following WhatsApp Web protocol. No official ban yet, but policies may change—evaluate the risk yourself
I was initially worried WhatsApp might ban my account, but as long as you don’t mass-spam, normal usage is fine. After all, it works the same way as WhatsApp Web.
Discord Configuration: Permissions Are Key
Discord requires creating an application in the Developer Portal—a few more steps.
Create Application:
- Visit https://discord.com/developers/applications
- Click “New Application” and give it a name
- Go to the “Bot” page, click “Add Bot”
- Copy the Token
Set Permissions:
This step is crucial—insufficient permissions mean the bot won’t receive messages.- Go to “OAuth2 → URL Generator”
- Scopes: check
bot - Bot Permissions: check these:
- Read Messages/View Channels
- Send Messages
- Read Message History
- Attach Files
- Copy the generated URL, open it in a browser, and invite the bot to your server
Configure OpenClaw:
openclaw config set discord.token "YOUR_DISCORD_BOT_TOKEN" openclaw config set discord.guildId "YOUR_SERVER_ID"How to get Guild ID?
- Enable Developer Mode in Discord (Settings → Advanced → Developer Mode)
- Right-click your server icon → Copy ID
Test:
- @mention your bot in any Discord channel
- Send a message and see if the bot replies
My first Discord configuration, the bot wouldn’t reply. After extensive checking, I found the issue—I hadn’t checked Read Message History in permissions. So don’t skip that permissions step.
The Secret of Session Management—Making AI Remember You Across All Platforms
After configuring three platforms, you might notice an issue: after chatting with AI on Telegram, when you switch to Discord, how does the AI know you’re the same person?
That’s the role of Session Router.
Main Session vs Isolated Sessions
OpenClaw’s default strategy is: all DMs (direct messages) enter the same “main” session.
What does this mean? You DM the AI on Telegram, DM it on WhatsApp, DM it on Discord—they all share the same conversation history. The AI remembers what you said on any platform.
But if you’re deploying OpenClaw for a team with multiple colleagues, this won’t work—everyone’s messages would mix together. That’s when you need isolation strategies:
openclaw config set session.dmScope "per-channel-peer"This configuration means: each user on each platform gets an independent session.
There’s even finer isolation:
openclaw config set session.dmScope "per-account-channel-peer"This is for when you manage multiple OpenClaw accounts.
Honestly, for personal use I keep the default “main” session because I want the AI to remember me across all platforms.
Cross-Platform Identity Linking
Sometimes you want OpenClaw to know that “Telegram’s @username and WhatsApp’s +86xxx are the same person.”
Configure session.identityLinks:
session:
identityLinks:
- platforms:
telegram: "@your_username"
whatsapp: "+8613800138000"
discord: "123456789012345678" # Discord User IDThis way, no matter which platform you message from, OpenClaw knows it’s you and continues the same session.
Common Session Commands
Want to start fresh after an enthusiastic AI chat? Or check which model you’re currently using? These commands are useful:
/status- View current model, token consumption, session duration/new- Reset session, clear history/activation mention- Set groups to only respond when @mentioned/activation always- Respond to every message in groups (use cautiously, can be noisy)
There are also tool commands available in the Control UI’s Sessions page:
sessions_list- List all active sessionssessions_history- Export conversation historysessions_send- Manually send a message to a session
Honestly, I use /new the most. Sometimes when the AI misunderstands, resetting is faster than correcting it.
Security Configuration—Don’t Let Strangers Drain Your API
After configuring everything and using it happily for a few days, I suddenly noticed my API bill skyrocket. Checking the logs, some stranger was spamming my bot.
This incident made me seriously study OpenClaw’s security strategies.
DM Pairing Strategy: Default Protection Mechanism
OpenClaw’s default dmPolicy is pairing (pairing mode).
What does this mean? When a stranger first DMs your bot, the bot won’t respond. Instead, it generates a 6-digit pairing code recorded in the logs. You need to manually approve:
openclaw pairing approve telegram ABC123The pairing code expires in 1 hour to prevent brute force attacks. After approval, that user can use it normally.
I initially thought this mechanism was a bit annoying, but later understood—without this protection, anyone with your bot username could endlessly call your API and burn your money.
Which of the Four DM Strategies to Choose?
OpenClaw offers four strategies:
| Strategy | Use Case | Risk Level |
|---|---|---|
pairing (default) | Personal use, occasionally shared with friends | 🟢 Low risk |
allowlist | Only allow specific whitelisted users | 🟢 Low risk |
open | Public bot, anyone can use | 🔴 High risk |
disabled | Completely disable DM, groups only | 🟢 Low risk |
If you want to make a public bot for the community, open mode works, but strongly recommend pairing with token usage monitoring to avoid being drained.
Configuration method:
openclaw config set dmPolicy "allowlist"
openclaw config set dmAllowlist "telegram:@friend1,whatsapp:+8613800138000"Group Sandbox Isolation: Preventing Malicious Commands
OpenClaw’s AI agent can execute tools (like bash commands, file operations). What if someone in a group makes the AI execute rm -rf /?
The group sandbox strategy prevents this.
openclaw config set agents.defaults.sandbox.mode "non-main"This configuration means: AI in non-main sessions (like groups) runs in a Docker sandbox and cannot access the host file system.
You can also customize allowed/denied tools:
agents:
defaults:
sandbox:
mode: "non-main"
allowedTools:
- web_search
- calculator
deniedTools:
- bash
- file_writeMy configuration: groups only allow search and calculator, ban bash and file operations. This ensures functionality while controlling risk.
Mention Gating: Avoiding “Always Online” Awkwardness
After pulling AI into a Discord server, if it responds to every message, it gets noisy.
The activation: mention strategy makes AI only respond when @mentioned:
openclaw config set agents.defaults.activation "mention"This way, the AI acts like a quiet lurker—just @mention it when needed.
Security Checklist:
openclaw doctorThis command scans your configuration and flags potential risks:
- ✗
dmPolicy: openwithout rate limiting - ✗
sandbox.mode: disabledin group sessions - ✓ API key properly configured
- ✓ DM pairing enabled
Running doctor once can prevent many security issues.
Pitfalls I Encountered and Troubleshooting
You’ll definitely run into problems during configuration. Here are some pitfalls I hit.
Pitfall 1: API Key Issues
Symptoms: Bot starts successfully, but sending messages gets no response. Logs show Invalid API key.
Causes:
- API key copied with spaces or quotes
- Environment variables didn’t take effect (try restarting terminal)
- API account doesn’t have payment method linked (Claude and GPT both require this)
Solution:
# Reset, ensure no extra characters
openclaw config set anthropic.apiKey "sk-ant-..."
# Check if configuration took effect
openclaw config get anthropic.apiKey
# Restart Gateway
openclaw gateway restartPitfall 2: Port Conflicts
Symptoms: openclaw gateway start errors with Port 18789 already in use.
Cause: Previous Gateway process didn’t shut down.
Solution:
# Graceful stop
openclaw gateway stop
# If that doesn't work, force kill process
pkill -f openclaw-gateway
# Restart
openclaw gateway startPitfall 3: Control UI Access Issues
Symptoms: Browser opening http://localhost:18789 shows control ui requires HTTPS or localhost.
Cause: You’re probably on a remote server using the server IP instead of localhost.
Solution 1: Use token parameter
http://your-server-ip:18789?token=YOUR_TOKENToken is in the ~/.openclaw/gateway.env file.
Solution 2: SSH tunnel
ssh -N -L 18789:127.0.0.1:18789 user@your-serverThen access http://localhost:18789 locally.
Pitfall 4: Channel Connection Failures
Telegram:
- Check token validity: confirm the bot still exists with BotFather
- Network issues: some regions need a proxy to connect to Telegram API
WhatsApp:
- QR code expired: re-run
openclaw gateway restart - Phone offline: WhatsApp requires phone online to sync messages
- Multi-device limit: WhatsApp supports max 4 linked devices
Discord:
- Insufficient bot permissions: check
Read Message Historypermission - Wrong Guild ID: confirm you copied the correct server ID
- Bot not in server: re-invite bot using OAuth2 URL
Pitfall 5: Session Loss Issues
Symptoms: After Gateway restart, all previous conversation history is gone.
Cause: OpenClaw currently (early 2026) doesn’t have session persistence. Restarting Gateway clears in-memory sessions.
Mitigation:
- Export important conversations using
sessions_history - Wait for official future versions to support session persistence (it’s on the Roadmap)
Honestly this is my most desired improvement. Every time I update OpenClaw, I have to reintroduce myself to the AI. A bit annoying.
Conclusion
After two weeks of tinkering with OpenClaw, my biggest takeaway: it really can transform AI into a cross-platform “unified assistant”.
Morning on WhatsApp asking AI to organize my schedule, continuing the discussion on Slack at the office, collaborating with the team on Discord at night—all conversations seamlessly connected. This experience is something single-platform bots can’t achieve.
The Channel layer architecture design is clever—message normalization across 13 platforms, Session Router’s session management, plus fine-grained security controls. The whole system is both flexible and secure.
Of course, OpenClaw is still rapidly iterating. Session persistence, Skills marketplace, more platform support—they’re all on the official Roadmap. I’m pretty excited about future versions.
If you want to try it too:
curl -fsSL https://openclaw.ai/install.sh | bash15 minutes of configuration, instant cross-platform AI assistant experience.
By the way, if you run into issues during configuration, ask on GitHub Discussions—the community responds quickly. When I couldn’t connect Telegram, I posted and got help within 10 minutes.
Do you use OpenClaw? Which platforms have you configured? What pitfalls did you encounter? Leave a comment and let’s chat.
FAQ
Why is pairing mode recommended over open mode?
While open mode is convenient, anyone with your bot username can endlessly call your API, potentially causing bill spikes. If you truly need a public bot, pair it with token usage monitoring and rate limiting.
What if my Discord bot doesn't reply to messages?
1. Bot Permissions must include Read Message History (many people miss this)
2. Confirm the bot was properly invited to the server via OAuth2 URL
3. Verify the Guild ID is correct (enable Developer Mode, right-click server icon to copy ID)
4. Check if the token is valid (confirm in Developer Portal)
My first configuration failed because I didn't check Read Message History, which prevented the bot from receiving messages.
Does my phone need to stay online after WhatsApp pairing?
Two additional limitations:
1. WhatsApp supports max 4 linked devices; exceeding this requires disconnecting others
2. QR codes are valid for about 2 minutes; if expired, re-run openclaw gateway restart to generate a new one
If you need a 24/7 online bot, prioritize Telegram or Discord—they don't depend on phone connectivity.
How does cross-platform session syncing work? How does AI know Telegram and Discord are the same person?
If you need explicit identity linking, configure session.identityLinks:
yaml
session:
identityLinks:
- platforms:
telegram: "@your_username"
whatsapp: "+8613800138000"
discord: "123456789012345678"
This way, regardless of which platform you message from, OpenClaw knows it's you and continues the same session. Conversations started on WhatsApp can seamlessly continue on Telegram.
Will conversation history be lost after Gateway restart?
Mitigation strategies:
1. Export important conversations using the sessions_history command
2. Wait for official future versions to support session persistence (already on the Roadmap)
3. Use process management tools (like PM2) to ensure stable Gateway operation and minimize restarts
This is my most desired feature improvement. Having to reintroduce myself to the AI after every OpenClaw update gets tedious.
What limitations does group sandbox mode impose?
1. Cannot access host file system
2. Cannot execute system-level bash commands
3. Network access is limited
You can customize allowed tools (like web_search, calculator) and denied tools (like bash, file_write). My configuration allows only search and calculation in groups, banning file operations—ensuring functionality while controlling risk.
Personal DM sessions remain unaffected and can still use all tools.
How to fix Control UI showing 'requires HTTPS or localhost'?
Solution 1: Use token parameter
http://your-server-ip:18789?token=YOUR_TOKEN
Token is in the ~/.openclaw/gateway.env file.
Solution 2: SSH tunnel (recommended)
ssh -N -L 18789:127.0.0.1:18789 user@your-server
Then access http://localhost:18789 locally
SSH tunneling is more secure, avoiding Control UI exposure to the public internet.
12 min read · Published on: Feb 5, 2026 · Modified on: Feb 5, 2026
Related Posts
Deep Dive into OpenClaw Architecture: Technical Principles and Extension Practices of the Three-Layer Design

Deep Dive into OpenClaw Architecture: Technical Principles and Extension Practices of the Three-Layer Design
Let AI Read Documentation for You: OpenClaw Browser Automation Practical Guide

Let AI Read Documentation for You: OpenClaw Browser Automation Practical Guide
OpenClaw Configuration Details: A Complete Guide to openclaw.json & Best Practices


Comments
Sign in with GitHub to leave a comment