OmniFocus Auto-Parser

Sep 4, 2015
Joe Buhlig
~2 mins

I love it when my systems do things automatically. In this case, I can capture an idea for a someday/maybe list and it ends up in the right place in OmniFocus.

I wrote about my original process for this here, but I’ve since refined it. I didn’t like having an extra app icon sitting in my dock. I knew there had to be a better way to do it… and I found it.

I’m now using a launch agent. If that sounds intimidating, I completely understand. I originally stayed away because I thought it would be too complicated. But it turned out to be less difficult than I expected. If you need help falling asleep tonight, you can read more about them on Apple’s developer site.

It’s possible that I’ll be making updates to this code in the future, so I added this to a new GitHub repository I’ve created: OFScripts. All of the code and instructions for how to install it can be found there.

From a high-level view, here’s what happens:

1. When you log in

The launch agent starts running when you log into your account. That’s all a launch agent does. It is a process that runs at log in. It can either run once or on intervals in the background. In this case, it runs at a specified interval.

2. Run AppleScript

The launch agent is set up to run an AppleScript. It runs first when when you log in and continues to run on an interval afterwards.

3. Parse your OmniFocus inbox

The AppleScript takes your OmniFocus inbox and parses any tasks that start with “–“. You can learn how to create the parsing strings in my original post.

This system has become integral to my use of OmniFocus. With this running in the background, I can now email tasks directly into a project and context. The big one for me is the ability to use Drafts(iTunes) to automatically send tasks to a specific project and context. It makes it incredibly simple to get things into OmniFocus.

Updates:

20150908: Patrick at http://schreibloga.de was kind enough to write a python install script that you can run from command line to make the installation process a bit easier. You can find it in the GitHub repo here: OFScripts

20150908: I had a quick back and forth with Tim Stringer at Learn OmniFocus about the AppleScript for this. We found a way to use Hazel to trigger this immediately when a new item comes to the inbox. If you’re a Hazel user, you can set up this rule on your OmniFocus database which is located here:

/Users/YourUsername/Library/Containers/com.omnigroup.OmniFocus2/Data/Library/Application Support/OmniFocus

This has become my preferred way to use the script.