URL Scheme
Deep link into Taskdn Desktop from external tools like Alfred, Raycast, Obsidian, or browser bookmarks.
Commands
Section titled “Commands”| Command | Purpose |
|---|---|
taskdn://open | Open an entity or navigate to a view |
taskdn://new | Create a new task |
Opens an existing task, project, area, or navigates to a view.
Open by File Path
Section titled “Open by File Path”taskdn://open?path=<url-encoded-path>| Parameter | Required | Description |
|---|---|---|
path | Yes | URL-encoded absolute path to a .md file |
Where the entity opens:
| Entity Type | Navigation |
|---|---|
| Task (inbox) | Inbox view, task selected |
| Task (in project) | Project view, task selected |
| Task (in area, no project) | Area view, task selected |
| Task (orphan) | No Area view, task selected |
| Project | Project view |
| Area | Area view |
Examples:
taskdn://open?path=%2FUsers%2Fdanny%2Fnotes%2Ftasks%2Fmy-task.mdtaskdn://open?path=%2FUsers%2Fdanny%2Fnotes%2Fprojects%2Fwebsite.mdOpen by View
Section titled “Open by View”taskdn://open?view=<view-name>| Parameter | Required | Description |
|---|---|---|
view | Yes | View identifier (lowercase, kebab-case) |
Supported views:
| View | Description |
|---|---|
today | Today view |
this-week | This Week view |
inbox | Inbox view |
calendar | Calendar view |
no-area | No Area view (orphan tasks/projects) |
Examples:
taskdn://open?view=todaytaskdn://open?view=inboxCreates a new task and opens it for editing.
taskdn://new?title=<title>&status=<status>&...| Parameter | Required | Format | Description |
|---|---|---|---|
title | No | URL-encoded string | Task title (default: “New Task”) |
status | No | Lowercase kebab-case | Task status (default: inbox) |
due | No | YYYY-MM-DD | Due date |
scheduled | No | YYYY-MM-DD | Scheduled date |
defer-until | No | YYYY-MM-DD | Defer until date |
project | No | URL-encoded string | Project title (case-insensitive match) |
area | No | URL-encoded string | Area title (case-insensitive match) |
body | No | URL-encoded string | Task notes (Markdown, newlines) |
Valid status values:
inbox(default)iceboxreadyin-progressblockeddroppeddone
Behavior:
- Creates the task with provided parameters
- Navigates to appropriate view
- Opens detail panel with title field focused
Examples:
# Simple inbox tasktaskdn://new?title=Buy%20groceries
# Task with projecttaskdn://new?title=Update%20homepage&project=Website%20Redesign
# Task with datestaskdn://new?title=Review%20PR&due=2025-01-20&scheduled=2025-01-15
# Task with body contenttaskdn://new?title=Meeting%20notes&body=Discussed%3A%0A-%20Budget%0A-%20Timeline
# Minimal (creates "New Task" in inbox)taskdn://newProject/Area matching:
- Case-insensitive title match
- First match wins if duplicates exist
- Unmatched values are silently ignored
General Behavior
Section titled “General Behavior”Window Focus
Section titled “Window Focus”- Valid URLs: App comes to foreground
- Invalid URLs: App stays in background (silent failure)
URL Encoding
Section titled “URL Encoding”All parameter values must be URL-encoded:
| Character | Encoded |
|---|---|
| Space | %20 |
| Newline | %0A |
/ | %2F |
? | %3F |
& | %26 |
= | %3D |
Integration Examples
Section titled “Integration Examples”Alfred/Raycast
Section titled “Alfred/Raycast”Create a workflow that runs:
open "taskdn://new?title={query}"Obsidian
Section titled “Obsidian”Link to a task from your notes:
[Open task](taskdn://open?path=%2FUsers%2Fdanny%2Fnotes%2Ftasks%2Fmy-task.md)Shell Script
Section titled “Shell Script”# Quick captureopen "taskdn://new?title=$(echo "$1" | jq -sRr @uri)"