Two Discord steps work on what is already in a channel. Discord · Add a reaction — Puts an emoji on a message — needs a bot — marks a message, for example with ✅ once an order has shipped. Discord · Create a thread — Starts a thread in a channel — needs a bot — opens a thread, hanging off a message or on its own, so the follow-up stays in one place.
Who can do this
Workspace Admins and Editors, on every plan. Viewers see the steps' settings but cannot change them.
Before you start
- A Discord connection made with a bot token — a webhook can only post. See Connect Discord.
- The bot in the server, with Read Message History and Add Reactions for reactions, and Create Public Threads for threads, in that channel.
Steps
Add a reaction:
- Select + after the step that posted the message. In the step picker, open Apps, select Discord, then Add a reaction. Or search Discord.
- In Connection, choose your Discord bot connection.
- In Channel, choose the channel the message is in — Channels in the bot's servers. Each shows its server, such as #alerts · Consulace.
- In Message id, the message — From the step that sent it. Drag in
idfrom Send a message:{{ steps.send_a_message.id }}. - In Reaction, the emoji — The emoji itself, or a server emoji as name:id. For example ✅, or consulace:123456789012345678 for a server's own emoji.
- Select Run this step to try it.
Create a thread:
- Select + where the thread should start. In the step picker, open Apps, select Discord, then Create a thread.
- In Connection, choose your Discord bot connection.
- In Channel, choose the channel.
- In Thread name, its name — for example Order 1042 — Rohan Mehta.
- Optional: in From message, a message id — Optional — a message id; the thread hangs off it. Empty starts it on its own.
- Select Run this step to try it.
To post in the new thread, add Send a message after it, select Use a value beside Channel, and type {{ steps.create_a_thread.id }}.
A message's id can also come from Discord itself: in Discord, turn on Developer Mode under User Settings › Advanced, then right-click a message and select Copy Message ID.
Output
Add a reaction:
| Field | What it is |
|---|---|
channelId |
The channel. |
messageId |
The message it reacted to. |
reaction |
The emoji, as sent. |
Create a thread:
| Field | What it is |
|---|---|
id |
The thread's id. Use it as the channel to post in the thread. |
name |
The thread's name. |
channelId |
The channel it is in. |
Good to know
- Write the emoji itself, not its short name — ✅, not :white_check_mark:. Colons round the reaction are taken off.
- Reacting twice with the same emoji changes nothing; Discord shows the bot's reaction once.
- A thread on its own is a public thread. A message can have one thread; a second Create a thread from the same message fails.
- Threads close themselves after a time without messages, as the channel is set to in Discord.
- Runs once per item.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
| Add a reaction needs a bot — a webhook can only post. Connect Discord with a bot token for this step. | The connection is a webhook. The same for Create a thread. | Add a Discord connection with a bot token and choose it. |
| Discord refused: Unknown Message. | Message id is not a message in that channel. | Choose the channel the message was posted in, and check the id. |
| Discord refused: Unknown Emoji. | Reaction is not an emoji Discord knows, or a server emoji from a server the bot is not in. | Use the emoji itself, or name:id of a server emoji. |
| Discord refused: Missing Permissions. or Discord refused: Missing Access. | The bot may not react or start threads in that channel. | Give the bot's role the permissions under Before you start. |
| Discord refused: A thread has already been created for this message. | From message already has a thread. | Leave From message empty, or use another message. |
| Message id is empty when the step ran — an earlier step may not have given the value it names. | The value came out empty. The same for Reaction, Thread name and Channel. | Check the values it reads. |
| Discord refused: 401: Unauthorized. Check the connection's details on Connections. | The bot's token was reset. | Revoke the connection and reconnect it with the new token. |