Property Types Reference¶
This reference documents the expected data types for each frontmatter property that TaskNotes uses.
Quick Reference¶
| Property | Type | Example |
|---|---|---|
| title | text | "My Task" |
| status | text | "open", "in-progress", "done" |
| priority | text | "low", "normal", "high" |
| due | text (date) | "2025-01-15" |
| scheduled | text (date) | "2025-01-10" |
| completedDate | text (date) | "2025-01-20" |
| dateCreated | text (datetime) | "2025-01-01T08:00:00Z" |
| dateModified | text (datetime) | "2025-01-15T10:30:00Z" |
| tags | list | ["work", "urgent"] |
| contexts | list | ["@office", "@home"] |
| projects | list | ["[[Project A]]"] |
| timeEstimate | number | 120 (minutes) |
| recurrence | text | "FREQ=WEEKLY;BYDAY=MO" |
| recurrence_anchor | text | "scheduled" or "completion" |
| timeEntries | list (objects) | See Time Entries |
| blockedBy | list (objects) | See Dependencies |
| reminders | list (objects) | See Reminders |
| complete_instances | list | ["2025-01-08", "2025-01-15"] |
| skipped_instances | list | ["2025-01-22"] |
| icsEventId | list | ["event-abc123"] |
Property Details¶
Text Properties¶
title¶
- Type: text (string)
- Description: The task's title or name
- Example:
title: "Complete project documentation"
status¶
- Type: text (string)
- Description: The task's current status. Must match one of the status values configured in your settings.
- Default values:
"open","in-progress","done" - Example:
status: "in-progress" - Note: Also supports boolean values (
true/false) for Obsidian checkbox compatibility. See Boolean Status Values.
priority¶
- Type: text (string)
- Description: The task's priority level. Must match one of the priority values configured in your settings.
- Default values:
"low","normal","high" - Example:
priority: "high"
Date Properties¶
All date properties are stored as text strings in your frontmatter. TaskNotes expects specific formats:
due¶
- Type: text (date string)
- Format:
YYYY-MM-DDor ISO 8601 timestamp - Description: The task's due date
- Examples:
yaml
due: "2025-01-15"
due: "2025-01-15T17:00:00"
scheduled¶
- Type: text (date string)
- Format:
YYYY-MM-DDor ISO 8601 timestamp - Description: When the task is scheduled to be worked on
- Examples:
yaml
scheduled: "2025-01-10"
scheduled: "2025-01-10T09:00:00"
completedDate¶
- Type: text (date string)
- Format:
YYYY-MM-DD - Description: The date when the task was completed
- Example:
completedDate: "2025-01-20"
dateCreated¶
- Type: text (datetime string)
- Format: ISO 8601 timestamp
- Description: When the task was created
- Example:
dateCreated: "2025-01-01T08:00:00Z"
dateModified¶
- Type: text (datetime string)
- Format: ISO 8601 timestamp
- Description: When the task was last modified
- Example:
dateModified: "2025-01-15T10:30:00Z"
List Properties¶
List properties must be arrays, even when containing a single value.
tags¶
- Type: list (array of strings)
- Description: Tags associated with the task
- Examples:
yaml
tags: ["work", "documentation"]
tags:
- work
- documentation
contexts¶
- Type: list (array of strings)
- Description: Context labels for the task
- Examples:
yaml
contexts: ["office", "computer"]
contexts:
- "office"
- "computer"
projects¶
- Type: list (array of strings)
- Description: Project references (typically wiki-links)
- Examples:
yaml
projects: ["[[Website Redesign]]", "[[Q1 Planning]]"]
projects:
- "[[Website Redesign]]"
- "[[Q1 Planning]]"
Numeric Properties¶
timeEstimate¶
- Type: number
- Unit: minutes
- Description: Estimated time to complete the task
- Example:
timeEstimate: 120(2 hours)
Recurrence Properties¶
recurrence¶
- Type: text (string)
- Format: RFC 5545 RRULE format
- Description: Defines how the task repeats
- Examples:
yaml
recurrence: "FREQ=DAILY"
recurrence: "FREQ=WEEKLY;BYDAY=MO,WE,FR"
recurrence: "FREQ=MONTHLY;BYMONTHDAY=1"
recurrence_anchor¶
- Type: text (string)
- Valid values:
"scheduled"or"completion" - Description: Determines whether the next occurrence is calculated from the scheduled date or when the task was completed
- Example:
recurrence_anchor: "scheduled"
complete_instances¶
- Type: list (array of date strings)
- Format:
YYYY-MM-DD - Description: Dates when recurring task instances were completed
- Example:
yaml
complete_instances:
- "2025-01-08"
- "2025-01-15"
skipped_instances¶
- Type: list (array of date strings)
- Format:
YYYY-MM-DD - Description: Dates when recurring task instances were skipped
- Example:
yaml
skipped_instances:
- "2025-01-22"
Complex Properties¶
These properties contain structured data with multiple fields.
Time Entries¶
- Type: list (array of objects)
- Description: Time tracking entries for the task
- Structure:
yaml
timeEntries:
- startTime: "2025-01-15T10:30:00Z" # Required: ISO 8601 timestamp
endTime: "2025-01-15T11:15:00Z" # Optional: ISO 8601 timestamp
description: "Initial work" # Optional: text
Dependencies (blockedBy)¶
- Type: list (array of objects)
- Description: Tasks that must be completed before this task can start
- Structure:
yaml
blockedBy:
- uid: "path/to/blocking-task.md" # Required: path to blocking task
reltype: "FINISHTOSTART" # Required: relationship type
gap: "P1D" # Optional: ISO 8601 duration offset
- Relationship types:
FINISHTOSTART,STARTTOSTART,FINISHTOFINISH,STARTTOFINISH- Note: As of version 4.1.0, only the FINISHTOSTART duration offset is supported
Reminders¶
- Type: list (array of objects)
- Description: Reminder notifications for the task
- Structure for relative reminders:
yaml
reminders:
- id: "rem_1" # Required: unique identifier
type: "relative" # Required: "relative" or "absolute"
relatedTo: "due" # Required for relative: "due" or "scheduled"
offset: "-PT1H" # Required for relative: ISO 8601 duration
description: "1 hour before due" # Optional: description
- Structure for absolute reminders:
yaml
reminders:
- id: "rem_2"
type: "absolute"
absoluteTime: "2025-01-15T09:00:00Z" # Required for absolute: ISO 8601 timestamp
description: "Morning reminder"
icsEventId¶
- Type: list (array of strings)
- Description: ICS calendar event IDs linked to this task
- Example:
yaml
icsEventId:
- "event-abc123"
- "event-def456"
Complete Example¶
Here's a complete task with all property types:
---
title: "Complete quarterly report"
status: "in-progress"
priority: "high"
due: "2025-01-31"
scheduled: "2025-01-25"
tags:
- work
- reports
contexts:
- "@office"
projects:
- "[[Q1 Planning]]"
timeEstimate: 240
dateCreated: "2025-01-01T08:00:00Z"
dateModified: "2025-01-20T14:30:00Z"
timeEntries:
- startTime: "2025-01-20T10:00:00Z"
endTime: "2025-01-20T11:30:00Z"
blockedBy:
- uid: "tasks/gather-data.md"
reltype: "FINISHTOSTART"
reminders:
- id: "rem_1"
type: "relative"
relatedTo: "due"
offset: "-P1D"
description: "Due tomorrow"
---
Field Mapping¶
All property names can be customized via Settings → Task Properties → Field Mapping. If you change a field mapping, TaskNotes will read and write using your custom property name.
For example, if you map due to dueDate, TaskNotes will expect:
dueDate: "2025-01-15"
See Field Mapping for configuration details.
Custom User Fields¶
You can define additional properties with these types:
- text - Single text value
- number - Numeric value
- date - Date string (YYYY-MM-DD)
- boolean - true/false
- list - Array of values
See Custom User Fields for configuration details.