Channel Configuration Guide

Connect OpenClaw to Telegram, Discord, Slack, WhatsApp, and Signal. Step-by-step setup with troubleshooting tips.

Platform: Any
Cost: Free
Time: 15 minutes
Difficulty: Beginner

Channel Configuration Guide

Connect OpenClaw to your favorite messaging platforms. This guide covers Telegram, Discord, and Slack setup with troubleshooting tips.

Prerequisites

  • OpenClaw installed and running (openclaw gateway status shows healthy)
  • An API key configured for your LLM provider
  • Admin access to create bots on your chosen platform

Telegram

Telegram is the easiest channel to set up — just create a bot and add the token.

Step 1: Create a Bot with BotFather

  1. Open Telegram and search for @BotFather
  2. Send /newbot
  3. Choose a name (e.g., "My OpenClaw Assistant")
  4. Choose a username (must end in bot, e.g., myopenclawbot)
  5. Copy the token — it looks like 123456789:ABCdefGHIjklMNOpqrsTUVwxyz

Step 2: Add the Channel

openclaw channels add --channel telegram --token "YOUR_BOT_TOKEN"

Step 3: Restart the Gateway

openclaw gateway restart

Step 4: Start Chatting

  1. Find your bot on Telegram (search for the username you chose)
  2. Send /start or any message
  3. The first message triggers a pairing request — OpenClaw will ask you to authorize your Telegram user ID
  4. Once paired, you can chat freely

Telegram Tips

Set bot commands for a better UX:

  1. Go back to @BotFather
  2. Send /setcommands
  3. Select your bot
  4. Send:
    start - Start chatting
    help - Show help
    status - Check bot status
    

Enable inline mode (optional):

  1. Send /setinline to @BotFather
  2. Select your bot
  3. Set a placeholder like "Ask me anything..."

Privacy mode: By default, bots only see messages that mention them in groups. To see all messages, disable privacy mode via @BotFather → /setprivacy.


Discord

Discord requires creating an application and bot in the Developer Portal.

Step 1: Create a Discord Application

  1. Go to the Discord Developer Portal
  2. Click New Application
  3. Name it (e.g., "OpenClaw")
  4. Go to the Bot tab
  5. Click Add Bot
  6. Under Token, click Reset Token and copy it

Step 2: Configure Bot Permissions

Still in the Developer Portal:

  1. Go to Bot tab
  2. Enable these Privileged Gateway Intents:
    • ✅ Message Content Intent
    • ✅ Server Members Intent (if you want member info)
  3. Go to OAuth2URL Generator
  4. Select scopes: bot, applications.commands
  5. Select bot permissions:
    • Send Messages
    • Read Message History
    • Add Reactions
    • Use Slash Commands
  6. Copy the generated URL and open it to invite the bot to your server

Step 3: Add the Channel

openclaw channels add --channel discord --token "YOUR_BOT_TOKEN"

Step 4: Restart and Test

openclaw gateway restart

Mention your bot in any channel it has access to: @YourBot hello!

Discord Tips

Slash commands: OpenClaw registers /claw by default. Type /claw in Discord to see available commands.

Multiple servers: The same bot token works across all servers you've invited it to. Use allowlists in your OpenClaw config to restrict which servers/channels it responds in.

Rate limits: Discord has strict rate limits. If your bot stops responding, check openclaw logs for rate limit errors.


Slack

Slack requires both a Bot Token and an App Token for socket mode.

Step 1: Create a Slack App

  1. Go to api.slack.com/apps
  2. Click Create New AppFrom scratch
  3. Name it and select your workspace

Step 2: Configure OAuth & Permissions

  1. Go to OAuth & Permissions
  2. Add these Bot Token Scopes:
    • app_mentions:read
    • chat:write
    • channels:history
    • groups:history
    • im:history
    • mpim:history
    • users:read
  3. Click Install to Workspace
  4. Copy the Bot User OAuth Token (starts with xoxb-)

Step 3: Enable Socket Mode

  1. Go to Socket Mode
  2. Enable it
  3. Create an App-Level Token with connections:write scope
  4. Copy the token (starts with xapp-)

Step 4: Enable Events

  1. Go to Event Subscriptions
  2. Enable events
  3. Subscribe to bot events:
    • app_mention
    • message.channels
    • message.groups
    • message.im
    • message.mpim

Step 5: Add the Channel

Slack needs both tokens:

openclaw channels add --channel slack \
  --bot-token "xoxb-your-bot-token" \
  --app-token "xapp-your-app-token"

Step 6: Restart and Test

openclaw gateway restart

Mention your bot in Slack: @YourBot hello!

Slack Tips

Direct messages: Users can DM the bot directly from the Apps section in Slack.

