Dynamic Daily Scheduling with Dataview in Obsidian

Automate your daily schedule with dynamic task queries

Posted by Jamie Houston on September 08, 2025 · 6 mins read

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.

The Problem with Manual Scheduling

When you manually copy tasks from projects to daily schedules, you create several problems:

  • Duplication: The same task exists in multiple places
  • Sync Issues: Completing a task in one location doesn’t update the other
  • Lost Context: Daily tasks become disconnected from their parent projects
  • Overhead: Time spent managing the system instead of doing the work

The Dataview Solution

Obsidian Dataview Plugin

Instead of copying tasks, use due dates and Dataview queries to automatically populate your daily schedule from tasks across your entire vault.

How It Works

Step 1: Add Due Dates to Tasks

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]

Step 2: Automatic Daily Schedule

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

Overdue Tasks

TASK
WHERE due < date(today) AND !completed
SORT due

High Priority Tasks Due Today

TASK  
WHERE due = date(today) AND contains(tags, "high-priority")
SORT priority DESC, due

Implementation Steps

1. Install and Enable Dataview

  • Install the Dataview plugin from Obsidian’s Community Plugins
  • Enable it in your plugin settings

2. Update Your Daily Note Template

Add the dataview query to automatically show today’s scheduled tasks

3. Add Due Dates to Existing Tasks

Go through your project files and add [due:: YYYY-MM-DD] to tasks you want to schedule

4. Create Project Overviews

Add scheduled task sections to your project templates

Best Practices

Due Date Formatting

  • Specific date: [due:: 2025-09-08]
  • With time: [due:: 2025-09-08T14:00]
  • Consistent format: Always use YYYY-MM-DD format

Task Organization

  • Keep tasks in logical project files
  • Use consistent due date formatting across your vault
  • Add priority tags for better sorting: #high-priority

Daily Planning Workflow

  1. Morning: Review automatically populated schedule
  2. During work: Complete scheduled tasks, check them off
  3. End of day: Reschedule incomplete tasks by changing due dates

Combining with Manual Scheduling

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)

Manual Time Blocks

  • 2:00 PM - 3:00 PM: Team meeting
  • 3:00 PM - 4:00 PM: Deep work block ```

Troubleshooting

Tasks Not Appearing?

  • Check due date format: must be [due:: YYYY-MM-DD]
  • Ensure Dataview plugin is enabled
  • Verify query syntax in your daily note template

Performance Issues?

  • Use FROM clauses to limit search scope for large vaults
  • Consider creating indexes for frequently used queries

Advanced Features

Custom Task Properties

Add additional metadata to make tasks more informative:

- [ ] Code review [due:: 2025-09-08] [priority:: high] [estimate:: 2h]

Project-Specific Queries

Filter tasks by project or area:

TASK
FROM "Projects/Work"
WHERE due = date(today) AND contains(tags, "urgent")
SORT priority DESC

The Result

This system transforms your Obsidian vault into a dynamic task management system where:

  • Your daily schedule automatically reflects your project commitments
  • Tasks maintain their connection to project context
  • No manual scheduling overhead
  • Complete flexibility to adapt to your workflow

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.