Skip to main content

What I am after is to find a solution for me to stop having to follow up on every un-answered message of mine that is addressed to our account manager on Slack.

So I need a logic to trigger X hours after I mention our account manager’s username in a specific channel if they do not reply to that message of mine and drops a reminder message into that channel.

If the message with the mentioned username is not in a thread, the reminder should arrive as a reply in thread.

If the message is already in a thread, then the reminder should arrive as a message under that thread.

Reminders should keep coming every Y hours if the mentioned username is still not replying.

Reminders should stop (or not arrive at all) only when when the mentioned username is to write any reply upon the mentioning their username.

Not sure if Zapier is the way to go or is it easier if I just research for an AI based chatbot for Slack which I can probably train with the requirements above?

Welcome @jerryzappy, thanks for joining the Community here! 🙂
 
This sort of workflow sounds like it could be possible with Zapier, but it would involve a lot of action steps. There isn’t an easy way to set up an hourly reminder to go out every Y number of hours, least not that I can think of at present. But you could have a series of Delay For (Delay by Zapier) actions in the Zap, set to delay for Y number of hours. This will space out each reminder. After each the Zap would search Slack to see if it’s had a response and use a filter to determine whether it should continue to the next reply or not.

In order to search Slack to see the messages in the thread you’d want to use a API Request (Beta) (Slack) action:
d5b159be72cfeb055c78b4bbaa4cfc78.png

Suggesting that action as the standard Find Message (Slack) action will only return the details for the message and not give details of all the messages in the thread. You can find out more about how to use that type of action here: Set up an API request action (Beta). While I’ve not tested it myself, it looks like you’d want to use that API Request action to make a call to Slack’s conversations.replies API endpoint. That API endpoint as that should retrieve all messages in the thread. 

Then you can use a Filter by Zapier action to check whether the manager’s user ID is contained in any of the thread messages that were retrieved. So the filter would be set only continue to send out a reply if the managers User ID wasn’t present. You can find out more about using filters here: Add conditions to Zaps with filters.

Before each filter you’d also need to have additional API Request actions. So after each delay action, you’d want to have API Request action followed by another filter and then a Send Direct Message (Slack) action that would send out a reminder. And that set of actions would need to be repeated within the Zap.

To help reduce the number of tasks used I’d recommend only sending out a few reminders for each message, then finish the Zap up with an action to send a notification to yourself. My thinking here being that if your manage has missed X number of reminders then it might be better to follow up with them more directly to get a response. 

I’m not aware of a specific AI chatbot for Slack that I could recommend for this but there’s likely one out there that could do it! 🙂

Hope that helps. Please do keep us updated on how you get on, I’m eager to know how you solve this!