My Task Management System

I used Omnifocus for many years, then Things for many years. When I started working with Obsidian early in 2021 I had high hopes that I could manage my projects and tasks entirely in Obsidian. But try as I did I could not work out a good way of doing it - in spite of trying several methods and plugins. So I moved to ToDoist integration, which worked reasonably well. But I still felt dissatisfied. I was convinced that there are significant benefits to be had from full integration, such as storing tasks close to the documentation I may need to complete them.

With the advances made in functionality for the Tasks plugin, I decided to have another go. Within a short time I had figured out how to make this work for my needs. But bear in mind that my needs are not complicated, and what works for me may very well not work for others. I am sharing my method because (a) I hope it might help someone who, like I was, is stuck to know how to configure a solution, and (b) in the hope that wiser people than me will help me improve my method.

Note: my system requires two plug ins: Daily Notes and Tasks - but I also like to use Dataview to aggregate a list of ‘unplanned tasks’ (see below).

Here is an overview of my system, before I share some concrete examples:

  • Any task that requires more than one action to complete is a project. Each project is a note in my Obsidian vault, and the tasks related to that project sit in that note.
  • Recurring tasks also each have their own note. This enables me to list all my recurring tasks via Dataview, and has the further advantage that I can see the history of when I completed each recurring task.
  • A one-off task can go into any note to which it relates, but most often that is a project note or my Daily Note.
  • Every task is either ‘planned’ or ‘unplanned’. If it is unplanned, it does not use the Tasks plugin functionality at all, and is just a checkbox. I can review all my unplanned tasks using a Dataview query and see which need to be planned. Planned tasks use the power of the Tasks plugin to determine when they start (are available from), are scheduled, or are due.
  • My Daily Note uses Tasks queries to show which tasks are due, scheduled or available today - as well as those completed today.

The Tasks plugin makes it easy to enter and edit tasks. Here, for those who don’t know, is a screenshot of the modal that pops up if you invoke the Add or Edit option for a Task (I use a custom hotkey on my Mac: opt+t).

If none of the date fields are completed, then the task is available immediately, and will appear in my Daily Notes in the Available Tasks list. Due and Scheduled tasks appear in their own list. I have an ‘Added’ section where I can add new tasks during the day, and at the end of the day I can see the tasks I have completed today. Here is a screenshot of this tasks section of my Daily Note.

As you can see, automatically shown in brackets for each task is a link to the page where the task sits. This is often useful when completing the task as I may need to go to that page to refresh my memory and/or to add notes on the task itself.

Here are the Task queries for each section. Note that the three backticks at the start and end of the query need to be added, together with ‘tasks’ after the first three backticks. Note too that the actual date is inserted via my Daily Notes template.

Due today

not done
due before 2022-04-21
hide recurrence rule
hide task count

Scheduled today

not done
scheduled before 2022-04-21
hide task count

Available tasks

not done
no scheduled date
no due date
starts before 2022-04-21
hide recurrence rule
hide task count

Completed today

done on 2022-04-20
hide done date
hide recurrence rule

During the day I can easily change the date status of a task, defer it to another day, or remove it altogether. At the end of the day I delete all the sections from my Daily Note apart from ‘Added’ (if there are any tasks in it) and ‘Completed today’.

Having used this method for a few months now, I am really pleased with it. But I am sure it can be improved and look forward to any suggestions.

40 Likes

Admirable how you have set everything up in Obsidian!

I’m not sure if you are open to considering using another app for this—if you are, maybe check out AmazingMarvin. I’ve been trying to set up my project/task management system in Notion for ~18 months. My system in Notion was somewhat similar to yours but not as well structured. It eventually fell short but (I think) I found the ultimate solution which is AmazingMarvin. The “notes” function of AM is a bit lacking, and it’s not the easiest thing to use and has a fee. Just want to throw my suggestion out there in case it would be helpful to you.

what a great workflow @edward.peters thx for sharing. :smile::+1:
personally, I use obsidian as my research platform both for me and my team.
for a simple task that required states (Open, In Progress, Finish) we usually use Kanban board from the community plugin, and just like what u did we also use dataviews to query those tasks within a note.

but I think if u needed a much more complex setup of your daily notes, maybe you can youtrack from JetBrains, it’s basically a customizable issues tracker with scrum/kanban board that you can modify as you’d like. for instance, if you wanted to set up tasks based on priorities and some additional workflow and fields you can set it up pretty easy in youtrack.

2 Likes

Do you mind sharing the dataview metadata you use and search request? I’m trying to figure out the same thing…

2 Likes

Totally unrelated but Clash of Civilizations is a great read. Read it in police sci courses 20 years ago and it’s incredibly prescient.

Thank you for sharing your system. It exactly mirrors my task management software journey. I’ve also brought it all within Obsidian with plugins: Tasks, Daily Note, Dataview, Hover Editor, and Excalidraw for visualising complex projects and timelines. Your Daily Note rollups are better organized, so I’ll be tweaking mine.

