Omnifocus, Workflow, and templates
With all of the discussion around the Omnigroup’s release of automation for Omnifocus for iOS, I have found several types of automation can be run through Workflow.
- Project
- Project with Defer or Due Dates
- Project with variable replacement
- Optional multi-section project
- Omnifocus task manipulation
Basic Project
The most basic, just a list of tasks in a project. Almost no automation. Using the Taskpaper syntax in a Text Action, and passing the input to a Omnifocus URL.
Project with Defer or Due Dates
Omnifocus has some great built in automation surrounding dates, specifically the use of relative dates for tasks and projects:
2d, –3w, 1h, 1y1m, and so on — Relative dates and times put the date at a certain amount of time from right now. Negative numbers represent times in the past.
This feature can be used in the template format. Huzzah!
This Workflow only sets the due date for the project and uses the relative date formatting to set start and due dates for the tasks.
Sample Project Template
Basic project @context(A Context) @defer($dueDate -3d) @due($dueDate) @autodone(true)
- Task 1 @context(Another Context) @defer($dueDate -3d) @due($dueDate -2d)
A note for Task 1
- Task 2 @context(A Context) @defer($dueDate -1d) @due($dueDate)
Project with Defer or Due Dates
Project with variable replacement
The same Replace Text Action used in the Projects with Defer and Due Dates can be used in multiple scenarios, not just dates.
Sample Project Template
$account project @context(A Context) @defer($dueDate -3d) @due($dueDate) @autodone(true)
- Talk to $person1 @context(Another Context) @defer($dueDate -3d) @due($dueDate -2d)
A note for Task 1
- Prepare $account report for $person2 @context(A Context) @defer($dueDate -1d) @due($dueDate)
Project with variable replacement
Optional multi-section project
This is where the whole automation process gets interesting. Sections of the project can be omitted if not needed. Adding to this the variable replacement, now there is some significant automation to be had here
Optional multi-section project
Omnifocus task manipulation
I have long used Applescript on the desktop to manipulate tasks, creating a “waiting for” task, by prepending information to the task “Waiting for:” and changing the context to “waiting”. Creating a similar task in Omnifocus on iOS isn’t nearly as simple. Basing this workflow off of one provided by Ken Case, I have changed this to create a “waiting on” task in the format that I prefer.
Waiting On Omnifocus Task manipulation
I am very excited about the automation features that are now in Omnifocus. Using Omnifocus on an iOS device, without a desktop is becoming a reality.