๐Ÿ”
ChannelsChapter 6 of 33ยท 6 min read

Chapter 6: Channels Overview

A channel in OpenClaw is any messaging platform connected to your gateway. OpenClaw's power comes from its channel breadth โ€” instead of building separate integrations for each platform, you configure them all in one place and your AI agents become available everywhere your team already communicates.

This chapter maps out every channel OpenClaw supports, what each one requires to set up, and how to choose the right ones for your use case.


The Full Channel List

OpenClaw supports the following channels out of the box:

ChannelPlatformProtocol / API Used
WhatsAppMetaWhatsApp Business API or Baileys (unofficial)
iMessageApplemacOS node with imessage-rest
TelegramTelegramTelegram Bot API
SignalSignalsignal-cli
SlackSalesforceSlack Events API + Web API
DiscordDiscordDiscord.js bot
Microsoft TeamsMicrosoftAzure Bot Framework
Google ChatGoogleGoogle Chat API
Matrix / ElementMatrix.orgmatrix-js-sdk
SMSVariousTwilio or similar SMS gateway
EmailAny SMTPIMAP/SMTP polling
Web WidgetBrowserBuilt-in HTTP widget

Choosing Your Channels

Not every use case needs every channel. Here is a practical guide:

For a solo developer

Start with Telegram โ€” it is the easiest to set up (no business account needed), works on all devices, and has excellent bot support.

For a small team

Add Slack to Telegram. Most development teams are already on Slack, so adding OpenClaw there means zero change to existing workflows.

For client-facing AI

Use WhatsApp โ€” it has the highest global install base and your clients likely already have it. Requires a WhatsApp Business account for production use.

For Apple-heavy teams on macOS

Enable iMessage โ€” requires a Mac running the gateway, but allows seamless AI access through the native Messages app on iPhone, iPad, and Mac.

For privacy-focused teams

Use Signal โ€” end-to-end encrypted and open source. Requires running signal-cli on the gateway server.


How Channels Connect to the Gateway

Every channel integration follows the same pattern:

Platform API โ†โ†’ OpenClaw Channel Adapter โ†โ†’ Gateway Core

Each channel adapter:

  1. Authenticates with the platform (API key, OAuth token, bot token)
  2. Registers a webhook or maintains a persistent connection
  3. Receives messages and converts them to the OpenClaw message format
  4. Sends responses back using the platform's send API

Channel Configuration Structure

All channels are configured under the channels key in ~/.openclaw/openclaw.json:

{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "${TELEGRAM_BOT_TOKEN}"
    },
    "slack": {
      "enabled": true,
      "botToken": "${SLACK_BOT_TOKEN}",
      "signingSecret": "${SLACK_SIGNING_SECRET}",
      "appToken": "${SLACK_APP_TOKEN}"
    },
    "whatsapp": {
      "enabled": false
    }
  }
}

Only enabled channels are started when you run openclaw start. Disabled channels consume no resources.


Channel Comparison Table

ChannelSetup DifficultyRequires Business AccountWorks on MobileEnd-to-End Encrypted
TelegramEasyNoYesOptional (Secret Chats)
SlackEasyNo (free tier)YesNo (Slack encrypts at rest)
DiscordEasyNoYesNo
WhatsApp (Business)MediumYesYesYes
SignalMediumNoYesYes
iMessageHardNo (needs Apple ID)macOS/iOS onlyYes
MS TeamsHardYes (Azure)YesNo
Google ChatMediumYes (Google Workspace)YesNo
MatrixMediumNoYesOptional (E2EE rooms)

Multi-Channel Usage

OpenClaw supports receiving messages from multiple channels simultaneously. A user on WhatsApp and a different user on Telegram can both talk to the same workspace at the same time. The gateway keeps their sessions separate.

You can even route the same user across multiple channels โ€” their session context is tied to their workspace and user ID combination, not to a specific channel. This means a user who starts a conversation on Telegram and then switches to Slack can optionally share context (via the /compact or export features).


Webhook vs. Polling

Channels connect to the gateway using one of two mechanisms:

Webhook (preferred)

The platform sends an HTTP POST to your gateway when a message arrives. This is real-time, efficient, and the standard for Telegram, Slack, Discord, WhatsApp Business, and Google Chat.

Requirement: Your gateway must be reachable from the internet. Either:

  • Run on a cloud server with a public IP
  • Use a tunneling service like ngrok or Cloudflare Tunnel during development
openclaw tunnel start    # starts a Cloudflare Tunnel automatically

Polling (for local / restricted environments)

Some channels (iMessage, Signal, email) use polling โ€” the gateway checks for new messages on a timer. This works behind NAT/firewalls but introduces a small delay (typically 2โ€“5 seconds).


Channel-Specific Features

Some channels support features others do not:

FeatureTelegramSlackDiscordWhatsApp
Inline buttonsYesYesYesLimited
File attachmentsYesYesYesYes
Thread repliesNoYesYesNo
Voice messagesYesNoNoYes
Image generation displayYesYesYesYes
Code formattingYesYesYesNo (plain text)

OpenClaw adapts its responses to each channel's capabilities. If a channel does not support markdown, the agent strips formatting automatically.


Adding a New Channel at Runtime

You can enable a channel without restarting the full gateway:

openclaw channel enable telegram
openclaw channel disable slack
openclaw channel status

Individual channel restarts:

openclaw channel restart telegram

Channel Status in Logs

Each channel logs its own connection status:

[telegram] Connected. Listening for messages...
[slack]    Connected via Socket Mode.
[whatsapp] Disabled. Skipping.
[signal]   Reconnecting... (attempt 3)

If a channel disconnects, the gateway attempts automatic reconnection with exponential backoff. Your other channels stay online during the reconnection attempt.


Quick Reference: Setup Chapters

ChannelDeep-Dive Chapter
WhatsApp & iMessageChapter 7
Telegram & SignalChapter 8
Slack & DiscordChapter 9
Microsoft Teams & Google ChatChapter 10

Next: Chapter 7 โ€” WhatsApp & iMessage Setup โ€” Step-by-step configuration for the two most popular mobile channels.