Published March 11, 2026 by with 0 comment

OpenClaw Workflow – Channel




1. Overview
A Channel is the interface used for communication between a user and OpenClaw.
It allows users to send requests to OpenClaw through external chat applications.

Messages transmitted through a channel can include:
Text
Images
Videos
Audio
Documents

The channel acts as the entry point of the OpenClaw workflow, receiving user messages and forwarding them to the OpenClaw system for processing.


2. Channel Requirements
OpenClaw requires at least one communication channel to interact with users.
However, the system also supports multiple channels simultaneously, allowing OpenClaw to receive messages from different platforms at the same time.

Example:
User
   ↓
Chat Application
   ↓
Channel
   ↓
OpenClaw System

This design enables flexible integrations with messaging platforms such as WhatsApp, Discord, or others.


3. Example: My OpenClaw Channel Setup
In my OpenClaw environment, two channels are configured:

WhatsApp
Discord

These channels allow users to send messages to the same OpenClaw instance from different platforms.


4. Configuration File
Channel settings are defined in the OpenClaw configuration file:

~/.openclaw/openclaw.json

Important note:
Standard JSON DOES NOT support comments, so explanations should be documented outside the configuration file.

json
{
  "env": {
    "vars": {
      "OPENCLAW_SKIP_GMAIL_WATCHER": "1"
    }
  },
  "channels": {
    "whatsapp": {
  # This parameter enables the WhatsApp channel.(true | false, default: true)
      "enabled": true,
  # This setting controls which users can send direct messages to the agent.
  # allowlist → Only phone numbers defined in allowFrom are allowed.
      "dmPolicy": "allowlist",
  # When enabled, the OpenClaw account can send messages to itself.
      "selfChatMode": true,
  # This list defines the approved phone numbers allowed to interact with the agent through direct messages.
      "allowFrom": [
        "PHONE_NUMBER"
      ],
  # This defines which WhatsApp groups are allowed to interact with OpenClaw.
      "groupAllowFrom": [
        "PHONE_NUMBER"
      ],
      "groupPolicy": "allowlist",
  # This section defines the specific WhatsApp groups that OpenClaw will listen to.
  # Controls whether OpenClaw must be mentioned in a WhatsApp group message
# true  = bot only responds when mentioned
# false = bot listens to all group messages
      "groups": {
        "WHATSAPP_GROUP-1_ID@g.us": { "requireMention": false },
        "WHATSAPP_GROUP-2_ID@g.us": { "requireMention": false },
        "WHATSAPP_GROUP-3_ID@g.us": { "requireMention": false },
        "WHATSAPP_GROUP-4_ID@g.us": { "requireMention": false }
      },
  # This setting defines the delay used to combine multiple incoming messages.
# 0 → No delay; every message is processed immediately.
# A higher value (e.g., 500 ms) allows the system to batch multiple messages together before processing.
      "debounceMs": 0,
  # This parameter defines the maximum allowed media file size (MB).
      "mediaMaxMb": 50
    },
    "discord": {
  # Enable Discord Channel. (true | false)
      "enabled": true,
  # This token is used for authenticating OpenClaw with the Discord API.
      "token": "TOKEN_ID",
  # OpenClaw accepts messages from any configured guild/server
      "groupPolicy": "open",
  # Controls whether streaming responses are enabled (off | partial | block | progress, default: off).
      "streaming": "off",
      "guilds": {
# List of Discord servers (guilds) that OpenClaw can access
        "DISCORD_SERVER_ID": {
          "channels": {
# Channels inside the Discord server that OpenClaw will listen to
# Require mentioning the bot to trigger processing
# true → The bot responds only when mentioned
# false → The bot processes all messages in the channel
            "CHANNEL-1_ID": { "requireMention": false },
            "CHANNEL-2_ID": { "requireMention": true },
            "CHANNEL-3_ID": { "requireMention": true }
          }
        }
      }
    }
  }
}




First Published (YYYY-MM-DD) / Last Modified (YYYY-MM-DD)
2026-03-11 / 2026-03-11

0 comments:

Post a Comment