Todoist × Obsidian Integration
This guide walks through setting up the Todoist Sync plugin and embedding live tasks in your codex notes.
Setup (One-Time)
1. Install the Plugin
- Open Obsidian → Settings → Community Plugins
- If “Restricted Mode” is on → click “Turn off restricted mode” → confirm
- Click Browse → search “Todoist Sync” (by jamiebrynes7)
- Click Install → then Enable
2. Get Your Todoist API Token
- Open todoist.com → sign in
- Go to Settings → Integrations → Developer
- Copy your API token
3. Connect the Plugin
- Back in Obsidian → Settings → Todoist Sync
- Paste your API token
- Click Submit — you should see a success message
Query Block Syntax
Embed live Todoist tasks anywhere in a note using a todoist code block:
```todoist
filter: "#ProjectName"
```The block renders as a live, interactive task list in Reading/Preview mode.
Available Options
| Option | Description | Example |
|---|---|---|
filter | Todoist filter query (required) | "#Work", "today", "@urgent" |
name | Title displayed above the task list | "My Tasks" |
groupBy | Group results by category | project, section, date |
autorefresh | Auto-refresh interval in seconds | 180 (every 3 minutes) |
sorting | Sort order (list) | date, priority |
Example Queries
All Tasks Due Today
filter: "today"
name: "Due Today"
sorting:
- priority
- dateOverdue Tasks
filter: "overdue"
name: "⚠️ Overdue"
sorting:
- dateTasks From a Specific Project
Replace OneMind with your actual Todoist project name:
filter: "#OneMind"
name: "OneMind Project Tasks"
groupBy: section
sorting:
- date
- priorityAll Tasks Due This Week
filter: "7 days"
name: "This Week"
groupBy: date
sorting:
- date
- priorityHigh Priority Tasks Only
filter: "p1"
name: "🔴 Priority 1"
sorting:
- dateCombined Filter — Project + Due Soon
filter: "#OneMind & 7 days"
name: "OneMind — Due This Week"
sorting:
- date
- priorityTasks Tagged with a Label
filter: "@codex"
name: "Codex-Tagged Tasks"
sorting:
- dateUsing in Your Codex Notes
Embed in a Goal Note
Add this to any goal note to see tasks related to that goal:
## Related Tasks
```todoist
filter: "#GoalProjectName"
groupBy: section
autorefresh: 300
```Embed in Mission Control Dashboard
Add this block to your Mission Control note alongside Dataview queries:
## 📋 Todoist — Due Today
```todoist
filter: "today | overdue"
name: "Action Required"
sorting:
- priority
- date
```Embed in Weekly Review
Add to your × Multiply review template:
## Tasks Completed This Week
```todoist
filter: "completed before: today & completed after: -7 days"
name: "Done This Week ✅"
```Filter Syntax Quick Reference
| Filter | What It Shows |
|---|---|
"today" | Tasks due today |
"overdue" | Past-due tasks |
"7 days" | Tasks due in next 7 days |
"no date" | Tasks with no due date |
"#ProjectName" | All tasks in a project |
"#ProjectName & today" | Project tasks due today |
"@label" | Tasks with a specific label |
"p1" | Priority 1 (urgent) tasks |
| `“p1 | p2”` |
"assigned to: me" | Tasks assigned to you |
| `“today | overdue”` |
Full filter syntax: Todoist Filter Docs
Interaction
When viewing a rendered todoist block:
- Click a task checkbox → marks it complete in Todoist (two-way sync)
- Click a task name → opens task details
- Tasks auto-refresh based on
autorefreshsetting (or manually refresh with the plugin command)
Part of the One Mind CODEX framework. See CODEX-FRAMEWORK for the full plugin stack.

