coaching newsletter contact

OmniFocus Auto-Parser

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.

Thu, Sep 03, 2015 07:00pm CDT https://bhlg.us/4d15
#omnifocus
3 likes
Matthew Cassinelli Cassie Koelsch Tim Stringer
Rosemary Orchard Rosemary Orchard https://twitter.com/RosemaryOrchard
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!
Tue, Jan 26, 2021 02:55am +00:00

Other mentions

Joe Buhlig

The GTD Weekly Review is likely one of the most talked about and most resisted aspects of following the GTD methodology. And it makes sense. It takes time to do it right and it requires thinking at a level that is less than enjoyable.

And that means we need to remove as much resistance to the process as possible. Otherwise, if you have an instant gratification mind like mine, you will find every excuse possible to doing the Weekly Review and doing it well.

Usually, when we discuss the Steven Pressfield concept of resistance we mention small obstacles that prevent us from doing large tasks. We talk about the need to set out clothes to prepare for a run in the morning. Or we find little tricks to keep us engaged in a daily habit of writing.

If you take the idea of eliminating small obstacles to the commitment of a Weekly Review, we can find ways to streamline the review and use it as a tool for setting up our commitments for the week ahead. At least, that’s the idea. We all fall off the horse when learning, myself included. The goal is to fall off less as time goes on.

The Mind Sweep

The core of the Weekly Review is to bring the whole GTD system up-to-date. And that means you need to start by capturing all the loose ends. In most cases, that translates to the mind sweep. But saying you need to do a mind sweep only works if you know how to do that.

I do not have the wherewithal to sit down and write out everything on my mind. I will always forget things and they will haunt me later. And because I know I will forget things, I have zero motivation to start the task of a mind sweep in the first place. What’s the point if it won’t be complete anyway?

So I need a little help here and the one thing I found to help is reading the Incompletion Trigger List. By going through this list, I have found my mind sweeps more complete and more effective. I can’t say they are 100%, but they feel close enough that the mind sweep does happen.

Sidenote: If you want a markdown version of this list to copy into the tool of your choice, I have it translated here. And if you have kids, it is also helpful to look through this list for moms and dads.

Emptying Inboxes

It is paramount that during a Weekly Review, you have empty inboxes. This is especially true when you have completed the mind sweep as you have very likely generated more than a few items that need clarification and placed throughout your system. But it’s not always fun to do the thinking required to accomplish this task.

The holy grail of emptying inboxes would be to capture the idea and have the decision-making about the item done for you. In most cases, this is far from possible and likely never will be. We are a long way from having “Resolve family dispute” turned into a project and the next action assigned to it without taking the time to think through the situation.

But there are scenarios when this is possible. And two tools help me out here. One is Hazel. The other is the OmniFocus Auto-Parser.

I love Hazel. (And not because my youngest daughter’s name is Hazel.) Hazel can move files around your Mac and run scripts based on conditions your filesystem meets. For example, if you set up an “inbox” directory on your Mac, Hazel can watch that folder. If Hazel is looking for “.dmg” files in your inbox and one shows up, it can move it to a folder called “disk images.”

This is the tip of the iceberg with Hazel. And the best place I’ve found to learn more about it and how to use it is through MacSparky’s Field Guide. David has two and a half hours of video here showing how to get the most out of Hazel. It’s well worth the $29.

Note: This article contains affiliate links. That means that if you click one of these links and subsequently make a purchase, I will earn a commission. You pay nothing extra; any commission I earn comes at no additional cost to you. Please understand that I only recommend tools that I find genuinely helpful and useful. I ask that if don’t feel the same way about them, please do not spend any money on these products.

The Auto-Parser is a tool I wrote that will process items in your OmniFocus inbox given a specific syntax. I have found this great for automating bug reports or replicating tasks from other systems in OmniFocus. You only need to set up the Auto-Parser, configure IFTTT or Zapier to email into OmniFocus with the syntax, and the automation will give those tasks the appropriate metadata.

Task And Project Titles

This is often overlooked. When you do a Weekly Review you need to write out the task or project titles that you committed to completing. That means looking at every task that remains in your inboxes and every project in the system and ensuring proper placement and next actions assigned to each one.

And every GTD system I have seen has some set rules for naming things. Task titles need a clear enough definition that you know what to do without thinking. Project names should convey their “done” state somehow.

