Ever since our inception, a steady stream of users have enquired about the difference between a Next Action and an Action.

I think it’s finally time to figure this out and find the optimal process.

The Current Workflow

As a quick reminder about where we are right now. There are 5 standard Status labels: Next Action, Action, Waiting On, Some Day and Finished.

The core workflow is, if an email can be done in under 2 minutes, do it and Finish it. If you’re waiting for a response, set it to Waiting On. Otherwise it’s an Action. And, if it’s the highest priority thing in a project, it’s a Next Action.

The Tedious Part of the Workflow

The problem with this is, I don’t care about S/Action. To me, everything that isn’t “Finished” is an action.

The other Statuses are useful modifiers. Next Action is high priority, and Waiting On is delegated/awaiting-response.

But the hassle involved in setting each important email to S/Action is too great to make me do it 100% of the time. I’m lazy and GTDInbox doesn’t support me, and therefore there are now holes in my system (email that isn’t categorized).

A Major Technical Limitation for any New Solution

The rub – the reason we cannot just replace the Action label with something more lightweight (like “-label:s-finished”) – is sadly entirely technical. When people first install GTDInbox, in all likelihood, they have 1000s of emails in their inbox, none of which have the S/Finished label. To be quick, and to know how many emails there are within each Status, GTDInbox downloads all Statuses. Therefore, for new users, if there was no S/Action label, the search for Actions would be “-label:s-finished”; which means GTDInbox would have to download 1000s of emails to maintain its current functionality. That is simply not feasible.

Possible Solutions for a Better Way to Action Emails

One solution is to make S/Action irrelevant (and for Actions to be “-label:S-Finished”) and overcome the technical limitation by creating an Install tool. So when you install GTDInbox for the first time, it would process the inbox and archive all emails, and add S/Finished to them. (Arguably, whatever we do, this would be a useful tool). The weakness with this is that a) it would be slow, b) the user might skip it, and we’d still be left with 1000s of emails to download. I’d have no confidence in this solution.

Another solution is to fully automate the addition of S/Action to all newly arrived emails with a Filter. This achieves the desired result: every new email is an Action until it is Finished. However, it may quickly become unwieldy as all spam, all mailing lists and everything else would be given the S/Action label. The solution here is for the user to tweak the filter to exclude mailing list messages. Perhaps a more serious problem is that the filter will also apply S/Action to all replies. So, if you had changed a conversation to S/Waiting On, and you get a reply, it’s automatically changed to S/Action. Which may be fine for some people, but I believe it’s a problem as I like to manually decide whether I’m no longer Waiting On a response (i.e. the response may be insufficient, or a simple acknowledgement that they will do it in the future). It’s an even bigger problem for S/Next, where a high priority email will be returned to normal priority as soon as a reply comes in. So sadly, we have to rule the Filter option out.

If you’re wondering what would happen if we restructured GTDInbox so that it does not need to download all Actions… well it would result in a serious drop in functionality and efficiency. GTDInbox would no longer know which Projects (and Contexts) have actions. So, you would not be able to scan your Project labels to see which ones need your attention.

As the root of the problem is the hassle involved with adding the S/Action label, we could semi-automate this. For instance, as soon as you view a conversation (which you would not do for an uninteresting mailing list item), it is automatically given the S/Action label. (This would be a preference). Using the “Send And” button of Plus, your newly Actioned email could be Finished as soon as you reply. My only concern here is that you might feel that GTDInbox is oppressing you – a Pavlovian response that makes you fear opening an email because it’ll become an Action – a burden! I hope this wouldn’t be such a big problem with a prominent “Finished” button. We could also make it so that when you remove the S/Action label (in the Gmail conversation header) GTDInbox automatically adds the Finished label — another way to complete a conversation. (We could even revisit the Filter idea, by watching emails that arrive in the inbox ourselves, and adding an S/Action immediately if it has no other Status – but this takes us back to automatically Actioning mailing list items and other unimportant email, so it’s not desirable). Another (more manual) alternative is a new button that would “Action, Archive and Move Next” – although this isn’t watertight so we’d still be prone to forget.

Summary – and your thoughts?

I believe I’ve covered (perhaps a little too exhaustively 😉 ) all the possible solutions. To me, some solution built around the last option (i.e. automate adding S/Action) is the most desirable.

If you’ve managed to stick this blog post through the end, then, well, congratulations 🙂 Your thoughts about the most how best to Action emails (and your own workflow) would be most welcome in the comments.


This was written by Andy Mitchell