Workflow and Task Management - Obsidian Zettelkasten Stack

Workflow and Task Management in Obsidian - Zettelkasten Plugin Stack

I manage tasks using Obsidian, Templater, Dataview, Tags, Periodic Notes, Quick Add, Linter, and the Sanctum Theme.

File Creation Automation with Templater

I create all files in a single folder called the Idea Chain. I use Templater to automatically create a timestamped file on startup.

<%* 
tp.file.create_new(
	tp.file.find_tfile("End/Templates/Idea Chain"),
	tp.date.now("YYYY--[Q]Q--MM--ww--DD--HH_mm_ss", "P-1s"),
	true,
	app.vault.getAbstractFileByPath("Idea Chain")
	)

%>

This file contains two metadata properties, moment and today. They are populated with links to timestamped notes. This template is applied at the Idea Chain folder so I can create new files by clicking on the link in moment with the same metadata properties, thus creating a chain.

<%*
setTimeout(() => {

  app.fileManager.processFrontMatter(tp.config.target_file, frontmatter => {

    frontmatter['yesterday'] = "[[" + tp.date.yesterday("YYYY--[Q]Q--MM--ww--DD") + "]]"
    frontmatter['today'] = "[[" + tp.date.now("YYYY--[Q]Q--MM--ww--DD") + "]]"
    frontmatter['tomorrow'] = "[[" + tp.date.tomorrow("YYYY--[Q]Q--MM--ww--DD") + "]]"
    frontmatter['week'] = "[[" + tp.date.now("YYYY--[Q]Q--MM--ww") + "]]"
    frontmatter['icon'] = 'ibEarth'
     

  })
}, 200) 
-%>


```dataview
TASK
WHERE today = [[<% tp.date.now("YYYY--[Q]Q--MM--ww--DD")%>]]
GROUP BY file.aliases
- [ ] Review [[<% tp.date.now("YYYY--[Q]Q--MM--gg--DD")%>]]

#ideachain/periodicnotes/daily

Here is the Idea Chain and some of the timestamp hierarchy.

Pasted image 20240215140410

Periodic Notes Automation with QuickAdd

I use a Quick Add macro to automatically create periodic notes in the Idea Chain. Periodic notes have templates similar to the idea chain notes except they have the metadata properties of yesterday, today, tomorrow, this week (for the daily note). Weekly notes, Monthly Notes, Quarterly Notes, and Yearly Notes are similarly configured using Templater. The macro is configured so that duplicate notes are not created upon a second login.

Task Management with Dataview and Linter

In each periodic note template, I place a Dataview query in the body that queries the files pointing to that note. For example, daily notes contain the query

list aliases
where today = [[2024--Q1--02--7--15]]

To review notes, I navigate from the daily note. Upon review, I add an appropriate heading. Linter is configured to take that heading and save it to the metadata “Aliases”.

After Reviewing all my notes for the day, I return the the daily note and see a summary of the day.

The other periodic notes are configured similarly, so I can review my daily notes from my weekly note and so on.

Notes about the Idea Chain

task
where today = [[2024--Q1--02--7--15]]
group by aliases
  • Note that if a note doesn’t contain a task, it won’t get queried.

Tasks, Tags, Sanctum

Tasks may be queried in any moment note with Dataview. The most convenient way to query tasks is by including a tag in the body of the note.

task
from #tag
group by aliases

Alternatively, the Sanctum Theme includes a variety of icons for your tasks. You can query tasks based on icon by using the implicit status metadata at the task level

task
where status = "B"

task
where noted = [[2024--Q1--02--7--15]]

Conclusion

Obsidian can be used for task management. I really enjoyed the configuration process as well as what it has done for me. Thank you to all the amazing contributors who made it possible. Cheers!
-Brian