Integrate with Desktop Apps via Custom URL Schemes

Integrate with Desktop Apps via Custom URL Schemes

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.


  1. 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:

    defaults write URLAllowlist -array-add 'drafts://*'
  2. Restart Chrome

Desktop Developer Resources

Last updated