URI Linking Feature
Create deep links that open a specific task directly in Project Planner from anywhere in your Obsidian vault. URI links let you reference tasks in meeting notes, daily journals, documentation, and more.
Overview
Project Planner registers a custom Obsidian URI handler so you can link to any task by its unique ID. Clicking the link opens the plugin, switches to the correct project, and highlights the task instantly.
How It Works
URI Format
Every task link follows this structure:
obsidian://open-planner-task?id=TASK_ID&project=PROJECT_ID
- id — the UUID of the target task
- project — the UUID of the project containing the task
Copy Link from Task Details
- Open the task you want to link to in the Task Details panel.
- Click the ⋮ (more options) menu in the top-right corner.
- Select Copy Link.
- Paste the link anywhere in your vault. It will render as a clickable Obsidian URI in reading mode.
Example Usage
Reference a task directly inside meeting notes:
## Sprint Planning — 2025-02-13
### Action Items
- Assign [Design landing page](obsidian://open-planner-task?id=f8e7d6c5-b4a3-2190-fedc-ba0987654321&project=a1b2c3d4-e5f6-7890-abcd-ef1234567890) to Sarah
- Review dependencies for [API integration](obsidian://open-planner-task?id=11223344-5566-7788-99aa-bbccddeeff00&project=a1b2c3d4-e5f6-7890-abcd-ef1234567890)
- Discuss timeline for the launch milestone
Automatic URI Links
Task Notes
When you run the Create Notes for All Tasks command, each generated Markdown task file includes an "Open in Project Planner" link at the bottom:
---
id: f8e7d6c5-b4a3-2190-fedc-ba0987654321
title: Design landing page
status: In Progress
completed: false
---
Design the new landing page layout.
---
[Open in Project Planner](obsidian://open-planner-task?id=f8e7d6c5-b4a3-2190-fedc-ba0987654321&project=a1b2c3d4-e5f6-7890-abcd-ef1234567890)
Project Hub
The Create/Update Project Hub command generates (or updates) a hub note for the selected project. Every task entry in the hub is a clickable URI link:
# My Project — Task Hub
## To Do
- [ ] [Review pull request](obsidian://open-planner-task?id=550e8400-...&project=a1b2c3d4-...)
- [ ] [Write unit tests](obsidian://open-planner-task?id=660f9500-...&project=a1b2c3d4-...)
## In Progress
- [ ] [Design landing page](obsidian://open-planner-task?id=f8e7d6c5-...&project=a1b2c3d4-...)
## Done
- [x] [Set up CI pipeline](obsidian://open-planner-task?id=770a0600-...&project=a1b2c3d4-...)
Benefits
- Seamless integration: Link tasks directly from any Markdown file in your vault without leaving Obsidian.
- Instant context switching: Click a link to jump straight to the task—no searching or navigating required.
- Meeting notes: Reference action items in meeting notes so they are always one click away from the full task details.
- Daily notes: Embed links to tasks you plan to work on today for quick access.
- Documentation: Link to implementation tasks from technical design documents or project roadmaps.
Tips
Use standard Markdown link syntax for cleaner display: [Task Title](obsidian://open-planner-task?id=...&project=...). In reading mode, only the task title is shown.
- Quick access: Pin frequently referenced tasks by adding their links to a "Dashboard" note at the top of your vault.
- Bi-directional navigation: Combine URI links with Markdown Sync so you can navigate from a note to the plugin and from the plugin back to the task's Markdown file.
Commands
The following commands generate or use URI links:
- Create/Update Project Hub — Generates a hub note with clickable links to every task in the project, grouped by bucket/status.
- Create Notes for All Tasks — Creates individual Markdown files for every task and appends an "Open in Project Planner" URI link to each file.
- Copy Link — Copies the URI link for the currently open task to your clipboard.
Technical Details
Obsidian Protocol Handler
Project Planner registers the open-planner-task action with Obsidian's registerObsidianProtocolHandler API. When a URI is opened, the handler parses the id and project query parameters and navigates to the task.
UUID Task IDs
Task IDs are RFC 4122 v4 UUIDs, ensuring global uniqueness. Links remain valid as long as the task exists in data.json, regardless of whether the task title or project name changes.
Cross-Vault Links
Obsidian URIs are vault-scoped by default. To link to a task in a different vault, include the vault parameter:
obsidian://open-planner-task?vault=MyOtherVault&id=TASK_ID&project=PROJECT_ID
Automatic Project Switching
If the linked task belongs to a different project than the one currently open in the plugin, Project Planner automatically switches to the correct project before highlighting the task.
If a task has been deleted, clicking its URI link will show a "Task not found" notice. The link itself remains in your note and can be removed manually.