And the easiest way to type these out is with text expansion via TextExpander. As an example here are some of the snippets I use every week to speed up this process:

of.wf = “Waiting for “

of.em = “Email (Name Fill-in) re: “

of.li = “Look into “

of.pfm = “Plan for meeting re: “

of.resp = “Waiting for response re: “

These may seem minor, but most of the time these little snippets speed up the processing time required when reviewing my projects and calendars.

Keeping Tools Up To Date

I find it easy to forget that the purpose of the Weekly Review is to ensure my system is up-to-date and that by “system” it can mean more than my GTD system. The Weekly Review is also a great time to refresh your Mac and to update any tools connected to each other.

The easy ones are to run a CleanMyMac scan and check for duplicate files in Gemini. Doing both of these weekly helps keep my Mac healthy and my mind at ease.

At the same time, I have found that keeping TextExpander up-to-date has compounding benefits as well. Most people have noticed that a handful of iOS apps allow you to import TextExpander snippets into their databases. And that means you don’t need to use the third-party keyboard for these snippets to work.

The three that I use with this feature are Drafts, OmniFocus, and Fantastical. It was a common occurrence for me to type a snippet in one of these apps and have it fail or do nothing. That would remind me that I needed to update the snippets in the iOS app before those snippets would work. It wasn’t a huge problem but it was a frustration nonetheless.

During my Weekly Review, I now make it a point to go into these three apps and update the snippet libraries.

At the same time, TextExpander suggests new snippets and stores those in a folder called Suggested Snippets. Each week, I go through this list and treat it as a dedicated inbox for creating new TextExpander snippets.

Blocking Distractions

This should have been at the top. Distractions are a huge threat when doing a Weekly Review. Think about how many different locations you need to go digitally and how many ideas you are intentionally drumming up. Now think about how easy it is to pop open a web browser and type that search term. I speculate that this is what leads many folks to expand the amount of time required to complete the Weekly Review.

In most cases, my Weekly Review takes about an hour, sometimes 45 minutes. This is despite the fact that most report two hours as the required timeframe. For me, I know that I love to jump into the new and shiny as soon as it comes to mind. That’s where Freedom comes in.

I use Freedom to block the internet. When I first debated doing this, I had excuses galore. So much of my processing and data entry relies on information stored on the internet. But when you stop and think about it, the need for a connection doesn’t apply.

My phone is staying up-to-date in the background. So updating snippets and such is fine. All the required data is on the device itself. The same goes for my Mac. Everything I need is on the Mac and does not need the connection for syncing until the whole process is done.

So blocking the internet is perfectly fine. Though, that doesn’t mean I don’t feel nervous every time I click “Start Session.” I still hesitate before clicking. But I also know that as soon as I commit to starting a Freedom session, I am also committing to the Weekly Review.

What did I miss? What tools do you use to keep your Weekly Review on the rails?

Joe Buhlig

an analog mind in a digital world

Joe Buhlig
It’s out! A universal script for parsing inbox tasks in @OmniFocus! joebuhlig.com/autoparsing-ta… twitter.com/joebuhlig/stat…

Want to see my August 2020 Bullet Journal setup?

Join 1,514 subscribers!

I'll send you the link to a six-minute overview video of my August 2020 spreads when you sign up for my newsletter, The Weekly Impulse.

Site Analytics

I use Fathom Analytics on this site because I care about your privacy. And if you ever want to see the stats collected and the data I see, check out the live analytics here.

Amazon Affiliate

joebuhlig.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means to earn fees when linking to Amazon.com and affiliated sites.

Disclaimer

Disclosure of Material Connection: Some of the links in the post above might be “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”

an analog mind in a digital world

👋 I'm Joe Buhlig. I strive to build productivity systems that stand the test of time and help me do more than check boxes. I'm here to help you do the same.

🎙 I read a lot of books and talk about it.

🐿 I can't focus on one thing for long, so I write a lot of code for an eclectic grouping of projects.

📓 And I'm a bit obsessed with finding non-proprietary solutions to digital problems. Thus, text files for the win! 🎉

MN U.S.A 1986-09-30
  • all
  • articles
  • code
  • likes
  • notes
  • photos
  • replies
  • reposts
  • steps
  • videos
coaching newsletter contact
© 2014-2023 by Joe Buhlig