Troubleshooting Tips for Drafts and TextExpander Users

Over the past three months, especially since I posted a workflow that can create multiple events in Fantastical using a recursive action in Drafts, I've been getting emails, tweets and posts from readers who are having problems with that particular action and other actions that I have shared since. The problems that the readers have reported to me are of the same nature, i.e. Drafts freezes or crashes when they try to execute the action. Fortunately, I have found a good solution that works every time.

Make sure that you have allow incoming URLs to trigger custom actions in Drafts.

Allow URLs to trigger Drafts actions

The first thing that you need to do is make sure that you have allowed incoming URLs to trigger the custom actions that you have created in Drafts. To do this, you need to go to the Settings view in Drafts, and scroll to the bottom of the view to see options grouped under URL Security.

Make sure that the "Allow URLs to trigger actions" option is turned on. I'd suggest you to turn off the "Require key parameter" option, to keep x-callback-urls in your action as simple as possible.

If you don't have TextExpander Touch installed on your iOS device, this is the only thing that you need to do. But if you have TextExpander Touch installed, you need to continue with the second step below.

If you have TextExpander Touch installed on your iOS device, you will see this option.

Expand "Fenced" TextExpander snippets in actions

Drafts allows you to use TextExpander snippets inside your actions. This powerful feature forces Drafts to perform a scan for possible TextExpander snippets in your actions. If you set the "Expand TextExpander snippets in actions" option to "All", Drafts will try to match each possible character sequence. And if it does, Drafts will replace those sequences with the appropriate snippets.

These translations occur before Drafts executes the action. Thus, if this translation process changes the content of the action such that it's no longer a valid action definition, Drafts can either freeze or crash.

To fix this problem, I'd suggest you set the option to "Fenced". This allows you to still use TextExpander snippets inside your actions with the <<snippet>> format, and have Drafts expand it appropriately without breaking your action definition.

Note: I have tested these steps and they should work with this particular problem. But if you still experience any problem in getting your custom URL Actions to run, please do not hesitate to contact me on Twitter and/or I will try to help in the best way I can.