OmniFocus Auto-Parser

- 2 min -
Joe Buhlig

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.

Sidenote: I have a video course available that goes through my live system where I explain all the details. You can learn more here.

And for a short time, this is 50% off! You can take advantage of the discount here:

Working With OmniFocus

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.


20150908: Patrick at 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.

I created an version of this with the new scripting! And then went further with parsing URLs in notes to add tags. Thanks for the inspiration, and I look forward to seeing what you come up with!
Joe Buhlig posted 'It’s out! A universal script for parsing inbox tasks in @OmniFocus! joebuhlig.c...' linking to