Channel access: The bot only sees channels it's been invited to. Use /invite @YourBot in channels where you want it active.


WhatsApp

WhatsApp uses a QR code pairing flow (similar to WhatsApp Web).

Step 1: Add the Channel

openclaw channels add --channel whatsapp

Step 2: Scan the QR Code

OpenClaw will display a QR code in the terminal. Scan it with WhatsApp:

  1. Open WhatsApp on your phone
  2. Go to SettingsLinked Devices
  3. Tap Link a Device
  4. Scan the QR code

Step 3: Restart the Gateway

openclaw gateway restart

WhatsApp Limitations

  • One session per number: You can only have one WhatsApp Web session active at a time
  • No business API: This uses the personal WhatsApp protocol, not the official Business API
  • Session expiry: Sessions can expire; you may need to re-scan periodically

Signal

Signal requires the signal-cli tool to be installed separately.

Step 1: Install signal-cli

# Download the latest release
VERSION="0.13.4"
wget "https://github.com/AsamK/signal-cli/releases/download/v${VERSION}/signal-cli-${VERSION}.tar.gz"
tar xf "signal-cli-${VERSION}.tar.gz" -C /opt
ln -sf "/opt/signal-cli-${VERSION}/bin/signal-cli" /usr/local/bin/signal-cli

Step 2: Register or Link

Option A: Register a new number

signal-cli -u +1234567890 register
signal-cli -u +1234567890 verify CODE_FROM_SMS

Option B: Link to existing Signal account

signal-cli link -n "OpenClaw"
# Scan the QR code with Signal on your phone

Step 3: Add the Channel

openclaw channels add --channel signal --signal-number "+1234567890"

Troubleshooting

"Unknown channel: telegram" Error

This is a known bug in OpenClaw v2026.3.2. The channels add command doesn't recognize channel names.

Workaround: Use the interactive configuration wizard:

openclaw configure --section channels

This opens an interactive menu to add channels.

Alternative: Manually edit ~/.openclaw/openclaw.json:

{
  "channels": {
    "telegram": {
      "default": {
        "token": "YOUR_BOT_TOKEN"
      }
    }
  }
}

Then restart: openclaw gateway restart

Channel Not Responding

  1. Check channel status:

    openclaw channels list
    

    Ensure your channel shows as "configured" and "enabled".

  2. Check logs for errors:

    openclaw logs | grep -i telegram  # or discord, slack, etc.
    
  3. Verify the token:

    # For Telegram, test the token directly:
    curl "https://api.telegram.org/bot<YOUR_TOKEN>/getMe"
    
  4. Restart the gateway:

    openclaw gateway restart
    

Bot Doesn't See Messages

Telegram:

  • In groups, enable "Privacy mode: disabled" via @BotFather
  • Or mention the bot directly: @yourbot hello

Discord:

  • Ensure "Message Content Intent" is enabled in Developer Portal
  • Check the bot has "Read Message History" permission in the channel

Slack:

  • Invite the bot to the channel: /invite @YourBot
  • Ensure Socket Mode is enabled

Rate Limiting

All platforms have rate limits. If your bot stops responding:

  1. Check logs: openclaw logs | grep -i "rate limit"
  2. Wait a few minutes for limits to reset
  3. Consider adding delays between responses in high-traffic channels

Multiple Accounts

You can run multiple accounts for the same platform:

# Add a second Telegram bot
openclaw channels add --channel telegram --token "SECOND_BOT_TOKEN" --account secondary

# List all accounts
openclaw channels list

Security Best Practices

Use Allowlists

Restrict which users or groups can interact with your bot:

openclaw config set channels.telegram.default.allowlist '["123456789"]'

Separate Bots for Sensitive Operations

If your agent has access to sensitive tools (email, files, etc.), consider:

  • A public bot with limited capabilities
  • A private bot with full access, restricted to your user ID only

Rotate Tokens Periodically

If you suspect a token has been compromised:

  1. Regenerate the token on the platform (BotFather, Discord Portal, etc.)
  2. Update OpenClaw:
    openclaw channels add --channel telegram --token "NEW_TOKEN"
    openclaw gateway restart
    

Quick Reference

PlatformToken SourceCommand
Telegram@BotFather--channel telegram --token "..."
DiscordDeveloper Portal → Bot--channel discord --token "..."
SlackOAuth & Permissions + Socket Mode--channel slack --bot-token "xoxb-..." --app-token "xapp-..."
WhatsAppQR code scan--channel whatsapp
Signalsignal-cli registration--channel signal --signal-number "+..."

What's Next?

Get More OpenClaw Tips

Weekly guides, new skills, and workflow recipes. No spam.