URL Scheme List
Deep link formats for apps people link to from notes, docs and chat. Each row has an example you can copy and adapt, plus a link to the app’s own docs where there is one.
| App | Scheme | Example |
|---|---|---|
| Slackdocs | slack:// | slack://channel?team=T0001&id=C0001 Also slack://user, slack://file and slack://open. There is no app-scheme link to a single message; use the message permalink for that. |
| Obsidiandocs | obsidian:// | obsidian://open?vault=Notes&file=Inbox To jump to a heading, put it inside the file value: file=Inbox%23Todo. |
| Obsidian Advanced URIdocs | obsidian://adv-uri | obsidian://adv-uri?vault=Notes&filepath=Inbox&heading=Todo Needs the Advanced URI community plugin. Older links use obsidian://advanced-uri. |
| Zoom | zoommtg:// | zoommtg://zoom.us/join?action=join&confno=123456789 Add &pwd= for the passcode. A regular zoom.us/j/ link also opens the app, after a browser prompt. |
| Notion | notion:// | notion://www.notion.so/My-Page-0123456789abcdef0123456789abcdef Take the page URL from your browser and replace https:// with notion://. |
| Figma | figma:// | figma://file/AbC123xYz Opens the file in the desktop app. |
| VS Codedocs | vscode:// | vscode://file/c:/myProject/package.json:5:10 Line and column are optional. Insiders builds use vscode-insiders://. |
| Cursor | cursor:// | cursor://file/Users/me/project/src/index.js |
| JetBrains Toolbox | jetbrains:// | jetbrains://idea/navigate/reference?project=MyProject&path=src/Main.java |
| GitHub Desktop | x-github-client:// | x-github-client://openRepo/https://github.com/inlife/spx |
| Warpdocs | warp:// | warp://action/new_tab?path=/Users/me/code |
| Microsoft Teamsdocs | msteams:// | msteams://teams.microsoft.com/l/chat/0/0?users=alex@example.com Skips the browser and opens the desktop client. Microsoft suggests the https://teams.microsoft.com/l/ form unless everyone has the desktop app. |
| Telegramdocs | tg:// | tg://resolve?domain=durov |
| whatsapp:// | whatsapp://send?phone=15551234567&text=Hi https://wa.me/15551234567 does the same thing and works in browsers. | |
| FaceTime | facetime:// | facetime://+15551234567 facetime-audio:// starts an audio-only call. |
| Apple Mail | message:// | message://%3Cmessage-id@example.com%3E Uses the email’s Message-ID header, wrapped in encoded angle brackets. |
| Apple Shortcutsdocs | shortcuts:// | shortcuts://run-shortcut?name=Log%20Water |
| Thingsdocs | things:/// | things:///add?title=Buy%20milk Three slashes, because there is no host. |
| OmniFocusdocs | omnifocus:/// | omnifocus:///add?name=Call%20Sam |
| Beardocs | bear:// | bear://x-callback-url/open-note?id=7E4B681B |
| Draftsdocs | drafts:// | drafts://x-callback-url/create?text=Hello |
| Craft | craftdocs:// | craftdocs://open?blockId=BLOCK_ID&spaceId=SPACE_ID |
| DEVONthink | x-devonthink-item:// | x-devonthink-item://9A1B2C3D-0000-0000-0000-000000000000 |
| Logseq | logseq:// | logseq://graph/MyGraph?page=Inbox |
| Zotero | zotero:// | zotero://select/library/items/ABCD2345 Common in Obsidian notes that cite papers. |
| Spotifydocs | spotify: | spotify:track:6rqhFgbbKwnb9MLmUQDhG6 Spotify URIs use colons, not slashes. |
| Steamdocs | steam:// | steam://run/440 |
| AltStoredocs | altstore:// | altstore://install?url=https://example.com/app.ipa altstore://source?url= adds a source instead. For a "Download on AltStore" badge, AltStore publishes https links (altstore.io/source/…) that work on GitHub without wrapping. |
| Emaildocs | mailto: | mailto:hello@example.com?subject=Hi Standard scheme. Most apps already make it clickable. |
| Phonedocs | tel: | tel:+15551234567 Standard scheme. Most apps already make it clickable. |
| SMSdocs | sms: | sms:+15551234567 |
Missing an app, or found an example that doesn’t work? Tell us and we’ll fix the list.
How the operating system knows which app to open
The scheme is the part before the colon. Browsers handle https themselves. For anything else they ask the operating system, and the OS looks up which installed app claimed that scheme.
Apps claim a scheme when they’re installed. On macOS and iOS it’s listed under CFBundleURLTypes in the app’s Info.plist. On Windows it’s a registry key under HKEY_CLASSES_ROOT. On Android it’s an intent filter in the manifest, and on Linux it’s an x-scheme-handler/… entry in the app’s .desktop file.
Questions
How do I find an app’s URL scheme?+
Start with the app’s developer docs. If there aren’t any, on macOS the schemes are listed in the app bundle: run /usr/libexec/PlistBuddy -c "Print :CFBundleURLTypes" /Applications/Slack.app/Contents/Info.plist (swap in the app you care about). On Windows, look under HKEY_CLASSES_ROOT for a key named after the scheme that has a "URL Protocol" value.
Why does a link work on my laptop but not on my phone?+
The link only works where the app is installed and has registered the scheme. Mobile versions often register a different scheme, or none. Some desktop-only formats, such as vscode://file paths, mean nothing on a phone.
Can a web page open these links?+
Yes. When you click one, the browser asks the operating system which app handles the scheme, and most browsers show a confirmation prompt first. Links usually fail earlier than that: the site you pasted the link into removes it before anyone can click.
The LinkOpen converter turns it into an https link that opens the app when clicked.