The agent can add and remove emoji reactions on messages using theDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
message
tool with the react action. Reaction behavior varies by channel and transport.
How it works
emojiis required when adding a reaction.- Set
emojito an empty string ("") to remove the bot’s reaction(s). - Set
remove: trueto remove a specific emoji (requires non-emptyemoji). - On channels that support status reactions,
trackToolCalls: trueon a reaction lets the runtime use that reacted message for subsequent tool progress reactions during the same turn.
Channel behavior
Discord and Slack
Discord and Slack
- Empty
emojiremoves all of the bot’s reactions on the message. remove: trueremoves just the specified emoji.
Google Chat
Google Chat
- Empty
emojiremoves the app’s reactions on the message. remove: trueremoves just the specified emoji.
Telegram
Telegram
- Empty
emojiremoves the bot’s reactions. remove: truealso removes reactions but still requires a non-emptyemojifor tool validation.
WhatsApp
- Empty
emojiremoves the bot reaction. remove: truemaps to empty emoji internally (still requiresemojiin the tool call).
Zalo Personal (zalouser)
Zalo Personal (zalouser)
- Requires non-empty
emoji. remove: trueremoves that specific emoji reaction.
Feishu/Lark
Feishu/Lark
- Use the
feishu_reactiontool with actionsadd,remove, andlist. - Add/remove requires
emoji_type; remove also requiresreaction_id.
Signal
Signal
- Inbound reaction notifications are controlled by
channels.signal.reactionNotifications:"off"disables them,"own"(default) emits events when users react to bot messages, and"all"emits events for all reactions.
iMessage
iMessage
- Outbound reactions are iMessage tapbacks (
love,like,dislike,laugh,emphasize, andquestion). - Inbound tapback notifications are controlled by
channels.imessage.reactionNotifications:"off"disables them,"own"(default) emits events when users react to bot-authored messages, and"all"emits events for all tapbacks from authorized senders.
Reaction level
Per-channelreactionLevel config controls how broadly the agent uses reactions. Values are typically off, ack, minimal, or extensive.
- Telegram reactionLevel —
channels.telegram.reactionLevel - WhatsApp reactionLevel —
channels.whatsapp.reactionLevel
reactionLevel on individual channels to tune how actively the agent reacts to messages on each platform.
Related
- Agent Send — the
messagetool that includesreact - Channels — channel-specific configuration