Avoiding Redundant Notifications With Gmail and IFTTT

For a while now I’ve been using ifttt and Pushover to cut down the number of notifications I receive on my phone. Email was the worst. I’d receive emails from friends and family interspersed with promotional emails. I wanted to be notified of the stuff from family and friends immediately. While I do like to read the promotional stuff (mostly about electronics parts and kits), it could wait.

I use gmail and already make extensive use of its filters to assign labels like “Friends” and “Family” to incoming email. Ifttt allows one to craft a recipe to send a Pushover notification when gmail receives a new email matching a label. It’s really easy to do and works very reliably. Once these recipes were created and tested, I disabled standard gmail notifications on my phone.

The number of interruptions was dramatically cut down, saving me from a whole lot of unnecessary distraction.

But there was one snag.

Sometimes I would be in gmail, see an email arrive from a friend and read it before the ifttt/Pushover recipe had notified me. A few moments after receiving the now read email, I’d receive the notification. Being notified, in this manner, about an email I’d already read was a tad annoying.

Luckily ifttt provides a work around. It’s possible to trigger on any email that matches a gmail search string. A search string can contain the modifier “is:unread”. So if we craft a search string as follows:

label:inbox label:Friends is:unread

we’ll only trigger on emails that land in the inbox, are labelled as from friends, and importantly are unread. Now, if I read the email in gmail before ifttt triggers, the email will be marked as read and ifttt won’t trigger on it. Much better.