Workflow: Using TextExpander Snippets in Drafts as Templates for Creating Lists

One of the features in Drafts that I haven't discussed much is its support for TextExpander snippets in custom action fields. With this feature, we can create URL actions that contain fenced abbreviations, such as <<abbreviation>>, and have Drafts automatically expands it when the action is fired.

This feature is different from the built-in support that Drafts has for TextExpander snippets when you write your posts. For example, you can type ddrafts in the post window to have Drafts automatically expand it to the default Drafts' x-callback-url:


This is very useful if you like to create your own custom URL actions in Drafts. I personally find it very helpful to store these x-callback-url syntax into TextExpander snippets instead of remembering them. Open this link to download a copy of a TextExpander group containing my most-frequently used iOS URL Schemes.

Note: If you're trying to install the snippet group directly from your iOS device, open the TextExpander app, switch to Groups tab, and tap the + button on the bottom right corner. Choose the Add via URL option, and paste the download URL above.

Use TextExpander to define a comma-separated list of essential items for the template of your lists.

List Templates

While it's quite obvious that TextExpander snippets can really help the process of creating new URL actions in Drafts, figuring out how they can be used inside the actions themselves is not a trivial task. One of the workflows that I find most useful is using a comma-separated list of items stored in TextExpander as a template for lists that I frequently use and discard afterwards. Examples of such lists include travel packing list, weekly groceries list, and daily habit list. Creating a slightly modified version of them each time a new event occurs can be cumbersome.

For example, I can have most of the basic essentials on my travel packing list to be relatively the same, regardless of where I'm going and whom I'm traveling with. Yet, depending on the destination, duration, and travel companions, I might want to add a few more items to the list. On the other hand, the basic list itself already contains more than a handful of items that I wouldn't want to forget. The same can be said with weekly groceries list and daily habit list.

Hence, one solution that I can think of is to create a basic list containing the most frequently-listed items for each list, and have Drafts extends it at runtime as I create a new list. I will be using both Clear and Silo to give you an illustration of how the workflow works.

Silo is a solid app for creating and sharing lists. It also has a nice support for x-callback-url.

Example: Travel Packing List

Here's an example of what the basic list of items that I stored under <<ttravel>> abbreviation in TextExpander:

Underwear, Socks, T-Shirts, Medication, Passport, Driver's License, Itinerary, Copies of Travel Docs, Copies of Passport, Medical Insurance Cards, House Keys, Travel Locks and Keys, Luggage Tags, Hospitality Gifts, Pens, Cash, Credit Cards, ATM Cards, iPhone and Charger,

Once I put the list down in TextExpander, I can stop worrying about these travel essentials, and focus on the specific items that I need for the different trips I'm planning. I will define these additional items as a comma-separated list in Drafts and append them to the above list. Here's the custom URL action I created in Drafts to add the new list into Clear:

The first line of the post will be used as the list title in Clear, e.g. "Business Trip to Jakarta", or "Family Vacation to Singapore". Open this link if you want this action I named Travel List (Clear) installed on your iOS device automatically.

And, here's the Silo version. I named it Travel List (Silo).

Open this link if you want it installed on your iOS device automatically.

Note: If you have installed iOS 7 beta on your iPhone, you'd probably have problems getting Clear to work well on the beta OS. I'd recommend you try Silo as Clear's replacement. It has all of Clear's features, plus a nice x-callback-url support and the ability to share your lists with selected recipients.


We all know that working with templates is always a good thing. You can reuse your thoughts and experiences from one instance to the next. Storing these templates as TextExpander snippets, and being able to extend it from Drafts whenever you want to create a new instance of the template is really powerful.

To find my other workflows, please visit my Productivity and Workflows blog.