Slack Add Reaction
Adds an emoji reaction (e.g. :thumbsup:) to a Slack message using reactions.add. Useful as a lightweight acknowledgement that doesn't clutter the channel transcript, and as the natural fire signal for Slack Trigger workflows filtering on reaction_added.
Requires a Slack connection with reactions:write scope.
Configuration
| Field | Description | Notes |
|---|---|---|
| Connection | Slack connection to use | Required |
| Channel | Channel name or ID containing the message | Required. Supports templates. e.g. #general or C01234567 |
| Message Timestamp | The message's ts value | Required. Supports templates. Usually wired from an upstream slack_send_message (e.g. {{ st-send.ts }}) |
| Emoji | Emoji name without colons | Required. Default: thumbsup. Examples: white_check_mark, tada, eyes |
Output
Returns the Slack API response:
| Field | Description |
|---|---|
ok | Whether the reaction was added |
Self-fire behaviour
Unlike app_mention, Slack does deliver reaction_added events back to the bot's app even when the bot itself added the reaction. That makes this node ideal for ending an action workflow when you want it to fan-out into a slack_trigger workflow filtering on reaction_added — e.g. for integrations:test self-loops, or for chaining workflows together using Slack as the message bus.
Example: chaining two workflows
Action workflow:
slack_send_messageposts a parent message and outputs itsts.slack_add_reactionreacts to thattswith:white_check_mark:.
Trigger workflow:
slack_triggerlistens forreaction_added.- Receives the event, fans out as needed.
Required scopes
Add reactions:write to the bot's OAuth scopes for this node, and reactions:read if the Slack Trigger workflow filters on reaction_added. Slack will show an "update available" banner when scopes change — workspace admins approve it.