Traditional task management often requires you to duplicate tasks across multiple places - once in your project notes and again in your daily schedule. This creates synchronization problems and breaks the connection between tasks and their context. Here’s how to solve this with Obsidian’s Dataview plugin.
When you manually copy tasks from projects to daily schedules, you create several problems:
Instead of copying tasks, use due dates and Dataview queries to automatically populate your daily schedule from tasks across your entire vault.
In any project file, add due dates using the format [due:: YYYY-MM-DD]
:
## Project Tasks
- [ ] Write blog post [due:: 2025-09-08]
- [ ] Review documentation [due:: 2025-09-09]
- [ ] Submit application [due:: 2025-09-08]
Your daily note template automatically shows all tasks due today:
## Today's Schedule
*Automatically populated from tasks across your vault*
```dataview
TASK
WHERE due = date(2025-09-08)
SORT due
### Step 3: Project Task Overview
See all scheduled tasks within each project:
```markdown
### Upcoming Tasks
```dataview
TASK
FROM this.file
WHERE due
SORT due
## Key Benefits
### Single Source of Truth
- Tasks remain in their project files where they belong
- Daily schedule pulls from actual project tasks
- Check off tasks in either location - they stay synchronized
- No manual duplication or sync issues
### Dynamic Scheduling
- Change a due date → task automatically appears in new daily note
- Complete a task → automatically removed from future schedules
- Add new tasks with due dates → instantly scheduled
### Context Preservation
- Tasks stay connected to their parent projects
- Click task in daily note → jump to full project context
- Project progress visible through scheduled tasks
## Advanced Dataview Queries
### Tasks Due This Week
```dataview
TASK
WHERE due >= date(today) AND due <= date(today) + dur(7 days)
SORT due
TASK
WHERE due < date(today) AND !completed
SORT due
TASK
WHERE due = date(today) AND contains(tags, "high-priority")
SORT priority DESC, due
Add the dataview query to automatically show today’s scheduled tasks
Go through your project files and add [due:: YYYY-MM-DD]
to tasks you want to schedule
Add scheduled task sections to your project templates
[due:: 2025-09-08]
[due:: 2025-09-08T14:00]
#high-priority
You can have both automatic and manual sections in your daily note:
## Today's Schedule
### Scheduled Tasks (Due Today)
```dataview
TASK WHERE due = date(2025-09-08)
[due:: YYYY-MM-DD]
FROM
clauses to limit search scope for large vaultsAdd additional metadata to make tasks more informative:
- [ ] Code review [due:: 2025-09-08] [priority:: high] [estimate:: 2h]
Filter tasks by project or area:
TASK
FROM "Projects/Work"
WHERE due = date(today) AND contains(tags, "urgent")
SORT priority DESC
This system transforms your Obsidian vault into a dynamic task management system where:
No more copying tasks between files or losing track of project context. Your daily schedule becomes a living reflection of your actual project work.
This approach has eliminated the overhead of manual task scheduling while keeping everything connected and contextual. Give it a try and see how it transforms your daily planning workflow.