Core Concepts
TaskNotes follows the "one note per task" principle, where each task lives as a separate Markdown note with structured metadata in YAML frontmatter.
The Note-Per-Task Approach
Individual Markdown notes replace centralized databases or proprietary formats. Each task file can be read, edited, and backed up with any text editor or automation tool.
Task Structure
A TaskNotes task is a standard Markdown file with YAML frontmatter:
---
tags:
- task
title: Review quarterly report
status: in-progress
priority: high
due: 2025-01-15
scheduled: 2025-01-14
contexts:
- "@office"
projects:
- "[[Q1 Planning]]"
---
## Notes
Key points to review:
- Revenue projections
- Budget allocations
## Meeting Notes
Discussion with finance team on 2025-01-10...
The frontmatter contains structured, queryable properties. The note body holds freeform content—research findings, meeting notes, checklists, or links to related documents.
Obsidian Integration
Since tasks are proper notes, they work with Obsidian's core features:
- Backlinks: See which notes reference a task
- Graph View: Visualize task relationships and project connections
- Tags: Use Obsidian's tag system for additional categorization
- Search: Find tasks using Obsidian's search
- Links: Reference tasks from daily notes, meeting notes, or project documents
This approach creates many small files. TaskNotes stores tasks in a configurable folder (default: TaskNotes/Tasks/) to keep them organized.
In practice, this lets TaskNotes fit into existing vault habits instead of replacing them. You keep using normal note workflows, and TaskNotes adds structure, filtering, and commands on top.
YAML Frontmatter
Task properties are stored in YAML frontmatter, a standard format with broad tool support. Treat frontmatter as the machine-readable layer and the note body as the human-readable layer. TaskNotes automations and Bases filters rely on frontmatter; your project notes and context stay in the body.
Property Types
TaskNotes uses several property types:
| Type | Example | Description |
|---|---|---|
| Text | title: Buy groceries |
Single text value |
| List | tags: [work, urgent] |
Multiple values |
| Date | due: 2025-01-15 |
ISO 8601 date format |
| DateTime | scheduled: 2025-01-15T09:00 |
Date with time |
| Link | projects: ["[[Project A]]"] |
Obsidian wikilinks |
| Number | timeEstimate: 60 |
Numeric values (minutes) |
Field Mapping
Property keys are configurable. If your vault uses deadline instead of due, you can map TaskNotes to use your existing field names without modifying your files.
Custom Fields
Add any frontmatter property to your tasks. User-defined fields work in filtering, sorting, and templates. Define custom fields in Settings -> TaskNotes -> Task Properties to include them in task modals and views.
Bases Integration
TaskNotes v4 uses Obsidian's Bases core plugin for its main views. Bases provides:
- Filtering: Query tasks using AND/OR conditions
- Sorting: Order tasks by any property
- Grouping: Organize tasks by status, priority, project, or custom fields
- Views: Task List, Kanban, Calendar, and Agenda are all Bases views
Views are stored as .base files in TaskNotes/Views/. These files contain YAML configuration that defines the view's query and display settings. You can duplicate, modify, or create new views by editing these files.
This makes view behavior inspectable and predictable. If a task appears in the wrong place, you can open the .base file and see exactly which filter or grouping rule produced that result.
Enabling Bases
Bases is a core plugin included with Obsidian 1.10.1+:
- Open
Settings -> Core Plugins - Enable "Bases"
- TaskNotes views will now function