Skip to main content

Overview

The Reaction component lets your agent react with a single emoji to the user message it’s replying to — the same tap-and-hold reaction a person would leave, instead of (or as well as) a text reply.
Renders no message content. Reaction doesn’t produce a bubble in the chat — it attaches an emoji to the message it’s reacting to. A reply that’s only a reaction block sends no text at all.

Format

  • emoji — a single emoji to react with. One emoji only, and at most one reaction per reply.
The parser is flexible on the separator — it accepts = or ::

Why use it

Reaction can be the agent’s entire response — that’s the point. It’s ideal for acknowledging or concluding a conversation without sending another message that invites a reply. If the user says “thanks, that’s all I needed,” reacting 👍 closes the loop; sending “You’re welcome!” as text just prompts another reply.

Platform support

Reaction only works on channels that support native message reactions. Elsewhere the block is ignored — nothing is sent or rendered.
Slack requires reactions:write. Without this bot scope, Slack reactions silently fail to send. See Required bot scopes.

Tell your agent to use it

Components are never used automatically — instruct the agent in its persona or a skill context:

Best practices

A closing “You’re welcome!” or “Glad I could help!” invites another reply. Reacting 👍 to a goodbye acknowledges it without extending the exchange.
Slack maps emoji to a fixed set of reaction names and Messenger maps to a fixed reaction set (like/love/haha/wow/sad/angry/dislike/smile). Uncommon or highly specific emoji may not have a mapping on those channels and won’t be sent.
On unsupported channels the block is silently dropped — no error, no fallback text. If the reaction is meaningful to the interaction (not just a nicety), pair it with persona instructions that also work as plain text on channels without reaction support.

Troubleshooting

Confirm the channel supports reactions (WhatsApp, Instagram, Facebook Messenger, Slack, or iMessage). On any other channel the block is stripped silently — this is expected, not a bug.
Check that the Slack app has the reactions:write bot scope under OAuth & Permissions. See Required bot scopes.
Both channels map your emoji to a fixed set rather than sending it as-is. iMessage maps to the closest tapback (love, like, dislike, laugh, emphasize, question); Messenger maps to like, love, haha, wow, sad, angry, dislike, or smile. If your emoji doesn’t map cleanly, pick one closer to those sets.
The agent only uses the component if you instruct it in the persona or skill context with the exact format shown above.

Next steps

Response Formatting

Explore the other components

Slack Channel

Connect Slack and configure bot scopes