No description
Find a file
callumalpass 2f53847607 fix(#1421): Natural language parser now processes both scheduled and due date triggers
Previously, entering text like "Task scheduled for tomorrow due next week" in the
New Task dialog would only capture one of the dates. The parser correctly recognized
both triggers but returned early after processing the first match.

The fix removes the early return and continues processing all trigger patterns,
allowing users to set both scheduled and due dates in a single natural language input.
2026-01-04 11:30:19 +11:00
.clump/issues feat(TaskService): support {{currentNotePath}} for inline task command (#1334) 2026-01-01 16:04:30 +11:00
.github chore: prepare repository for BRAT beta releases 2025-10-29 22:54:43 +11:00
docs fix(#1421): Natural language parser now processes both scheduled and due date triggers 2026-01-04 11:30:19 +11:00
e2e test(#1425): Add skipped tests for calendar auto-refresh on time entry/pomodoro changes 2026-01-04 11:25:02 +11:00
issue-analysis analysis: AI analysis for issue #1005 2025-11-16 11:43:38 +11:00
media docs: add generated screenshots from e2e tests 2025-12-31 11:46:41 +11:00
scripts Merge branch 'i18n-improvements' 2025-11-02 20:34:34 +11:00
src fix(#1421): Natural language parser now processes both scheduled and due date triggers 2026-01-04 11:30:19 +11:00
styles test(e2e): document UI issues and fix pomodoro button affordance 2026-01-01 00:15:46 +11:00
tasknotes-e2e-vault fix: Wrap blockedBy with list() in Blocking view filter (#1304) 2026-01-01 17:49:10 +11:00
tests fix(#1421): Natural language parser now processes both scheduled and due date triggers 2026-01-04 11:30:19 +11:00
.editorconfig Refactor plugin architecture and implement best practices 2025-05-18 11:50:16 +10:00
.env.example feat: add OAuth 2.0 calendar integration for Google and Microsoft Calendar (#997) 2025-10-26 16:40:35 +11:00
.eslintignore Refactor plugin architecture and implement best practices 2025-05-18 11:50:16 +10:00
.eslintrc Convert remaining lint rules from errors to warnings 2025-11-09 19:41:56 +11:00
.gitignore feat(TaskService): support {{currentNotePath}} for inline task command (#1334) 2026-01-01 16:04:30 +11:00
.npmrc Refactor plugin architecture and implement best practices 2025-05-18 11:50:16 +10:00
.prettierignore feat: configure Prettier formatter and improve linting setup 2025-09-28 12:28:12 +10:00
.prettierrc feat: configure Prettier formatter and improve linting setup 2025-09-28 12:28:12 +10:00
apply-translations.js feat(i18n): complete missing translations and internationalize hardcoded strings 2025-11-02 20:30:20 +11:00
build-css.mjs refactor: consolidate file selector modals into FileSelectorModal 2025-11-30 11:32:47 +11:00
copy-files.mjs chore: add E2E testing infrastructure with Playwright 2025-12-31 09:34:09 +11:00
e2e-launch.sh chore: add E2E test scripts and Playwright configuration 2025-12-31 09:34:09 +11:00
e2e-setup.sh chore: add E2E test scripts and Playwright configuration 2025-12-31 09:34:09 +11:00
esbuild.config.mjs feat: implement OAuth loopback flow for Google Calendar integration 2025-10-29 22:22:59 +11:00
generate-release-notes-import.mjs fix: sort release notes by date instead of version number 2025-11-30 11:32:47 +11:00
i18n-state.config.json feat: Migrate to i18n-state-manager CLI tool 2025-11-04 13:50:02 +11:00
i18n.manifest.json release 4.2.0 2026-01-02 08:34:00 +11:00
i18n.state.json release 4.2.0 2026-01-02 08:34:00 +11:00
I18N_GUIDE.md feat: Migrate to i18n-state-manager CLI tool 2025-11-04 13:50:02 +11:00
jest.config.js fix: Configure Jest to handle markdown imports and add manifest mock for tests 2025-10-05 14:13:24 +11:00
jest.integration.config.js Add actions read permission to docs workflow 2025-06-29 12:39:17 +10:00
LICENSE update license 2025-05-30 00:49:39 +10:00
main.ts Rename ChronoSync Plugin to TaskNotes Plugin and Remove Legacy Daily Metadata Commands 2025-05-31 11:29:32 +10:00
manifest.json release 4.2.0 2026-01-02 08:34:00 +11:00
mkdocs.yml docs: Add missing nav link to Default Base Templates page (#1295) 2026-01-01 17:52:52 +11:00
NLP_MARKDOWN_EDITOR_COMPLETE.md Scope autocomplete CSS to TaskNotes modals only 2025-11-09 19:41:57 +11:00
NLP_MARKDOWN_EDITOR_STATUS.md Implement CodeMirror autocomplete for NLP triggers (@, #, +, status) 2025-11-09 19:41:57 +11:00
package-lock.json chore: Update FullCalendar to v6.1.20 2026-01-01 16:51:58 +11:00
package.json release 4.2.0 2026-01-02 08:34:00 +11:00
playwright.config.ts chore: add E2E test scripts and Playwright configuration 2025-12-31 09:34:09 +11:00
PRIVACY.md Merge v3-maintenance into main 2025-11-02 17:02:07 +11:00
PROOF_OF_CONCEPT_MARKDOWN_EDITOR.md Add embeddable markdown editor proof of concept 2025-11-09 19:41:57 +11:00
README.md docs: add screenshot gallery and update release notes 2025-12-31 09:34:09 +11:00
Tasknotes-Development-Guidelines.md feat: Implement UTC Anchor principle for robust timezone handling 2025-08-02 22:54:11 +10:00
tasknotes-gradient.svg feat: add custom TaskNotes icons 2025-08-15 23:48:35 +10:00
tasknotes-simple.svg feat: add custom TaskNotes icons 2025-08-15 23:48:35 +10:00
test-overdue-setting.md feat: Add setting to hide completed tasks from overdue status (#300) 2025-07-27 10:20:40 +10:00
test-webhook.js feat(webhooks): add comprehensive webhook testing server 2025-08-13 10:42:46 +10:00
tsconfig.json Add CMD/Ctrl+Enter keyboard shortcuts to modals 2025-11-20 23:37:38 +11:00
version-bump.mjs Refactor plugin architecture and implement best practices 2025-05-18 11:50:16 +10:00
versions.json release 4.2.0 2026-01-02 08:34:00 +11:00

TaskNotes for Obsidian

Bases-based task management plugin where each task lives as a separate note with YAML frontmatter. Features calendar integration, Kanban boards, time tracking, and Pomodoro timer.

UI Languages: English · Deutsch · Español · Français · 日本語 · Русский · 中文

NLP Support: English · Deutsch · Español · Français · Italiano · 日本語 · Nederlands · Português · Русский · Svenska · Українська · 中文

Documentation

Requirements: Obsidian 1.10.1+ with the Bases core plugin enabled for main views (Task List, Kanban, Calendar, Agenda, MiniCalendar).

Overview

Each task is a full Markdown note with structured metadata in YAML frontmatter. This means your tasks have all the benefits of regular notes - linking, tagging, graph view, and unlimited content - while still working as structured data for filtering and organization.

The plugin supports time tracking, recurring tasks, and calendar integration (ICS plus OAuth for Google and Microsoft). TaskNotes v4 moves its main views onto the Bases core plugin, so every view and filter is powered by Bases queries against your task files.

Bases Integration (v4)

  • All primary views (Task List, Kanban, Calendar, Agenda, MiniCalendar) are Bases files stored in TaskNotes/Views/
  • Enable Bases from Settings → Core Plugins; view commands and ribbon icons open the corresponding .base files
  • Customize sorting, grouping, and filters directly inside the .base YAML; Tasks act as a Bases data source using any frontmatter field or custom property

Why YAML Frontmatter?

YAML is a standard data format that works with many tools, so you can easily extract and transform your task data into other formats. This keeps your data portable and aligns with Obsidian's file-over-app philosophy.

The frontmatter is extensible—add custom fields like "assigned-to" or "attachments" and use tools like Obsidian Bases to work with that data. This flexibility makes features like time-tracking natural, since there's an obvious place to store timing information.

Each task being a full note means you can write descriptions, jot down thoughts as you work, and connect tasks to other notes through Obsidian's linking and graph features. Bases integration provides custom views on your task data.

Screenshot of TaskNotes plugin

Core Features

Task Management

  • Individual Markdown files with YAML frontmatter
  • Properties: title, status, priority, due date, scheduled date, contexts, projects, tags, time estimates, completion date
  • Custom user fields with configurable types (text, number, boolean, date, list) and default values
  • Project organization using note-based linking
  • Recurring tasks with per-date completion tracking
  • Flexible recurrence: choose between fixed schedule (scheduled-based) or flexible schedule (completion-based) recurrence
  • Time tracking with multiple sessions per task
  • Dependency management with blocked-by and blocking relationships
  • Batch operations: multi-select tasks with Shift+click for bulk status, priority, and date changes
  • Auto-archiving based on completion status

Calendar Integration

  • OAuth sync with Google Calendar and Microsoft Outlook
  • ICS/iCal feed subscriptions with 15-minute auto-refresh
  • Month, week, day, and year views with configurable event stacking
  • Mini calendar view for compact layouts
  • Direct navigation to daily notes

Time Management

  • Time tracking with start/stop functionality
  • Pomodoro timer with task integration
  • Session history and statistics

Editor Integration

  • Interactive task previews for wikilinks
  • Inline task conversion for - [ ] Checkbox tasks
  • Natural language parsing for dates, recurrence, contexts, and more
  • Template support with parent note context

Views

  • Calendar: Month, week, day, and year views with agenda sidebar
  • Task List: Inline search, filtering, and grouping options
  • Kanban: Drag-and-drop with multi-select support
  • Agenda: Daily task and note overview
  • Pomodoro: Timer with statistics (standalone, not a Bases view)
  • Formula properties for advanced Bases queries (due date calculations, time tracking stats, urgency scores)

Task creation dialog

Create tasks with natural language parsing for due dates, recurrence, and contexts

Pomodoro timer

Built-in pomodoro timer with task integration and daily completion tracking

Kanban board view

Kanban boards with drag-and-drop functionality and customizable columns

Project subtasks view

Project management with subtasks and hierarchical organization

Screenshot Gallery

Calendar Views

Month Week Day Year
Month Week Day Year

Task Views

Task List Kanban Agenda Mini Calendar
Tasks Kanban Agenda Mini Calendar

Features

Task Modal Pomodoro Timer Statistics Settings
Task Modal Pomodoro Stats Settings

Configuration

Customization

  • Field Mapping: Customize YAML property names to match existing workflows
  • Custom Statuses: Define task statuses with colors, icons, and completion behavior
  • Custom Priorities: Create priority levels with weight-based sorting
  • User Fields: Add custom properties with types, default values, and autosuggestions
  • Templates: Configure task and daily note templates with variables

YAML Structure

Task Example

title: "Complete documentation"
status: "in-progress"
due: "2024-01-20"
priority: "high"
contexts: ["work"]
projects: ["[[Website Redesign]]"]
timeEstimate: 120
timeEntries:
  - startTime: "2024-01-15T10:30:00Z"
    endTime: "2024-01-15T11:15:00Z"

Recurring Task

title: "Weekly meeting"
recurrence: "FREQ=WEEKLY;BYDAY=MO"
complete_instances: ["2024-01-08"]

HTTP API & Webhooks

TaskNotes includes an optional HTTP API server for external integrations. This enables creating tasks from browsers, automation tools, mobile apps, and custom scripts.

Browser Integration

The API enables browser integrations:

  • Bookmarklets for one-click task creation from any webpage
  • Browser extensions: for example
  • Automation with Zapier, IFTTT, and similar services

Webhooks

Configure webhooks to notify external services when tasks are created, updated, or completed. Supports custom payloads and authentication headers.

Documentation

See HTTP API Documentation and Webhooks Documentation for complete endpoint reference and integration examples.

Credits

This plugin uses FullCalendar.io for its calendar components.

License

This project is licensed under the MIT License - see the LICENSE file for details.