Clawist
🟑 Intermediate15 min readβ€’β€’By Lin6

Deploy Your AI Assistant Across Discord, Telegram, and Slack with OpenClaw

Building an AI assistant is one thing. Deploying it across Discord, Telegram, Slack, and other platforms? That's where things get complicatedβ€”or at least they used to. OpenClaw's messaging abstraction layer lets you run a single AI agent that responds seamlessly across multiple platforms, with platform-specific formatting handled automatically.

This guide walks through deploying your OpenClaw agent to three major platforms: Discord, Telegram, and Slack. By the end, you'll have one AI assistant accessible from any of these channels.

Why Multi-Platform Deployment?

Different teams and communities use different tools:

  • Discord: Gaming communities, open source projects, tech communities
  • Slack: Corporate teams, startups, professional workspaces
  • Telegram: Privacy-focused groups, international communities, crypto/web3 spaces
  • WhatsApp: Personal communication, family groups, international markets
  • Signal: Privacy-first users, secure communications

Instead of maintaining separate bots for each platform, OpenClaw abstracts away the platform-specific details. You build once, deploy everywhere.

Architecture Overview

OpenClaw's messaging system has three layers:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  AI Agent (Claude/Opus)                 β”‚
β”‚  - Processes requests                   β”‚
β”‚  - Generates responses                  β”‚
β”‚  - Calls tools                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  OpenClaw Message Abstraction           β”‚
β”‚  - Platform detection                   β”‚
β”‚  - Format conversion                    β”‚
β”‚  - Routing logic                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
       β”Œβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”
       β”‚       β”‚       β”‚
β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β” β”Œβ”€β–Όβ”€β”€β”€β”€β” β”Œβ–Όβ”€β”€β”€β”€β”€β”€β”
β”‚ Discord β”‚ β”‚Telegramβ”‚ β”‚ Slack β”‚
β”‚ Adapter β”‚ β”‚Adapter β”‚ β”‚Adapterβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜

Each adapter handles:

  • Authentication/tokens
  • Platform-specific API calls
  • Message formatting (Discord embeds vs Telegram markdown)
  • File uploads and media
  • Platform features (reactions, threads, etc.)

Prerequisites

Before deploying to multiple platforms:

  1. OpenClaw installed β€” Version 2026.2+ recommended
  2. Server/VM β€” Cloud instance (AWS, DigitalOcean, etc.) or local machine running 24/7
  3. API keys/tokens for each platform
  4. Basic Linux skills β€” Command line, SSH, systemd

Part 1: Discord Setup

Discord is the easiest to start with and has the richest feature set.

1. Create Discord Application

  1. Go to Discord Developer Portal
  2. Click New Application
  3. Name it (e.g., "OpenClaw Assistant")
  4. Navigate to Bot β†’ Add Bot
  5. Under Token, click Reset Token and save it somewhere safe
  6. Enable these Privileged Gateway Intents:
    • Presence Intent
    • Server Members Intent
    • Message Content Intent

2. Invite Bot to Server

  1. Go to OAuth2 β†’ URL Generator
  2. Select scopes:
    • bot
    • applications.commands
  3. Select bot permissions:
    • Read Messages/View Channels
    • Send Messages
    • Send Messages in Threads
    • Embed Links
    • Attach Files
    • Read Message History
    • Add Reactions
  4. Copy the generated URL and open in browser
  5. Select your server and authorize

3. Configure OpenClaw

Create ~/.openclaw/config/discord.json:

{
  "token": "YOUR_BOT_TOKEN_HERE",
  "applicationId": "YOUR_APPLICATION_ID",
  "guildId": "YOUR_SERVER_ID"
}

Enable Discord in OpenClaw:

openclaw skill enable discord
openclaw restart

4. Test Discord Integration

In your Discord server:

@YourBot hello

Your bot should respond with a greeting. Check logs if not:

openclaw logs --follow

Part 2: Telegram Setup

Telegram bots are created through the BotFather and use long polling or webhooks.

1. Create Telegram Bot

  1. Open Telegram and search for @BotFather
  2. Send /newbot
  3. Choose a name (e.g., "OpenClaw Assistant")
  4. Choose a username (must end in "bot", e.g., "openclawai_bot")
  5. Save the token provided

2. Configure Bot Settings

Still in BotFather:

/setdescription - Set bot description
/setabouttext - Set about text
/setuserpic - Upload profile picture
/setcommands - Set command list

Example commands:

help - Show available commands
status - Check bot status
settings - Configure bot settings

3. Configure OpenClaw

Create ~/.openclaw/config/telegram.json:

{
  "token": "YOUR_TELEGRAM_BOT_TOKEN",
  "allowedUsers": [123456789],  // Optional: restrict to specific user IDs
  "allowedChats": [-1001234567890]  // Optional: restrict to specific groups
}

Get your Telegram user ID by messaging @userinfobot.

Enable Telegram:

openclaw skill enable telegram
openclaw restart

4. Test Telegram Integration

Open Telegram, find your bot, and send:

/start
Hello!

The bot should respond. If using group mode, add the bot to a group and test there.

Part 3: Slack Setup

Slack requires more setup but integrates beautifully with professional workflows.

1. Create Slack App

  1. Go to Slack API Apps
  2. Click Create New App β†’ From scratch
  3. Name your app (e.g., "OpenClaw Assistant")
  4. Select your workspace

2. Configure Bot Token Scopes

Under OAuth & Permissions β†’ Scopes, add these Bot Token Scopes:

