let a bot acknowledge a slack message with a reaction
acknowledge the handoff without adding another reply to the channel. a bot can put an existing workspace emoji on the exact slack message you name.
agree that eyes means received for review, so nobody mistakes it for approval. reactions count as writes and bypass sending approval. tell the bot to ask before reacting if you want each one reviewed.

where it helps
- stock handoffs: mark a count received when it includes a location and date.
- shift reports: acknowledge one after checking its required details.
- expense requests: use eyes to mean seen, rather than approved.
- delivery updates: add the agreed receipt marker to the exact message.
the short version
the reaction belongs on one exact message. the bot finds it through search or channel history before adding the emoji.
give the workspace emoji's name without colons. it must already exist. if the connected account already added that reaction, slack reports success. the same account cannot stack copies of its reaction.
step by step
- connect the workspace. allow read and write for this bot's reaction job.
- agree on the meaning. choose an existing emoji and explain what it signals.
- try one message. open the message the bot found before it reacts.
- watch early runs. inspect automations. pause if incomplete reports get acknowledgements.
send this to your bot
paste this into a chat with your bot
when a message arrives in #stock-handoffs, look for a completed count report with a location and count date. add eyes only to complete reports. it means received for review, not approved. tell me here which report you acknowledged. leave incomplete reports alone. never use a check mark, post a message or claim the figures are correct.- when
- when a message arrives in #stock-handoffs
- needs
- slack read and write for reading messages and adding reactions
what comes back looks like this (an example)
conor: east loft count report, dated today
- eyes added to the report
- quantities still need reviewwhat can go wrong
- two similar posts? the bot should ask which one you mean.
- custom emoji must already exist. a new name won't create one.
- an existing reaction counts as success. the same account will not add a second copy.
- slack events arrive at once. your local bot still needs an awake computer and an open dusk app.
permissions and asking first
dusk bot counts Add reaction to message as a change: it alters something in Slack, and the sending setting does not cover it. a bot you allow only to read can never call it.
the permissions Slack asks for to run it: reactions:write.
inputs
| input | required | what it is |
|---|---|---|
name | yes | Name of the emoji to add as a reaction (e.g., 'thumbsup'). |
channel | yes | ID of the channel where the message to add the reaction to was posted. |
timestamp | yes | Timestamp of the message to which the reaction will be added. |
from composio's catalog for Slack (action SLACK_ADD_REACTION_TO_AN_ITEM, read 12 november 20264). your bot fills these in from what you tell it.
try it in 2 minutes
- pick one handoff message
- choose an existing emoji and explain its meaning
- ask for the reaction on that exact message
- open the message in slack and look for the emoji
what it looks like
before
conor posts an east loft count with a date. nobody knows if it reached the reviewer.after the bot
eyes appears on that report.
meaning: received for review. figures still need review.an illustration with made-up names and numbers.
mistakes people make
using a check mark for "received"
choose an emoji your team won't mistake for approval.
assuming success means a new reaction
look at who already added that emoji.
questions
does adding a reaction use the message sending approval?
no. it counts as a write. tell the bot to ask before each reaction if you want that checkpoint.
can i use our custom handoff emoji?
yes, if the workspace has it. give the exact name without the outer colons.
will it keep stacking the same emoji on a message?
no. the same account cannot stack copies. slack treats an existing reaction as success.
sources
drafted with ai help from the dusk bot docs and the sources listed on this page, then checked against them. if something here is wrong or out of date, write to [email protected].
find the slack message behind a question
a slack assistant that finds the decision in the thread
claude code from telegram, discord or slack
an end-of-day digest of the slack channels you choose
turn a request into a slack reminder
put a new row in the slack list you chose