Gmail Reminder Nudges For Control Freaks
Remember all the things with Apps Script
Gmail released a nudge feature last year which automagically reminds you of emails you have sent or received which haven’t been responded to.
This is a great start, but for the control-freaks amongst us it’s a bit random which emails get nudged and when.
The following Apps Script gives you more control, with a little more work: you need to install and configure the script, and you need to label or forward those emails you wish to be reminded of.
It takes advantage of filters, labels, and a little-know Gmail feature: any text after a plus (“+”) sign is ignored in routing, so you can send email to yourmail+filtertext@gmail.com, and it will be routed to yourmail@gmail.com, which allows you to set filters on the part of the address after the plus sign.
Usage
- Outbound: bcc. yourself with the number of days after which to followup (eg. yourmail+2@domain for a followup in 2 days).
- Inbound: same deal, but just forward to yourself with the number of days after which to followup.
- Missed inbound: set reminder periods by label for unread emails.
- A followup email will be automagically sent every x days (eg. 2 in the example above) until folks (including you) respond, excluding weekends and holidays.
Note that you can set up a Gmail filter to automatically label emails.
Setup
- Upload the script with clasp.
- Run the script once from the script editor to authorize it (from the Code file, Run -> Run Functions -> sendReminders)
- Configure your desired reminder messages, labels, frequency, page_size, and max_threads in the Config file (eg. 500 & 1000 for the latter two).
- Set TEST to true; this enables zero day reminders. Run the sendReminders() function from the Editor to test it.
- Set TEST to false and set a daily trigger for sendReminders (Edit -> Current Project’s Triggers) once you’re satisfied with the script’s behaviour.
Code
In addition to the below snippets, you’ll also need the moment.js date and time library and moment business days library. The full Apps Script project is here.
Here are the configuration parameters:
Here’s the core business logic: