Getting Things Done

With Evernote, OmniFocus and Alfred

I’ve used David Allen’s Getting Things Done for a little under ten years. One day I’ll get around to writing about how my system works, but for now I’ll stick to explaining how I automate the creation of project support files.

For a long time, I planned out my projects in OmniFocus, resulting hundreds of tasks, sub-tasks and notes. Unfortunately, this cluttered up my Next Action lists to such an extent that it would often take hours to fully review them.

A few months ago I switched to a new system, where OmniFocus only contains actions that were definite, and could actually be completed. Everything else moved into Evernote.

When I create a new project, I do four things:

  • Create an OmniFocus project (eg. “Wash Car”). This is where my next actions will live.
  • Create a tag in Evernote, prefixed with a slash (eg. “/Wash Car”). I’ll use this to tag any emails or other stuff that’s related to the project.
  • Create a new note in Evernote to act as the main project support document (eg. “PROJECT — Wash Car”), tagged with the new project tag. This is where I’ll plan my next actions and keep any thoughts relating to the project.
  • Add a link to OmniFocus pointing to the Evernote note, and vice versa. I use local links which work on both OSX and iOS.

Of course, this process is far to onerous to do manually. Thanks to the magic of Alfred and AppleScript, I can achieve all this with the simple command:

This executes an applescript that creates the tag and note in Evernote, as well as a new OmniFocus project. It adds a note to the OmniFocus project pointing to the Evernote project note and then appends a link to the OmniFocus project to the note. Finally, it opens the Evernote note so I can start planning.

The Evernote project note, with the newly-created tag and a link to the OmniFocus Project
The OmniFocus project, with a classic link to the Evernote note included.

What does the Alfred Workflow look like?

First, set up a Keyword Trigger with a mandatory argument.

Then tell Alfred to execute the following AppleScript

If you want to use this workflow yourself, you can download it here. You’ll probably want to edit the parent tag at line 11 and the default notebook at line 15 to match your setup.

Note that it’ll only work when online, since it’s impossible to get a Evernote note link until it’s been synchronised to their servers. The script will hang if executed offline.