Skip to main content

Hi, 👋🏼

I'm trying to implement the following scenario using Zapier:

I need to retrieve messages posted to a channel that still have the 'looking' reactions and haven't had their emoji changed in the past 24 hours.
The messages should not have a thread message saying, 'This alert received a :looking: emoji but has not been updated for a day.'
After retrieving these messages, I need to send a reply to all of them.

How can I implement this?

Hi @Rasangika 👋

For this I’d have thought you’d need to have a Zap that uses the New Reaction Added (Slack) trigger, then have a Delay For (Delay by Zapier) action set to delay things for 24 hours. Next, you could use Slack’s API Request action to retrieve the current emoji reactions for that message. For that, the reactions.get API endpoint would need to be used in the URL field and the channel ID and timestamp for the message need to be selected like so:
aba62fcb134b4b5dcc7404d62f511b0a.png

A Filter could then be used to check the output from that API Request action to see if a certain emoji had been added or check whether the ‘looking’ emoji was still present. 

Next, you could send a reply to the thread by using the Send Channel Message (Slack) action and in the Thread field select the timestamp (Ts field) of the message from the Slack trigger step when creating the new message.

Hope that helps to get you pointed in the right direction. If I’ve misunderstood what you’re looking to do or you run into any trouble on that do let us know!


Hello! Thank you for the reply. 🙂

However, I need to get all the messages with a specific reaction after 24 hours if the reaction hasn’t changed, and then send a thread message to all of them. This approach you suggested seems to only send a thread message to one message in Slack.

Could you please help me implement this scenario?


You’re most welcome @Rasangika

That’s correct, the Zap would only check on one post at a time. You could change the trigger to be Schedule by Zapier and have it run periodically, then have an action that searches Slack for all messages that have a specific emoji but, looking at Slack’s API it’s not possible to run a search based on a specific emoji. And even if it was, I don’t think that would tell you whether the emoji was changed in the last 24 hours. 

What you might need to do instead is have one Zap store a record of all the messages that have a ‘looking’ emoji, their timestamp (essentially the ID of the message) and the date and time the reaction was added in Zapier Tables. Then have another Zap that uses Schedule by Zapier for the trigger and checks the records in the table periodically to see whether 24 hours has passed (Compare dates and times in Zaps). Then for the records that are over 24 hours old you could use a Looping by Zapier action to run through each one and make an API Request to get the current set of emojis that the message has followed by a filter and Send Channel Message. 

Do you think that would work for your needs here?


Reply