digital garden of reflections, hopes and fears


obsidian tq


tq is a plugin for Obsidian for managing tasks using a file-based workflow. Each task is represented as a Markdown note with a single task line and some metadata in the frontmatter. Tasks are viewed by embedding queries in other notes, such as your Daily Note.

tq demo

An example task note:

due: '2021-06-30'
tags: 'work'
repeat: every Friday
  - '2021-06-18'
  - '2021-06-11'

- [ ] File TPS reports

This plugin is still under active development and is not yet feature complete. It does however have the basic functionality, and I'll be adding more as needed by my tasks workflow.

Custom Blocks

Tasks can be queried by using custom code blocks in notes. Here's an example which would include any tasks for the specified date or which are overdue (in relation to that date). It will also omit any tasks which have been completed.

select-day: 2021-06-06
completed:  false
overdue:    true

Or for a more complicated example:

select-week: 2021-06-13
select-tags: [ home, shopping ]
completed: false
group: due
no-due: true

Custom Block Properties

Property Value Description Default
select-day Date Include only tasks due this day All tasks
select-week Date Include only tasks due this week All tasks
select-tags String List Include only tasks with this tag (can be used with day/week) All tasks
omit-tags String List Exclude tasks with this tag (can be used with day/week) Omit none
overdue true/false Include if task is overdue in relation to selected day/week false
completed true/false Include only tasks which are checked or not checked. If completed is not provided, then both completed and incomplete tasks are shown. If set to true, then only completed tasks are shown, and if false then only incomplete tasks are shown. All tasks
due true/false Include tasks which have a due date true
no-due true/false Include tasks which do not have a due date true
sort "score", "due", "" Specify the sort order of the tasks ""
group "due", "completed", "" Specify how tasks should be grouped in the list ""

Note that select-tags and omit-tags support nested tags. In other words, select-tags: work will match notes tagged with work as well as work/meetings

You may use Obsidian links to interact with tq from within or outside of the app.

Creating Tasks


Properties must be URL escaped.

Property Value Description
action "create" Indicate a task is being created
due Date An optional due date for the task
task String The URL escaped contents of the task
repeat String The URL escaped repeat configuration
tags String Comma separated list of tags