The Basics of Working With x-callback URLs

A lot of apps are supported natively in Shortcuts or Workflow, but not all, and Sometimes even if the app is supported not all the features are there. This is no ones fault, they're just a lot of apps. This is where x-callback URLs come in, they give you the ability to write actions in URL form to run in a specific app. I recently talked about how I’m doing this with Things 3. With Shortcuts coming out soon I thought it might be a good idea to share a couple of websites I have been using to help build x-callback URLs that I run in Workflow soon to be Shortcuts.

Resources to build x-callback URLs

  • App Talk is great for a handful of popular apps. They walk you through every URL that is supported for said app. I think this is probably the best place to start if you need to build a x-callback URL.

  • x-callback-url has probably the biggest list of URL supported apps. They link to the apps webpage with the x-callback URL support on there. Unfortunately it looks like they still have some older apps on there and some current apps have broken links. It's great for a majority of apps though.

  • I always like to check out an apps webpage, you may learn a thing or two that you didn't already know. A lot of times developers will have documentation on their URL support right on their site. If they don't have documentation but have some way to reach out for support then send them an email and ask. I try not to do this right away cause I understand how much email developers get.

Building a Workflow/Shortcut with x-callback URL

When I sit down to write out my own URL's for apps I like to use a text editor like Drafts or Pretext. Some of the more complicated x-callback URLs can get pretty long and it's nice to be able to see the whole URL.

Here is an example of how the URL should be formatted: drafts5://x-callback-url/create?text=New%20Video%20Outline

This x-callback URL It will open Drafts 5 and create a new document called “New Video Outline”. Apps have different actions for their URL, not all will use the create feature. This is why I recommend reading up on the app that you wish to work with. This is just what the basic structure of what a x-callback URL will look like.


After you have your URL just paste into a “URL” block in Workflow/Shortcuts and then put the action "Open x-callback URL" under that. When running that Workflow/Shortcut it will push that URL to the app with what you told it to do. In the example case from above, it will create a new task in Things 3 with a lot of checklist items. If you wish you can add more actions in the Workflow/Shortcut to make it even more powerful. This is just the basics of working with plain x-callback URLs, but there is so much more you can do.

Automating with Things 3


When I switched to Things 3 a couple months ago I was worried that it wouldn't be as customizable as Todoist. I did a deep dive into the X-Callback URL support and I was surprised to find how far it goes. I even found a website the developers put together to help build the URLs.


This got me thinking, I wanted to see how far I could push this. A Workflow I used a lot with Todoist was to build a checklist for a production of a new video. How it worked in Todoist was it would create a project and then create about twenty tasks in that project, everything from writing notes to uploading to YouTube. This worked fine but I wanted to do something different with Things. So using the website I built this x-callback url.

    things:///add?title=Replace Text&checklist-items=Outline%0AScript%0ARecord%20V%2FO%0AEdit%20V%2FO%0ARecored%20Primary%20Video%20Track%0AEdit%20Primary%20Track%0ARecored%20B-Roll%0AEdit%20B-Roll%0AFinal%20Edit%0AExport%20%0AUpload%20to%20YouTube%0AThumbnail%0ACheck%20YouTube%20Settings%0ABackup%20Video%20to%20Server&tags=Video%20ProjectProject&list=Untitled%20Site%20Videos

How it works is that it will create a task in my video ideas project and make a list with every step I do durning production of a video. I can then move this task to a date when I wish to start working on that video. For me this is a much cleaner way of accomplishing this task.

So let's walk through this Workflow. The Workflow starts with a "Ask for input" option, and it ask what's the title of the video. In the URL where we set the title of the task I use the magic variable option of the “Ask for input” action to set the title. This way it will set name to whatever I answer the "Ask for input" question every time. Next up I have a replace text block. URLs handle spaces very differently, for humans we would just hit the spacebar, but for URLs spaces are "%20". So the replace block replaces a spaces in the title with %20. Then I added the URL, like I mentioned at the top I built it using the wonderful URL builder from Things 3's developers. After that we just add "Open X-Callback URL" so that it opens and adds the whole task with the list in Things. As you can see it builds out quite a bit. For me this would take a lot longer to do manually for every video idea I come up with.


I really love automation and I'm really happy to see such advanced stuff coming to the iPad. I’ve built a few more workflows for Things 3, I’ve one for quick entry, one for adding items to a shopping list, and one for adding URLs to my inbox. I plan on posting a lot about iOS automation here so be sure to check back. You can always follow the Untitled Site Twitter account for all the updates.