Turn Slack Messages Into Notion Tasks Automatically — Never Lose an Action Item Again
Whenever a specific emoji reaction is added to a Slack message, this workflow instantly creates a new task in your Notion database. Teams stop losing action items buried in chat.
- 1
Trigger on Slack Emoji Reaction
Add a
Slack Triggernode. In your Slack App settings enable thereaction_addedevent and point it to your n8n webhook URL. Set theEventfield in the node toreaction_added. This fires the workflow whenever anyone reacts to a message. - 2
Filter for the Correct Emoji
Add an
IFnode connected to the trigger. Set the condition:{{$json["reaction"]}}equals your chosen emoji name without colons, for examplewhite_check_mark. Only messages reacted with that emoji will continue to Notion. - 3
Fetch the Full Slack Message Text
Add an
HTTP Requestnode on thetruebranch of the IF node. SetMethodtoGETandURLtohttps://slack.com/api/conversations.history. Add query parameters:channelmapped to{{$json["item"]["channel"]}}andlatestandoldestboth mapped to{{$json["item"]["ts"]}}, plusinclusiveset totrue. Add anAuthorizationheader with your Slack Bot Token asBearer YOUR_SLACK_BOT_TOKEN. This retrieves the original message text. - 4
Shape the Data for Notion
Add a
Setnode. Create three fields:taskNamemapped to{{$json["messages"][0]["text"]}},slackUsermapped to{{$json["messages"][0]["user"]}}, andcreatedAtmapped to{{$now.toISO()}}. This cleans the payload before sending to Notion. - 5
Create the Task in Notion
Add a
Notionnode. SetResourcetoDatabase PageandOperationtoCreate. Enter your NotionDatabase ID. Map theNameproperty to{{$json["taskName"]}}, add aTextproperty calledSlack Usermapped to{{$json["slackUser"]}}, and aDateproperty calledCaptured Atmapped to{{$json["createdAt"]}}. Authenticate with your Notion integration token.
Frequently asked questions
Which emoji should I use to trigger task creation?
You can use any emoji. Popular choices are white_check_mark, memo, or a custom team emoji. Just make sure the name you type in the IF node matches exactly what Slack sends, which you can verify by checking the raw trigger output in n8n's execution log.
Do I need a paid Slack plan?
No. A free Slack workspace works as long as you can create a Slack App and enable Event Subscriptions. The Slack App must be installed to your workspace and given the reactions:read and channels:history OAuth scopes.
What if my Notion database has different property names?
Open your Notion database and check the exact column names. Then update the property names inside the Notion node to match. Notion property names are case-sensitive, so 'Name' and 'name' are treated differently.