Ultra high volume email workflow

Ultra high volume email workflow

In my last years at Apple, if I had no workflow in place, it was not impossible to get over a thousand emails a day. When I would visit people’s offices, I would see two main workflows:

  • An inbox with 50,000+ emails in it, mostly unread
  • A hundred or more mailboxes, one for each mailing list, also with high unread counts

Sure, there is a ton of garbage emails, such as automated emails or irrelevant mailing lists you can’t subscribe from. But I developed a system that worked for me and I was able to never have an unread message and was able to always find the most important ones.

The very simplest version of it looked like this. For a smaller flow of email, it could work well, but I ended up beefing it up a bit.

The decision process I would go through was this:

  • Is the message automatically important? (Inbox)
  • Do I need to manually determine the value of this message? (Triage)
  • Is there anything of value in this message? (Keep)
  • Is this message definitely worthless? (Trash)

Let’s go through each of these mailboxes one by one.


Messages that I considered automatically important were:

  • Addressed directly to me or Cc:ed to me
  • Coming from someone important, but not directly to me (CEO, higher level manager, the IT department, etc)

These types of things I handled with server-side rules that would dump these messages into my Inbox.


Before any other rules are set up, everything else would end up in Triage and this was my workflow.

  1. Start with the oldest unread
  2. Scan subject line
  3. Skim messages with potentially interesting subject lines
  4. Make a decision about the message
  • Unsure of its value? Leave it
  • Has something of value in it? Move it to Keep
  • Has no value? Delete

Now, this can get tedious after awhile, so go slow at first and make some decisions that will cut down drastically on the Triage mailbox.

  1. If an entire mailing list, automated or otherwise, is always worthless, unsubscribe. If you can’t, create a rule to move it to the trash and mark it unread. Alternatively, you could use a separate mailbox.
  2. If you find messages from important people, add them to the list that filters directly to your inbox
  3. If specific verbose emailers clog up the Triage folder, give them the same delete treatment.

Inbox revisited

Once you’re done reading a message in your inbox and you think it has value, put it in Keep. If it doesn’t, trash it or you could put it in Triage, which is sort of the catch all for “I don’t know how valuable this is”


One of the biggest payoffs is you can search only your Keep folder and you’re going to find messages that you deemed important. If you made a mistake, you always have the Triage folder to fall back on.

Secondly, your inbox remains much cleaner and you have far fewer mailboxes to deal with. Even if you get behind, you don’t have 75 unread markers, you just have two, Inbox and Triage.

Get over it

One key point here is that you will make mistakes with this system. You may delete or incorrectly file an email. But don’t you do that today? And if a message is important enough, you’ll get nagged again if you missed it. Everyone is swimming in email so they’ll get it.

But this system led me to miss much less than I did before.


It’s sort of a variation on the whole Zero Inbox concept but I found it easier to manage. Once your Keep folder gets too large, like into the thousands, maybe you would think about breaking it up. For example, I ended up with four subfolders, one for each Apple platform.