Context: I am building an agent that automates customer success outreach for customers signing up on our platform. When users sign up and progress through our onboarding process (signing up, starting integration, completing integration, or revoking access), these events are automatically logged to a Slack monitoring channel. The flow watches this channel and when we see someone from our team types “@Gumloop send email,” in the thread of a message, it processes recent onboarding events to identify users who need follow-up communication. Using AI, it generates personalised emails tailored to each user’s specific onboarding stage – encouraging new signups to complete integration, helping users who started but didn’t finish, congratulating successful integrations, or gathering feedback from users who revoked access.
Issue I’m facing:
I’m using the Slack message reader node to read all messages in the current channel. Whenever a new user message alert comes in, we reply with “@Gumloop send email” or just “send email” in the message thread.
However, the Slack message reader goes through all the messages in the thread, including previous instances where “@Gumloop send email” was already used (and emails have already been sent). As a result, it sends duplicate emails.
Ideally, it should:
- Only check for new messages in the channel.
- Look for messages where “@Gumloop send email” is tagged.
- Send emails only for those new messages.
Can you help me figure out how to build this logic into the flow? And is it even possible with current slack features Gumloop have?
My workflow link: https://www.gumloop.com/pipeline?workbook_id=rid2x7oDNAiKBDseR8EzkD&run_id=2NQpopYsqYG8M55CXfznMD


