Tutorial: Designing a Chain of Actions in Drafts Involving Apps that Support x-callback-url

By now, you're probably already aware that you can create a long chain of custom URL actions in Drafts that involve other apps that support x-callback-url. Theoretically, you can create these chains for as long as they fit the purpose. Nevertheless, when you start to involve three or more actions, you might be wondering which action to begin with.

Here's a sample workflow that some of us may be doing quite frequently: sharing an article that we find interesting to as many outlets as possible.

  • We may tweet about it, and
  • We may post it on App.net, and
  • We may save it to Instapaper because it's at least three pages long, and
  • We may want to return to Chrome to continue reading, or use Chrome to return to Tweetbot or Riposte.

We know it's possible to do all of the above, especially since all of the apps involved here support x-callback-url. Yet, when you start coding your actions, you might be wondering where to start. Based on my experience in writing many long chains of actions in Drafts, here are some guidelines that you can use when designing your chain.

Read More

Tutorial: Designing an x-callback-url Action with x-cancel Parameter

When we design an x-callback-url action, we tend to focus on the x-success parameter because we want to get more things done. Yet, when we use these actions, especially the ones that involve two or more chained actions, sometimes we feel the need to cancel the first task and either return to the original app or continue with the second task. Either way, based on our most frequent use cases, we may need to revisit these chained actions and redesign them to include the x-cancel parameter.

This diagram shows how the inter-app routing of Fantastical and Clear action chain.

Cancel and Return

For example, in one of my earlier workflows, I share an action that allows you to add an event in Fantastical and a task item in Clear with a single post in Drafts. When I use it on a regular basis, I often find myself cancelling the event and want to return to Drafts. Either because I want to cancel the intent altogether or because there's a major change I need to make on the entire command structure that I prefer to restart it in Drafts. There has never been a case where I want to cancel the event, but continue to add the task item in Clear.

Read More

Workflow: Share an Article from Chrome to a pre-defined Group of Contacts using Missives and Drafts

As someone who is quite active on Twitter and App.net, I am usually one of the first among my circle of friends to know about a breaking news or an interesting article on technology topics. Each time I find such article, I would try to share it over Twitter and App.net. But, because my closest friends are not as active as I am, they tend to miss these tweets/posts. Hence, whenever I do this, I always try to squeeze in a mention or two in the limited 140-256 characters.

Granted, this is not the best use of Twitter nor App.net. I probably should have sent an email instead. Yet, I was never convinced to use the built-in email action in Safari. As I tend to feel the urge of sharing while I'm in the middle of reading the article, I often hesitated to break the reading experience by sending the email first, and multitask my way back into Safari. I wish there is a way to perform an x-callback-url to send the email, then return immediately to the browser.


A few days ago, Craig Pearlman released a new app entitled Missives. One of the premise of this app is to allow you to setup "canned" emails or messages, and override them via x-callback-url. Hence, by creating a blank email template from my email account to a pre-defined set of my friends' email accounts, I can override the subject and body each time I want to create an instance of it via URL Scheme.

Read More