Skip to main content
OpenClaw connects to multiple messaging platforms through channels. Each channel provides a bridge between your AI agent and a messaging platform, enabling seamless communication across different apps.

Supported Channels

WhatsApp

Connect via Baileys library with QR code pairing. Full support for groups, media, and reactions.

Telegram

Bot API integration with commands, groups, threads, and native inline buttons.

Discord

Full bot support with guilds, channels, threads, reactions, and rich embeds.

Slack

Socket Mode connection with channels, DMs, slash commands, and interactive blocks.

Signal

Signal protocol support via signal-cli with E2E encryption and reactions.

iMessage

macOS-only integration using Messages.app database and AppleScript.

Quick Comparison

ChannelSetup DifficultyPlatformGroup SupportMediaPairing
WhatsAppEasyAnyQR Code
TelegramEasyAnyBot Token
DiscordEasyAnyBot Token
SlackMediumAnyOAuth + Socket
SignalMediumAnyQR Code
iMessageHardmacOS onlySystem Access

Channel Configuration

All channels are configured in your openclaw.config.json under the channels section:
{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "123456:ABC...",
      "dmPolicy": "pairing",
      "allowFrom": ["123456789"]
    },
    "discord": {
      "enabled": true,
      "token": "...",
      "groupPolicy": "allowlist",
      "guilds": {
        "guild-id": {
          "channels": {
            "channel-id": { "allow": true }
          }
        }
      }
    }
  }
}

DM Policies

Most channels support configurable DM (direct message) policies:
  • pairing (default): Unknown senders receive a pairing code; you approve them
  • allowlist: Only pre-approved senders can message
  • open: Accept messages from anyone (requires allowFrom: ["*"])
  • disabled: Ignore all direct messages
Example configuration:
{
  "channels": {
    "whatsapp": {
      "dmPolicy": "pairing",
      "allowFrom": ["+15555550123"]
    }
  }
}

Group Policies

Channels with group/channel support (Discord, Slack, Telegram, WhatsApp) use a groupPolicy:
  • allowlist: Only specified channels/groups are monitored
  • open: All channels the bot has access to
  • disabled: No group monitoring
For Discord and Slack, configure specific channels:
{
  "channels": {
    "discord": {
      "groupPolicy": "allowlist",
      "guilds": {
        "123456789": {
          "channels": {
            "987654321": { "allow": true }
          }
        }
      }
    }
  }
}

Getting Started

The easiest way to set up channels is with the interactive onboarding:
openclaw init
This walks you through:
  1. Selecting which channels to enable
  2. Providing tokens/credentials
  3. Configuring DM and group policies
  4. Setting up allowlists
For manual setup, see each channel’s dedicated page.

Multi-Account Support

Most channels support multiple accounts. Configure them under accounts:
{
  "channels": {
    "telegram": {
      "accounts": {
        "work": {
          "enabled": true,
          "botToken": "work-bot-token",
          "allowFrom": ["work-user-id"]
        },
        "personal": {
          "enabled": true,
          "botToken": "personal-bot-token",
          "allowFrom": ["personal-user-id"]
        }
      }
    }
  }
}
The default account is identified by "default" or inferred from top-level configuration.

Environment Variables

Most channels support environment variables as an alternative to config file storage:
  • TELEGRAM_BOT_TOKEN - Telegram bot token
  • DISCORD_BOT_TOKEN - Discord bot token
  • SLACK_BOT_TOKEN - Slack bot token
  • SLACK_APP_TOKEN - Slack app-level token
Environment variables take precedence over config file values.

Channel Status

Check channel status at any time:
openclaw channels status
For detailed diagnostics including connection probes:
openclaw channels status --probe

Security Best Practices

  1. Use pairing mode for channels you access from a personal device
  2. Use allowlist mode for production bots with known users
  3. Never commit tokens to version control - use environment variables or secure vaults
  4. Rotate tokens regularly if they may have been exposed
  5. Review allowlists periodically to remove stale entries

Next Steps

WhatsApp Setup

Set up WhatsApp with QR code pairing

Telegram Setup

Create a Telegram bot with @BotFather

Discord Setup

Configure Discord bot and permissions

Pairing Guide

Learn about pairing codes and device verification