Connecting OpenClaw to Multiple Chat Platforms
Clawpedia · For Humans
Run your OpenClaw agent across multiple messaging services simultaneously with unified configuration.
Overview
OpenClaw can run on multiple chat platforms simultaneously — with a single instance and a shared configuration. This article explains the architecture behind multi-platform operation, how to configure routing, handle platform-specific features, and manage users across platforms.
Architecture
OpenClaw uses a Platform Adapter pattern. Each supported platform has its own adapter that translates platform-specific message formats into a unified internal format:
┌─────────────┐ ┌──────────────┐ ┌────────────┐
│ Telegram │────▶│ │ │ │
├─────────────┤ │ Message │────▶│ Agent │
│ Discord │────▶│ Router │ │ Core │
├─────────────┤ │ │◀────│ │
│ WhatsApp │────▶│ │ │ │
├─────────────┤ └──────────────┘ └────────────┘
│ Slack │────▶│
└─────────────┘
Key design principles:
- One agent, many platforms: A single OpenClaw instance handles all platforms.
- Isolated contexts: Each user on each platform has a separate conversation history.
- Shared memory: The agent's long-term memory is shared across platforms (unless configured otherwise).
- Unified skills: All skills are available on all platforms.
Enabling Multiple Platforms
Add each platform to your config.yaml:
platforms:
telegram:
enabled: true
bot_token: "7123456789:AAH..."
allowed_users:
- 123456789
discord:
enabled: true
bot_token: "MTI3..."
allowed_channels:
- "1234567890123456"
whatsapp:
enabled: true
phone_number_id: "1234567890"
access_token: "EAAG..."
slack:
enabled: true
bot_token: "xoxb-..."
app_token: "xapp-..."
Restart the agent to activate all platforms:
openclaw restart
Verify connections:
openclaw doctor --platforms
Message Routing
Default Behavior
By default, every message from every platform goes through the same processing pipeline:
- Platform adapter receives the message.
- Router identifies the user and their conversation context.
- Agent core processes the message with memory and skills.
- Response is formatted for the originating platform and sent back.
Platform-Specific Routing
You can route certain topics or skills to specific platforms:
routing:
rules:
- skill: work-tasks
platforms: [slack] # Work tasks only available on Slack
- skill: personal-calendar
platforms: [telegram, whatsapp] # Personal stuff on personal platforms
- skill: code-review
platforms: [discord] # Code review on Discord
User Identity Linking
Link the same person across platforms so they share one memory context:
users:
- name: "Alice"
identities:
telegram: 123456789
discord: "alice#1234"
slack: "U0123456789"
memory: shared # Share memory across platforms
When Alice messages on Telegram, OpenClaw remembers the conversation if she later messages on Slack.
Platform-Specific Features
Not all platforms support the same features. OpenClaw handles this with graceful degradation:
| Feature | Telegram | Discord | Slack |
|---|
| Rich text (Markdown) | ✅ | ✅ | ⚠️ Limited | ✅ Mrkdwn |
|---|
| Images | ✅ | ✅ | ✅ | ✅ |
|---|
| Files | ✅ | ✅ | ✅ | ✅ |
|---|
| Buttons/Actions | ✅ Inline KB | ✅ Components | ❌ | ✅ Blocks |
|---|
| Threads | ❌ | ✅ | ❌ | ✅ |
|---|
| Reactions | ❌ | ✅ | ✅ | ✅ |
|---|
| Voice notes | ✅ | ❌ | ✅ | ❌ |
|---|
| Slash commands | ✅ | ✅ | ❌ | ✅ |
|---|
When a skill generates a response with buttons but the platform doesn't support them, OpenClaw automatically converts buttons to numbered text options.
Response Formatting
OpenClaw auto-adapts responses to each platform's formatting system:
formatting:
auto_adapt: true # Default: true
telegram:
parse_mode: MarkdownV2
max_message_length: 4096
discord:
use_embeds: true
max_message_length: 2000
slack:
use_blocks: true
unfurl_links: false
whatsapp:
max_message_length: 4096
If a response exceeds the platform's character limit, OpenClaw automatically splits it into multiple messages.
Rate Limiting per Platform
Different platforms have different rate limits. Configure per-platform limits:
platforms:
telegram:
rate_limit:
messages_per_second: 30
messages_per_chat_per_minute: 20
discord:
rate_limit:
messages_per_second: 5
whatsapp:
rate_limit:
messages_per_second: 80
Access Control
Manage who can interact with your agent on each platform:
platforms:
telegram:
access:
mode: allowlist # allowlist | blocklist | open
allowed_users: [123456789, 987654321]
discord:
access:
mode: allowlist
allowed_channels: ["1234567890123456"]
allowed_roles: ["OpenClaw User"]
slack:
access:
mode: open # Anyone in the workspace
blocked_channels: ["C0GENERAL"] # Except #general
Monitoring Multi-Platform Operation
Track activity across platforms:
# View platform-specific logs
openclaw logs --grep "platform:telegram"
openclaw logs --grep "platform:discord"
# Status overview
openclaw status --detail
Status output shows per-platform metrics:
Platforms:
telegram: CONNECTED (uptime: 3d, messages: 1,240)
discord: CONNECTED (uptime: 3d, messages: 832)
whatsapp: CONNECTED (uptime: 3d, messages: 156)
slack: CONNECTED (uptime: 3d, messages: 2,891)
Performance Considerations
| Users | CPU | RAM | Recommendation |
|---|
| < 10 | 1 core | 512 MB | Single instance, any server |
|---|
| 10–100 | 2 cores | 1 GB | Single instance, dedicated server |
|---|
| 100–1000 | 4 cores | 4 GB | Consider load balancing |
|---|
| 1000+ | 8+ cores | 8+ GB | Horizontal scaling recommended |
|---|
- Check each platform independently:
openclaw doctor --platforms. - Review platform-specific logs:
openclaw logs --grep "platform:<name>". - Verify tokens are correct for each platform.
Messages Are Delayed on One Platform
Check rate limiting. If one platform is rate-limited, messages queue up. Review limits with:
openclaw config get platforms.<name>.rate_limit
User Context Mixing Across Platforms
Ensure user identity linking is configured correctly. Without linking, each platform creates a separate context — which is usually the desired behavior.
Next Steps
- Set up individual platforms: Using OpenClaw with WhatsApp, Telegram, and Discord.
- Add voice control: Voice Interfaces: Controlling OpenClaw with Speech.
- Integrate workplace platforms: Using OpenClaw with Slack and Microsoft Teams.
Related Articles
- Integrating OpenClaw with iMessage and Other Platforms — Extend OpenClaw to Apple iMessage and other messaging ecosystems for broader accessibility.
- Multi-Agent OpenClaw: Running Multiple Assistants — Configure and manage multiple OpenClaw agents working independently or collaboratively.
- AG-UI — The Protocol Connecting Agent Backends to User Interfaces — A clear explanation of AG-UI, the protocol standardizing how AI agent backends stream updates, tool calls, and state to user interfaces.
- Using OpenClaw with WhatsApp, Telegram, and Discord — Connect your OpenClaw agent to popular messaging platforms for seamless AI-powered conversations.
- How to integrate OpenClaw with Telegram? — Connect your OpenClaw agent to Telegram for private and group chat interactions using a Telegram bot token.