Automatically import tasks from your daily notes into Project Planner by tagging them with a simple hashtag pattern. Write tasks naturally in your daily notes and watch them appear in the plugin instantly.
Quick Start
Enable Daily Note Sync
Go to Settings → Daily Notes → Enable Daily Note Sync and toggle it on.
Set a Default Project
Choose the project that will receive tasks when no project-specific tag is used.
Tag Your Tasks
In any daily note, write a checklist item with the
#plannertag:- [ ] Finish quarterly report #plannerWatch Them Appear
Project Planner detects the tag and imports the task into the default project automatically.
How It Works
The daily note scanner watches files in the configured folders for changes. When a file is modified, the scanner:
- Parses the file for lines matching the pattern
- [ ] Task text #planner(or your custom tag). - Extracts metadata such as priority indicators, due dates, and additional tags.
- Routes each task to the correct project based on the tag (e.g.,
#planner/Workroutes to the "Work" project). - Checks for duplicates using a location-based identifier to prevent re-importing existing tasks.
Basic Usage
Simple Import
Tag any checklist item with your configured tag pattern to import it into the default project:
## Today's Tasks
- [ ] Reply to client email #planner
- [ ] Update project timeline #planner
- [ ] Review design mockups #planner
- [x] Morning standup #plannerProject-Specific Import
Append a project name after the tag to route a task to a specific project:
- [ ] Deploy staging environment #planner/Work
- [ ] Book dentist appointment #planner/Personal
- [ ] Write blog post outline #planner/Side ProjectNote
Project names with spaces or hyphens are matched case-insensitively. #planner/Side Project and #planner/side-project both match a project named "Side Project".
Advanced Features
Priority Indicators
Add priority markers anywhere in the task text:
- [ ] Production outage !!! #planner → Critical priority
- [ ] Critical bug fix !! #planner → High priority
- [ ] Update dependencies ! #planner → Medium priority
- [ ] Fix auth flow (critical) #planner → Critical priority
- [ ] Fix auth flow (high) #planner → High priority
- [ ] Clean up logs (low) #planner → Low priority!!!or(critical)→ Critical priority!!or(high)→ High priority!or(medium)→ Medium priority(low)→ Low priority
Due Dates
Specify a due date using any of these formats:
- [ ] Submit report 📅 2026-03-15 #planner
- [ ] Submit report due:2026-03-15 #planner
- [ ] Submit report @2026-03-15 #plannerAdditional Tags
Any other hashtags in the line (besides the planner tag) are imported as task tags:
- [ ] Fix login bug #planner #urgent #backendThis creates a task with tags urgent and backend.
Task Status
- [ ]→ imported as an incomplete task- [x]→ imported as a completed task
Configuration
Settings
- Enable Daily Note Sync — Master toggle. When off, no scanning occurs.
- Tag Pattern — The hashtag prefix used to identify tasks. Default:
#planner. You can change this to any value (e.g.,#todo,#pp). - Scan Folders — Comma-separated list of vault-relative folder paths to watch (e.g.,
Daily Notes, Journal). Leave empty to scan the entire vault. - Default Project (required) — The project that receives tasks tagged without a project suffix.
Manual Scanning
If you need to trigger a scan manually, you have three options:
- Settings panel: Click Scan Daily Notes Now in the Daily Notes settings section.
- Ribbon icon: Click the scan ribbon icon in the left sidebar (enable it in Settings → Ribbon Icons → Daily Note scan icon).
- Command palette: Open the command palette (Ctrl+P) and run Project Planner: Scan Daily Notes for Tagged Tasks.
Automatic Scanning
When enabled, the scanner uses Obsidian's file watcher to detect changes in real time. Scanning is debounced with a 1-second delay to batch rapid edits efficiently. Only the modified file is re-scanned — not the entire vault.
Task Metadata
Each imported task includes additional metadata:
- Source link: A backlink to the exact daily note and line where the task was found.
- Description: The source file name and line number are stored in the task description for reference.
- Unique ID: A stable UUID is associated with the task's file path and line number. The same task will always receive the same ID across reloads and devices, preventing re-imports.
Best Practices
Daily Notes Template
## Tasks
- [ ] #planner
## Notes
...Meeting Notes
## Action Items — Sprint Review
- [ ] Update roadmap with Q2 goals !!! #planner/Work #roadmap
- [ ] Share meeting recording #planner/Work
- [ ] Follow up with design team 📅 2026-02-20 #planner/WorkProject Journal
## Research Log — 2026-02-13
Explored new charting library. Need to:
- [ ] Benchmark Chart.js vs D3 performance #planner/Side Project #research
- [ ] Write comparison doc #planner/Side Project due:2026-02-18Avoiding Duplicates
The scanner uses location-based tracking to uniquely identify each task by its file path and line number. A persisted location map (dailyNoteTaskLocations in plugin settings) survives reloads and syncs across devices via Obsidian Sync. This means:
- Editing a task's text on the same line updates the existing imported task.
- Moving a task line to a different file or a different line number creates a new imported task (the old one remains).
- As a fallback, a content-based check scans all projects for a matching title before creating a duplicate.
Limitations
- One-way sync: Tasks are imported from daily notes into Project Planner, but changes made in the plugin are not written back to the daily note.
- No deletion sync: Removing a tagged line from a daily note does not delete the imported task.
- No subtask support: Only top-level checklist items are imported; nested items are ignored.
- No dependency support: Dependency relationships cannot be expressed in daily note syntax.
Future Enhancements
- Two-way sync back to daily notes
- Subtask import from nested checklist items
- Inline due-date and priority editing from the plugin
- Support for weekly and periodic note scanning
Troubleshooting
Tasks Not Importing
- Confirm Enable Daily Note Sync is turned on.
- Verify the tag pattern matches what you typed (default is
#planner). - Check that the file is inside one of the configured Scan Folders (or that the field is empty for vault-wide scanning).
- Ensure the line uses the Markdown checklist format:
- [ ]or- [x]. - Make sure a Default Project is selected in settings.
Wrong Project Assignment
- Verify the project name after the tag matches an existing project exactly (case-insensitive).
- If no matching project is found, the task falls back to the default project.
Tasks Not Updating
- Edits must be in the same file and on the same line to be recognized as an update.
- If you moved the task to a different line or file, a new task may be created instead.
Debugging
Open the developer console (Ctrl+Shift+I) and filter for scanner messages:
[DailyNoteScanner] Found duplicate by content, updating existing task: Reply to client email
[DailyNoteScanner] Cleaned up 1 location entries for deleted file: Daily Notes/2026-02-13.md
[DailyNoteScanner] Updated 3 location entries for renamed file: Daily Notes/2026-02-13.md → Daily Notes/2026/02/13.md