Save Slack messages to Mem with an emoji reaction

React to any Slack message with 🧠 and the full thread lands in Mem as a clean, organized note your team can find later.

Agentic Task
MemSlackPersonal ProductivityOperationsContent GenerationResearch & Monitoring

Build me an agent workflow that turns a Slack emoji reaction into a clean Mem note so my team can capture insights, decisions, and useful threads into our second brain without leaving Slack.

Trigger: a Slack webhook on the reaction_added event, filtered to a configurable save emoji. Default the emoji to 🧠 (brain) but expose it as a workflow parameter so I can change it to :bookmark:, :pushpin:, a custom workspace emoji, or anything else without editing code.

When the trigger fires, give the agent the channel ID, the message timestamp, and the reactor's user ID, then have it run roughly this work:

1. Call Slack's Get Permalink for the reacted message so the note keeps a link back to the source.

2. Call Mem's Search Notes with that permalink as the query. If a note already references this exact Slack message, stop and exit cleanly. Do not write duplicates.

3. Call Slack's Get Thread Replies for the reacted message to pull the parent message plus the surrounding thread, so the saved note has full context, not a single line out of conversation.

4. Reason over the message and thread to draft a clean markdown note. The first line should be a heading with a short, topical title pulled from the content (Mem uses the first line as the note title). Then include a one-paragraph summary of what's worth remembering, an Original Message section that quotes the exact text that was reacted to, a Thread Context section with the relevant replies, and a Source section with the author's name, the channel name, and the Slack permalink.

5. Call Mem's List Collections, read the existing collections, and pick the best fit by topic. If nothing fits well, call Create Collection to make a new one with a sensible name and description. Prefer reusing existing collections over creating new ones.

6. Call Mem's Mem It (Save Content) with the drafted markdown to create the note. Then call Add Note to Collection to link the new note to the collection chosen in step 5.

Anchor service is Mem. The only other integration is Slack. Use the Slack user OAuth integration so the agent can read thread history and permalinks on behalf of the connecting user.

Edge cases to handle: if the reacted message is a top-level message (not in a thread), Get Thread Replies just returns the message itself, which is fine. If the channel is private and the connecting user is not a member, log a clear error and skip. If Search Notes returns multiple ambiguous hits, only treat it as a duplicate when a hit actually contains the exact permalink string. Use the configurable emoji parameter throughout, do not hardcode 🧠 anywhere except as the default value.

Additional information

What does this prompt do?
  • Watches your Slack workspace for a chosen save emoji (defaults to 🧠) so anyone on the team can flag a message worth remembering.
  • Pulls the full thread context and a link back to the original Slack message, then writes a clean Mem note with a title, summary, the original quote, the author, and the channel.
  • Picks the best existing Mem collection for the topic, or creates a new one if nothing fits, and files the note there automatically.
  • Skips duplicates by checking whether the same Slack message has already been saved before it writes anything.
What do I need to use this?
  • A Slack workspace where you can install apps and react with emoji.
  • A Mem account with an API key from Settings, API.
  • A team agreement on which emoji means save (the default is 🧠, but you can use any custom or standard emoji).
How can I customize it?
  • Change the save emoji to whatever your team already uses, like :bookmark:, :pushpin:, or a custom workspace emoji.
  • Adjust the note format: add tags, a TL;DR section, action items, or who else was in the thread.
  • Tell the agent how to pick collections, for example always file engineering channels into a Decisions collection, or split by quarter.

Frequently asked questions

Which Slack emoji triggers a save?
By default it listens for the brain emoji (🧠), but you can swap that for any standard or custom workspace emoji when you set the workflow up. Many teams use :bookmark:, :pushpin:, or a custom :save: emoji.
Does it grab the whole thread or just the one message?
It captures the message you reacted to plus the surrounding thread replies, so the saved note has the full context, not just one line out of conversation.
What happens if two people react to the same message?
Before writing anything, the agent checks Mem for an existing note that links back to that exact Slack message. If one already exists, it skips the save instead of creating duplicates.
How are the notes organized in Mem?
The agent looks at your existing Mem collections and picks the best match for the topic. If nothing fits, it creates a new collection so the note still has a home.
Can my whole team use it, or just me?
Anyone in the Slack workspace who can add the save emoji can capture a message. All the notes land in the same Mem account that you connect, which is how teams build a shared second brain.

Build your team's second brain without leaving Slack.

Connect Slack and Mem once, agree on a save emoji, and every important message you react to lands in Mem as a clean, organized note.