Managing Email
22 Dec 2023I have been following @mako for quite a while now. He generally writes insightful posts about lots of different things. The most recent item that caught my attention was his “Things I Like” report for 2023. In it, he mentions an “Inbox Allow List”. The idea was attributed to a post by Omar Shahine in which he describes the idea.
I have been struggling with keeping on top of relevant email too. Even though I have a ton of Gmail filters set up already to manage my workflow, this was one that I couldn’t figure out easily. Gmail filters are great, but they do have their limitations!
I have bemoaned the loss of procmail in the past. This time around, timing was good. Classes are over for the semester, and I have a bit of time on my hands. Time to take a look at the Gmail API.
Based on Google’s demo code, I threw together a quick solution: Gmail Purgatory was written in about an hour. The script is a bit ugly, but I might clean it up as time goes on.
For now, the goal is to manage email as follows:
Stage 1 filtering via Gmail rules that will ‘tag’ incoming messages with mailing list labels and never let them hit my Inbox, and which take care of spam filtering.
Stage 2 filtering is that script listed above. It will run every 15 minutes or so when I care enough to be looking at work email (7am - 8pm or so). It takes all email that did make it into my Inbox after stage 1 filtering and moves it into purgatory. Only messages that are specifically allow-listed will remain in my Inbox.
Stage 3 is manual filtering.
That means that my main workflow will now include messages tagged as:
-
00 - Purgatory; I’ll get to these when I get to them. All messags end up in purgatory based on my script.
-
01 - Follow Up; Manually moved here after I decide that I need to hold on to this for further action.
-
02 - Incoming; This contains one sub-label for each mailing list. They gets reviewed based on what the list is for. Most sit there and get scanned once every other week or so; some are monitored more closely. Messages in this label are tagged by Gmail filters.
When email needs to be retained for archival purposes, I’ll remove all labels. In Google’s world, no labels means that they are archived.
I’d be interested in seeing how that plays out, and how I’ll end up tweaking it more.