← All tutorials

Connect OpenClaw to Telegram, WhatsApp, Discord, Slack and iMessage

Step-by-step setup for every chat channel OpenClaw supports, plus how to debug a connection that refuses to come up.

OpenClaw's defining feature is that it lives where you already are. Once a channel is connected, you message your assistant from any device that has the chat app installed β€” no extra apps, no new login. This tutorial walks through every supported channel, with the exact configuration each one needs.

How channels work

Every chat channel in OpenClaw is a small adapter inside the Gateway. The adapter:

  1. Polls or receives messages from the chat platform.
  2. Translates them into the internal "chat message" envelope.
  3. Forwards the reply back to the same thread.

Adapters are stateless from your perspective β€” they are configured once and then just work. You can connect as many channels as you want at the same time; the same assistant instance talks to all of them.

OpenClaw is open source and runs on your machine. Chat platforms (Telegram, Meta, Google, Apple) require you to authenticate with your own accounts. OpenClaw never proxies your messages to a third-party server.

Telegram

Telegram is the easiest channel to bring up because it uses a plain bot token.

  1. Open Telegram and message @BotFather.
  2. Run /newbot, give it a display name and a unique username.
  3. Copy the bot token Telegram returns.
  4. In OpenClaw, run:
   openclaw channels add telegram --token ""
  1. Open a chat with your bot in Telegram and send hello. The assistant replies within seconds.

To remove the channel later:

openclaw channels remove telegram

Restricting who can talk to the bot

openclaw channels set telegram --allow-user "@your_telegram_handle"

You can pass --allow-user multiple times. Anyone outside the allow-list is silently ignored.

WhatsApp

WhatsApp uses the linked-device protocol β€” there is no API token, you scan a QR code from your phone the same way you would for WhatsApp Web.

openclaw channels add whatsapp

The terminal prints a QR code. Open WhatsApp on your phone β†’ Settings β†’ Linked Devices β†’ Link a Device, and scan it.

The linked-device session lives in your home directory under ~/.openclaw/channels/whatsapp. Do not share that folder; anyone with it can send messages as you.

Pairing a phone number

To give your assistant a real phone number (so people can call or text it), OpenClaw supports Twilio integration:

openclaw integrations add twilio \\
  --account-sid "" \\
  --auth-token "" \\
  --number "+14155550199"

Buy a number in the Twilio console first, then paste the SID, auth token and E.164 number above.

Discord

Discord uses a bot token and a privileged intents flag.

  1. Visit the Discord Developer Portal and create a New Application.
  2. Open Bot in the sidebar, click Add Bot, then Reset Token and copy it.
  3. Under Privileged Gateway Intents, enable Message Content Intent.
  4. Invite the bot to your server using the OAuth2 β†’ URL Generator with the bot scope and the Send Messages permission.
  5. Back in the terminal:
   openclaw channels add discord \\
     --token "" \\
     --guild ""

Mention your bot (@YourBot hello) in any channel it has access to and it will reply.

Slack

Slack uses a Socket Mode app token so the Gateway can receive events without exposing a public URL.

  1. Create a new Slack app at api.slack.com/apps.
  2. Enable Socket Mode and generate an App-Level Token with connections:write.
  3. Under OAuth & Permissions, add the scopes chat:write, app_mentions:read, im:history, im:read, im:write.
  4. Install the app to your workspace and copy the Bot User OAuth Token.
  5. Configure OpenClaw:
   openclaw channels add slack \\
     --bot-token "" \\
     --app-token ""

Mention your bot or DM it directly. Slack DMs work out of the box; channel conversations require the bot to be invited with /invite @YourBot.

iMessage (macOS only)

The iMessage adapter uses Apple's native Messages app on macOS, so it requires Full Disk Access.

  1. Open System Settings β†’ Privacy & Security β†’ Full Disk Access and add OpenClaw.
  2. In the terminal:
   openclaw channels add imessage
  1. Grant the permission prompt that appears.

iMessage conversations are end-to-end encrypted with your contacts β€” OpenClaw simply reads and writes through the local Messages database.

Signal, Matrix, Email and more

The ecosystem ships additional adapters:

ChannelPackageNotes
Signalopenclaw-signalUses signal-cli underneath
Matrixopenclaw-matrixE2EE homeserver bridges
Emailopenclaw-emailIMAP + SMTP via app passwords
Webhookbuilt-inExposes /incoming on the Gateway

Install any of them the same way:

openclaw integrations install openclaw-email
openclaw channels add email --imap imap.gmail.com --user you@gmail.com

Debugging a channel that will not connect

Run:

openclaw doctor --channel telegram

It walks through every check the Gateway performs when bringing a channel up: token validity, network reachability, scope mismatch, gateway latency. The output is intentionally verbose β€” paste the failing block into a contact form ticket if you get stuck.

You can also stream live logs for a single channel:

openclaw logs --channel telegram --follow

Routing messages to different skills

When you have multiple channels connected, you can route by chat ID so the same assistant instance behaves differently in different rooms:

openclaw routes add \\
  --match "channel=telegram,chat_id=123456789" \\
  --skill personal

This is handy for keeping work replies and family replies on separate skill sets.

Removing a channel

openclaw channels remove 

Removing a channel revokes the local credentials. Tokens you issued on the platform itself (BotFather, Slack app, Discord bot) still exist on the platform until you delete them there.

Next steps

  • Once channels are up, teach your assistant reusable skills so it can call your calendar, your CRM or your CI.
  • Use memory so the assistant remembers who your colleagues are across channels.
  • When a channel misbehaves, head to Troubleshooting.
OpenClaw Guide Editorial
Independently maintained walkthroughs and ecosystem notes for OpenClaw.

Found an issue or have a correction? Get in touch.