Assigning Relationships Between Tasks and People in OmniFocus

For years I’ve used on-hold “waiting” contexts named after coworkers and family members to denote tasks that I’ve assigned to other people and am waiting on them to finish. But a few weeks ago I had a realization that there are two other types of relationships between tasks and people that I haven’t been tracking. And with a few quick modifications to how I title my tasks, it’s possible to track them in OmniFocus.

Let me explain.

There are three types of relationships between tasks and people:

  1. A task can be assigned to another person by you.
  2. A task can be assigned to both you and another person.
  3. A task can be assigned to you by another person.

Number one, tasks assigned to another person, can be handled as mentioned above by giving the task a context corresponding to the name of the person it’s assigned to. So, if I’m waiting on Jeff to complete a design document, I’d give that task an on-hold context of “Jeff”. This lets me quickly filter tasks that Jeff owes me whenever I run into him. Great. I’ve been doing this for years.

But it would also be super useful to track tasks that are shared between you and someone else. How can you do this with OmniFocus?

The best solution I’ve found is to add the other person’s initials to the task title surrounded by parentheses. For example, a task that I’m working on with Mike Davis would be titled “Review design specs (MD)”. Then, much like focusing on a context assigned to a person, it’s easy to view all of the tasks you’re doing with someone else. Just perform a search for their initials inside the parentheses like “(MD)”. You can even perform a search and save it as a custom perspective for people you frequently need to review. And don’t forget the parentheses – they’re important. It prevents your search from finding task titles with words that contain the initials you typed.

Taking the initials trick a step further, I add initials inside square brackets for tasks that I owe someone else. For example, instead of creating a task titled “Complete TPS report for Jack Posey”, I title it “Complete TPS report [JP]”. Again, this lets me perform a search for anything I owe Jack.

You could go even further and use additional sentinel characters to define other relationships between tasks and people. For example, you could use curly braces { } or angle brackets < >. I don’t use those myself, but it’s nice knowing they’re available if there’s another relationship type you frequently need to assign.

OmniFocus Productivity

5 replies on “Assigning Relationships Between Tasks and People in OmniFocus”

Sounds like an interesting method of tagging – though with more habitually defined characteristics.

On Hold context = owed a response from someone
“(***)” = owe a response with someone
“[***]” = owe a response to someone


If I may suggest another way of doing this:

pick one style of brackets to use (square brackets tend to be less common in regular text) and use following formats:
– [4JD] – for John Doe – something you owe to John Doe
– [wJD] – with John Doe – task you are working on with John Doe

there can even be a variant of

– [fJD] – from John Doe – task you received from John Doe, but you don’t need to report anything back (gives you a reference if further clarification is needed)

Using this format allows searching for all relationships with John Doe, by searching for “JD]”. To find all you owe John Doe search for “[4JD]”.

Thanks for sharing Tyler. This is definitely the best way I’ve found to somewhat assign or be assigned tasks.

I really wish omnifocus would add the feature to keep track of tasks assigned similar to daylite or wunderlist though…