Operating systems allow applications to register a custom URL scheme (as opposed to, e.g.,
https://). Applications (including the Web Browser) can use this to deep-link into and perform actions in other desktop applications
Some popular productivity applications supporting URL schemes:
Using a Custom URL Scheme
To use a custom URL scheme, you can use the
@pixiebrix/browser/open-tab brick just like with a normal URL
Depending on the application, you may need to specify a different encoding for spaces URL query parameters using the
spaceEncoding. For most cases, the default
%20 encoding is what's expected. But you may need to use
+ in some cases.
Advanced: Disable Browser Confirmation
By disabling the confirmation, a malicious site could trick you into performing an action in a desktop application. That being said — most applications do not expose destructive actions via URL schemes for this reason
When you try to navigate to a link with a custom URL scheme, Chrome will prompt you to open the application:
If you're trying to trigger a lot of actions, that can become tedious. Here are some steps for disabling the confirmation in Chrome.
- Open the terminal
- In the prompt, enter the following with the URL scheme for the application you're using. For example, the Drafts URL scheme is
drafts://, so we'd enter:
- Restart Chrome
defaults write com.google.Chrome URLAllowlist -array-add 'drafts://*'