Plain Text to OmniFocus

February 21, 2012 by Gabe | [mmd] |

This is an oldie and a goodie. Rob Trew makes some damn fine AppleScripts for getting tasks in and out of OmniFocus as well as some great DEVONthink tools.

For all my grief for AppleScript, his work is an excellent model of the power of scripting on the Mac. I also love the structure of his scripts. Unlike mine, he properly designs his scripts with methods and descriptive structure. This is how you write an AppleScript:


His Taskpaper to Omnifocus script is particularly amazing. It does not require TaskPaper either. I can sketch out a large project in plain text (my preferred medium) using the TaskPaper format:

Build Death Star:

- Call about completion of clone army @GPhone @due(2012-02-28)

- Check schematics @due(2012-02-24)

- Ask designer about the unprotected vent @flag

- Call Darth to schedule meeting @due(2012-02-27 08:00)

    - Lookup Darth's number @Outlook

    - Send flowers (Padmé anniversary) @PC @due(2012-02-24)

- Buy new Overlord todo app from the droid app store @amazon

After drafting a project, I just copy the project outline to the clipboard and run Rob's script.1 A popup window shows what will happen and the results afterward.

At the completion, a new project is sitting in OmniFocus with the tasks and structure as I outlined.

Death Star

To get at the script, view the package contents of Rob's droplet. The script is buried a few levels deep.

Note that this script expects the old TaskPaper format, not the new indented format. I've had problems with the project structure when I use the new TaskPaper format.


My biggest complaint about OmniFocus (for me) is that it's great at capturing quick actions and mind-dumps but it sucks for designing and planning a moderately complex project. OmniOutliner is great at planning large projects because I can easily grab and move tasks and milestones around. The Omni Group makes some great stuff, but absolutely none of it works well together. Why can't I copy an outline and past it into OF to create a new project?2 How about a direct link between OmniFocus and OmniPlan? These are great applications individually, but they are silos fighting against each other.

  1. Rob actually makes the script available through a droplet. The droplet can process multiple text files in one go. 

  2. Don't even get me started about the import/export options. They just don't work consistently or predictably. After designing a project with 50+ tasks and sub-tasks, it's a real pisser when it doesn't import properly.