Openclaw Message Commands Guide

O

Complete reference for openclaw message, sending, reacting, polling, editing, broadcasting, and platform-specific actions across all configured channels.

What does Openclaw Message do?

It’s the CLI interface for all outbound and interactive message operations across every channel OpenClaw supports. A single command surface handles sending text or media, creating polls, reacting to messages, reading chat history, editing or deleting sent messages, managing pins, and broadcasting to multiple targets at once.

Everything routes through the same flag pattern: specify –channel to pick the platform, –target to address the recipient or channel, and the subcommand to define the action.

The Most Common Stumbling Block: –target Format

Every channel uses a different ID format for the –target flag: Slack uses channel:C…, Discord uses channel:<id>, WhatsApp uses a phone number in E.164 format, and so on. Getting this wrong results in a routing error.

Check the Target Formats table below before constructing a command. If you aren’t sure which channels are currently active or what their aliases are, refer to the Openclaw Channels Command List to verify your connected accounts and resolve specific peer IDs before sending your message.

Basic Usage & Channel Selection

All message commands follow the same base pattern. Channel and account flags scope every command to the right connection.

command pattern

openclaw message <subcommand> [flags]
FlagDescription
--channel <name>Required if you have more than one channel configured. Accepts: whatsapp telegram discord googlechat slack mattermost signal imessage msteams
--account <id>Targets a specific account in a multi-account setup. Defaults to the channel’s default account.

Target Formats (–target)

The –target format is channel-specific. Using the wrong format will either error or silently misroute. Use the exact formats below.

ChannelAccepted –target formats
WhatsAppE164 phone number or group JID
TelegramNumeric chat ID or @username
Discordchannel:<id> or user:<id>, raw numeric IDs are treated as channels
Slackchannel:<id> or user:<id>, raw channel IDs are accepted
MS Teamsconversation:<id>user:<aad-object-id>, or a raw conversation ID (e.g. 19:@thread.tacv2)
Signal+E164group:<id>uuid:<id>, or username:<name>
iMessagechat_id:<id>chat_guid:<guid>, or a handle
Google Chatspaces/<spaceId> or users/<userId>
Mattermostchannel:<id>user:<id>, or @username

For Discord and Slack, OpenClaw attempts to resolve human-readable names (like #help or Help) via the directory cache or live directory lookups. When in doubt, use openclaw directory peers list or openclaw channels resolve to get the exact internal ID first.

Core Subcommands

The eight core actions that work across most configured channels.

openclaw message send

Sends a message or media to a target. Supports replies, threads, and platform-specific interactive components.

Required

–target | –message or | –media
Optional

–reply-to | –thread-id | –gif-playback | –buttons (Telegram) | –components (Discord)

openclaw message poll

Creates a poll in the target chat. Pass –poll-option multiple times for each answer choice.

Required

–target | –poll-question | –poll-option (repeatable)
Optional

–poll-multi | –poll-duration-seconds | –poll-duration-hours | –poll-anonymous | –poll-public | –silent

openclaw message react

Adds an emoji reaction to a specific message. Requires the message ID from the target channel.

Required

–target | –message-id | –emoji

openclaw message read

Fetches messages from a chat. Supported on Discord and Slack.

Required

–target
Optional

–limit | –before | –after

openclaw message edit / delete

Modifies or removes a previously sent message. Requires the message ID. edit also requires the new –message text.

Optional

–limit | –before | –after
Required

–target | –message-id | –message (edit only)

openclaw message pin / unpin / pins

Manages pinned messages in a channel. pin pins a message, unpin removes it, and pins lists all currently pinned messages in the target.

openclaw message broadcast

Sends a message to multiple targets across any configured channel. Pass –targets multiple times. Use –channel all to broadcast across all providers at once.

Required

–targets (repeatable)

Advanced & Platform-Specific Subcommands

Platform-specific operations for threads, Discord moderation, server management, and media.

message thread

Manage message threads. Supports create, list, and reply sub-actions.
message timeout / kick / ban

Discord moderation actions. Requires –guild-id and –user-id. Optionally accepts –reason.
message role

Role management. Supports info, add, and remove sub-actions.
message channel

Channel inspection. Supports info and list sub-actions.
message member info

Fetches member details from a server or guild.
message emoji

Emoji management. Supports list and upload sub-actions.
message sticker

Sticker operations. Supports send and upload sub-actions.

Examples

Five working patterns across different channels and actions.

01 Send a basic message to WhatsAppWhatsApp

openclaw message send --target +15555550123 --message "Hello from OpenClaw"

02 Reply to a specific Discord messageDiscord

openclaw message send --channel discord --target channel:123 --message "hi" --reply-to 456

03 Create a multi-option Discord poll that lasts 48 hoursDiscord

openclaw message poll --channel discord \
  --target channel:123 \
  --poll-question "Snack?" \
  --poll-option Pizza --poll-option Sushi \
  --poll-multi --poll-duration-hours 48

04 React to a Slack messageSlack

openclaw message react --channel slack --target C123 --message-id 456 --emoji "✅"

05 Send Telegram inline buttonsTelegram

openclaw message send --channel telegram --target @mychat --message "Choose:" \
--buttons '[ [{"text":"Yes","callback_data":"cmd:yes"}], [{"text":"No","callback_data":"cmd:no"}] ]'

About the author

Hairun Wicaksana

Hi, I just another vibecoder from Southeast Asia, currently based in Stockholm. Building startup experiments while keeping close to the KTH Innovation startup ecosystem. I focus on AI tools, automation, and fast product experiments, sharing the journey while turning ideas into working software.

Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.