Process Tracker

unlisted

by skrpln

Tracker table for habits and processes: rows are tracks, columns are dates. Requires Dataview for track filtering; Templater for evidence templates.

Updated 9d agoMIT
View on GitHub

Process Tracker

A tracker for Obsidian whose checkmarks are notes. A process-tracker code block becomes a table: rows are your tracks — a habit, a practice, a long project — columns are days, and a checked box means the day is done.

Every check is a separate note in your vault, where you can write what you did, how it went, links, photos, the protocol you followed . Hover the cell and the note opens in a preview you can read and edit on the spot, without leaving the table.

Getting started

1. Make a track

Create a note for something you want to track — cleaning, running, a course — and tag it process_tracker. Only notes with this tag become rows of a tracker table, and the tag itself can be changed in the plugin settings.

The properties of the note set up its row:

---
tags: process_tracker, some, other, tags
track_name: Cleaning            # Row title. Without it the file name is used.
track_color: "#4CAF50"          # Colour of the checkmarks. Without it the theme decides.
template: "[[Cleaning entry]]"  # Template for new entry notes of this track.
---

[!tip] track_color takes any colour CSS understands — #4CAF50, green, rgb(76 175 80), or a variable of your theme like var(--color-red). Keep the quotes: without them YAML reads # as the start of a comment. A value the browser cannot read is ignored and the track goes back to the colour of the theme. The colour is used as given — pick one that reads well against the theme you use, in the light and the dark variant both.

[!tip] New entries go to the folder set in the plugin settings. A tp.file.move command inside the template can send the entries of this track somewhere else — that needs Templater with "Trigger Templater on new file creation" enabled.

2. Add a table

In any note, add a process-tracker code block. Every option is optional. An empty block shows every track in your vault over the last seven days.

Code block example:

```process-tracker
track: FROM #health
start: 2026-09-01
days: 30
dates: asc
sort: priority desc
track_color: "#4CAF50"
```
OptionValuesDefaultWhat it does
tracka Dataview filterevery trackPicks which tracks become rows.
startYYYY-MM-DDtodayFirst day of the window.
daysa number7How many days the window holds.
datesdesc, ascdescWhich end of the window comes first.
sortname, ctime, mtime or a property, with asc or descname ascDefine order of the rows.
track_colorany CSS colourthemeColours the checkmarks of the table.

[!tip]

  • the track option needs the Dataview community plugin, and takes what a Dataview query takes: FROM #health or #sport, FROM "Health", WHERE priority > 2, or a source and a condition together;
  • the filter only narrows tracks: a note without the track tag never becomes a row, whatever the filter says;
  • without Dataview the table still works and shows every track in the vault;
  • track_color colours this table only, and only the tracks whose own card names no colour: the card always wins. A value that is not a colour is ignored, and a note about it appears under the table.

3. Click a cell

  • Click on an empty cell to track your activity on that day.
  • A cell has three states:
    • empty box — there is no entry note for that day;
    • outlined box — there is an entry note and done is not set yet;
    • checked box — there is an entry note with done: true.
  • Hover a cell to preview its entry note
  • Hover a track title to preview the track note.

[!tip] The preview is drawn by the core Page preview plugin, which lists Process Tracker among its sources: the switch there decides whether you have to hold Cmd/Ctrl to get one.

Available actions

CellClickCmd / Ctrl + click
Empty boxcreates an entry note for that daycreates one and checks the box
Outlined boxopens the note in a new tabchecks the box
Checked boxopens the note in a new tabunchecks the box

Entry note example:

---
track: "[[Cleaning]]"  # Link to the track note this entry belongs to.
date: 2026-09-11
done: true
---

anything worth keeping about that day: what you did, links, checklists

Settings

Settings → Community plugins → Process Tracker

SettingWhat it doesDefault
Track tagOnly notes with this tag become tracks. # is optional, and nested tags count: process_tracker/health matches process_tracker.process_tracker
Entry folderWhere new entry notes go.vault root

Bugs and questions

Please open an issue. It helps if you say:

  • your Obsidian version and operating system;
  • the plugin version;
  • the theme you use — please name it even when the problem looks unrelated to looks;
  • where it happened: Reading mode, Live Preview, a canvas, a hover preview;
  • a small process-tracker block that shows the problem;
  • console errors, if there were any.
  • a screenshot of the table helps too.

License

MIT. See LICENSE.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.