The one OmniFocus function I’ve never been able to duplicate is their scheduled review system. Things and Todoist also lacked in this area. Do you have any thoughts on accomplishing something similar in Obsidian? It seems like one more field added to the Tasks plugin could be helpful for this and retrived by a Dataview query. I’m not a programmer, but this makes me wish I was as I can work out the logic in my head but don’t know how to make it happen.

You’ve convinced me to try the tasks plugin again. Sometime back I had all my tasks set up in Obsidian and I was using a system not unlike what you’ve put together. I ran aground with it because the recurrence had some kind of a bug and couldn’t always be depended on to produce the right date for the next occurrence of a task (a show-stopper for me!). I don’t know if that’s been fixed, but your practice of keeping a separate note for each recurrence item would make it very easy to spot problems if they happen. Thanks for the inspiration!

2 Likes

Rather defeats the main purpose of integration in one app.

Which metadata are you referring to? I use the Task plugin’s own query language for the daily note.

Good question. I haven’t thought carefully about this, but maybe you could adapt how I do my review - i.e. via a Dataview query which queries all tasks which are NOT Task plug in tasks (do not have the Task plugin’s task filter). I have this:

dv.taskList(dv.pages('').file.tasks
.where(t => !t.completed && !t.text.includes("#x") && !t.text.includes("Exercise")
))

You can substitute your task filter (I use #x) and you can ignore the other exclude in the query or substitute one you need.

This query groups the uncompleted tasks by Note title

1 Like

I had some unsuccessful experiments with obsidian as task manager too, and I think my last attempt has been relatively successful. Relying on Tasks and Kanban plugin to organize and access tasks. Also added to it Button plugin and QuickAdd plugin to making new note/project creation faster and with less friction. I think the idea of dividing tasks into planned and unplanned is very useful and I should implement it.

2 Likes

Can you share in more detail how you integrate the Tasks and Kanban plugins?

1 Like

That’s very nice.
I have one question.

What is query to “Added” section?

Is this section an area you add manually?

If so, what is the difference between a task added to a project note and a task added to a daily note?

Apologies for missing your question. “Added” is where I can add miscellaneous tasks if they do not fit into a project. ALL tasks anywhere in the Vault which have the required syntax will show in the queries on the Daily Note page.

I ended up with quite a bit of code and infra for project management between different apps and integrations and sync with other users, teams, and companies. That’s just what it takes to manage multiple organizations when you can’t centralize your tech.

For sanity’s sake, though, now I just use Obsidian and have a setup just like yours. It uses a similar idea of “planned” and “unplanned” crossed with concerns for parent and child relationships, like so:

No relationships

  • Task: planned
  • Todo: unplanned

Parent actions

  • Project: planned (or unplanned and all its children are planned)
  • Milestone: unplanned (and any of its children are unplanned)

Child actions

  • Subtask: planned
  • Step: unplanned

Since an action can be both parent and child, it can have two types. One person’s project is a subtask for a team project, etc.

The remaining question I have is how to deal with different types of “planned”. For me, most of my tasks are only scheduled, or only prioritized. A due date means “Something goes quite badly/we enter crunch if this deadline is not met”, but, so long as we’re reasonably productive, that criteria doesn’t come up a lot, in my experience. So, my distinctions get fuzzy when deciding what’s a meaningful deadline and what’s just a group of related tasks, only keeping things organized, with a schedule, a strict order of completion, or a priority order for completing them.

Thank you very much.
You have motivated me to experiment with the Tasks plugin
I have NOT implemented your structure - yet.
This post is NOT meant to derail a great thread.

I believe that Tasks query/filtering syntax is much easier to deal with than dataview(js)
Tasks syntax reference - others may find this reference useful.


This post is an observation and question

I’m trying to sort a variety of unplanned tasks under header,
created with the ctrl +enter check box.

I am using this in my Daily template

not done
heading includes School Tasks
short mode

This will pull tasks from any note that has a task with that header above it, in to my daily note.
Works great and simple to use - just add that header and task to whatever file I am working on and it shows in my daily note.
However, I am noticing slowing of performance of obsidian.
In particular, delay when I type in new unplanned task, either in the same file or another, file.
I have 3 of these for different headers, School Tasks, Caseload Tasks and Home Tasks.
Should I expect this?
Would my query above be better done with dataview or dataviewjs, for better performance?

Thanks

1 Like

Does this mean that tasks can be put anywhere and not a specific ‘task’ note? I currently use Todoist, which is fine for work but not so good for creative writing, and I’m moving all of my writing notes & research to Obsidian.

Yes absolutely. Put a task in any note and so long as you use the right syntax it will be found in the dataview query.

1 Like

This feels like a game-changer, I finally started using it yesterday. Is the task supposed to link to the note in the dataview query? When I click the link it seems to open up a new note for one of the tags in the note (the first tag, I think).

Are you referring to my screenshot of my list of tasks? The bit at the end of each line in brackets is the link to the note in which the task was added. Sometimes I put a link to a different note into the actual task description itself. Am I answering your question?