chat:write
chat:write.public
channels:history
channels:read
groups:history
groups:read
im:history
im:read
im:write
users:read
files:write
reactions:read
reactions:write

3. Enable Events

Under Event Subscriptions:

  1. Toggle Enable Events to ON
  2. Set Request URL to: https://your-server.com/openclaw/slack/events
  3. Subscribe to bot events:
    • message.channels
    • message.groups
    • message.im
    • app_mention

4. Install to Workspace

Under OAuth & Permissions:

  1. Click Install to Workspace
  2. Authorize the app
  3. Save the Bot User OAuth Token (starts with xoxb-)

5. Configure OpenClaw

Create ~/.openclaw/config/slack.json:

{
  "token": "xoxb-YOUR-SLACK-BOT-TOKEN",
  "signingSecret": "YOUR_SIGNING_SECRET",
  "appToken": "xapp-YOUR-APP-TOKEN"  // For Socket Mode
}

The signing secret is under Basic Information β†’ App Credentials.

Enable Slack:

openclaw skill enable slack
openclaw restart

6. Test Slack Integration

In Slack:

  1. Invite bot to a channel: /invite @OpenClaw
  2. Message: @OpenClaw hello

The bot should respond in-thread.

Unified Message Routing

Now that all platforms are configured, OpenClaw routes messages automatically:

User sends message on Discord β†’ OpenClaw receives β†’ Claude processes β†’ Response sent to Discord

User sends message on Telegram β†’ OpenClaw receives β†’ Claude processes β†’ Response sent to Telegram

User sends message on Slack β†’ OpenClaw receives β†’ Claude processes β†’ Response sent to Slack

The AI agent doesn't need to know which platform it's talking toβ€”OpenClaw handles that.

Platform-Specific Formatting

OpenClaw automatically converts formatting:

FeatureDiscordTelegramSlack
Bold**text****text***text*
Italic*text**text*_text_
Code`code``code``code`
Code block```lang\ncode\n``````lang\ncode\n``````code```
Links[text](url)[text](url)<url|text>

Your agent writes in markdown, OpenClaw converts to platform-native format.

Advanced Features

1. Reactions

// Add reaction to message
message.react("πŸ‘");

Works across Discord, Telegram (for supported clients), and Slack.

2. File Uploads

// Upload file
message.send({
  content: "Here's the report",
  files: ["./report.pdf"]
});

OpenClaw handles platform-specific upload APIs.

3. Threads

// Reply in thread
message.replyInThread("Continuing discussion here");

Discord and Slack support native threads. Telegram uses reply-to-message.

4. Platform Detection

In your agent logic:

if (message.platform === "discord") {
  // Use Discord-specific features (embeds, etc.)
} else if (message.platform === "telegram") {
  // Telegram-specific logic
}

Monitoring and Logs

Check all platform connections:

openclaw status

Output:

OpenClaw Status
βœ“ Gateway running
βœ“ Discord connected (bot: OpenClaw#1234)
βœ“ Telegram connected (bot: @openclawai_bot)
βœ“ Slack connected (workspace: YourTeam)

View unified logs:

openclaw logs --platform all
openclaw logs --platform discord
openclaw logs --platform telegram

Troubleshooting

Discord Bot Not Responding

  1. Check intents are enabled (Message Content Intent is required)
  2. Verify token in config
  3. Check bot has permissions in channel
  4. Review logs: openclaw logs --platform discord

Telegram Bot Silent

  1. Verify token with BotFather: /mybots β†’ select bot β†’ API Token
  2. Check allowedUsers/allowedChats if configured
  3. Telegram requires /start before messaging in DM

Slack Events Not Received

  1. Verify Request URL is publicly accessible (use ngrok for local testing)
  2. Check Event Subscriptions are saved
  3. Reinstall app to workspace if scopes changed

Security Best Practices

  1. Rotate tokens regularly β€” Especially if leaked or exposed
  2. Use environment variables β€” Don't commit tokens to Git
  3. Restrict bot permissions β€” Only grant necessary scopes
  4. Implement rate limiting β€” Prevent spam/abuse
  5. Validate webhook signatures β€” Ensure requests are from platform
  6. Use allowlists β€” Restrict bot to specific users/channels if needed

Scaling Considerations

For High-Volume Deployments

  1. Use webhooks instead of polling β€” More efficient for Telegram/Slack
  2. Deploy OpenClaw behind load balancer β€” Distribute traffic
  3. Separate gateway per platform β€” Isolate failures
  4. Monitor context usage β€” Use subagents for heavy tasks
  5. Implement queueing β€” Handle burst traffic gracefully

Cost Optimization

Running 24/7 AI assistants can get expensive. Tips:

  • Use cheaper models for simple tasks β€” Claude Haiku vs Opus
  • Implement smart routing β€” Only wake AI for relevant messages
  • Cache common responses β€” FAQ-style questions
  • Batch similar requests β€” Process multiple at once
  • Use local models for some tasks β€” Llama for basic queries

Conclusion

Multi-platform deployment unlocks your AI assistant's full potential. Instead of building separate bots, OpenClaw's unified messaging layer lets you deploy once and serve users wherever they are.

Recap:

  • Set up Discord, Telegram, and Slack bots through respective platforms
  • Configure OpenClaw with platform tokens
  • Let OpenClaw handle routing and formatting automatically
  • Use platform detection for platform-specific features
  • Monitor with unified logs and status commands

Your AI assistant is now accessible from three major platforms, with consistent behavior and automatic format conversion.


Next steps: Explore OpenClaw Discord Bot Setup Guide and OpenClaw Telegram Bot Setup Guide for platform-specific deep dives.