How I have been using Zapier to Automate my Slack Status
At Zapier, we were thrilled to hear Slack introduced setting your status. Slack is the very backbone of our daily communication and as a fully remote company you can’t just tell if somebody is available by glancing over that “beloved” open office floor.
Zapier Support for Slack Status
Within a days we added a Set Status action to the Zapier Slack integration and soon after we published a blog post and several Zap templates with various examples of how to automate your Slack Status.
Since then I’ve personally tried various Zaps to automate my status.
I started off with a Zap that ran every 5 minutes and used my calendar and the time of the day to figure out what I’m probably doing. In Google Calendar I added events for when I’m normally working and used the notes field for tags that the Zap recognized and used to select the right emoji and text. As a bonus it added the closest matching 🕐 emoji and my local time to the text.
But of course a day rarely happens as planned so I needed a way to override the automated status when needed. I decided I wanted to do that via Slack itself so I modified the Zap to notice my current status didn’t have a 🕐 and take a pass. Then to end the override I would clear my status and the Zap would then take over again.
Yes, quite the Zap… or actually, it was more like 3 Zaps working together.
Keep it Simple Stupid
Over time I kept modifying my status Zaps and they became more complex every week. What if I planned meetings that overlap my daily work-events? How do I figure out what status to set after that meeting ends?
Argh.. automation heaven slowly turned into hell.
So, this week I decided to revise my strategy and this time, keep it simple. My goal was to help me remind keeping my status up to date and make it easier to do so.
Scheduled Slack Reminders
So for starters I created a few Zaps that at 9am, noon, 1pm and 6pm used Slack (Legacy — the new version doesn’t yet return the status) Find User by Email to get my current status and a filter to check if the emoji is not what I’d expect. In that case, it sets an immediate (1 second) Slack reminder asking to check if I should update my status. I initially tried DMs but I liked a reminder more because a DM becomes unread as soon as you view it, while the reminder requires a click to complete.
Links to set my Status
Since these Zaps work have an expectation of what my status should be, I wanted to be able to set it directly from that reminder. For this I created another Zap that used Webhooks by Zapier to trigger by calling an URL. When I call it with e.g.
?status=:emoji:+text it splits it into the emoji and text and then sets the status. For the reminder Zaps I added the link to set the expected status to the reminder text and voila!
Quickly set it form anywhere
With this last Zap I could also finally solve what kept me from keeping my status up to date before I automated any of it. To set your Status in Slack takes quite a few clicks or taps:
I was already using Alfred to improve my productivity one keystroke at a time. The above Zap is really easy to hook up Alfred. You can use workflows for the best experience, but if you don’t mind Alfred opening a browser window to set your status, you can also configure the Zap’s Webhook URL as a Custom Web Search:
With this, I can now set my Slack Status from anywhere by (in my case) typing
⌥+Space to open Alfred, then
ss to select my Custom Search and finally
:emoji: optional text and
Enter to set my status:
Let me know how you use Zapier to automate your Slack Status!