OmniFocus 2.14 is coming to TestFlight soon, and one of the things we’ve been working on is better support for automation.
To that end, the TestFlight builds now support callback URLs with name, note, parallel, flag, defer, due, project, and context parameters. Like so:
omnifocus://x-callback-url/add?name=some%20name¬e=some%20note¶llel=true&flag=true&defer=8am&due=tomorrow%205pm&project=Important%20Project&context=Errands
The callback URL returns a link to the generated task, so the calling app can reference the task and open it later.
This is great for scripting OmniFocus with Workflow, but it’s not ideal for automatically creating large projects, since using this technique to create a project with 70 tasks ends up taking 70 round trips between OmniFocus and Workflow.
So we took this a step further, and added support for copying projects from OmniFocus as TaskPaper text and pasting them back into OmniFocus as TaskPaper text. And then another step further, creating an Editorial workflow. This Workflow accepts TaskPaper text with «placeholder» tokens and prompts for you to enter final values, then creates a project in OmniFocus 2.14 for iOS using those tokens.
For example, given this input:
- «project_name» @parallel(false) @due(«due»)
- This task needs to be done at least 1 week before «project_name» is due @due(«due» -1w)
- This task needs to be done at least 2 days before «project_name» is due @due(«due» -2d)
You’ll be prompted to enter values for «project_name» and «due». If you enter “Phonewave 1.2” and “next Thursday”, it will create a new “Phonewave 1.2” project in OmniFocus that is due next Thursday, and has two tasks already filled with due dates of this Thursday and next Tuesday.
With a single tap on this workflow, I get prompted to fill in my placeholders and end up looking at a new project in OmniFocus!
And you can too! Once you get your hands on OmniFocus 2.14, install this New OmniFocus Project workflow into Editorial and give it a try!