HackMake

Batch Capture OmniFocus Tasks with Drafts

I’ve often been asked and been curious myself about a simple and fluid way to get a list of tasks into OmniFocus on iOS. There have been some hacks using Pythonista and I’ve come very close to setting up a system with my Mac mini server to grab a text list, parse it out, and add it to OmniFocus using Applescript. But with a major assist from James Gowans comes a pretty straightforward way using Drafts 3.0’s new “List in Reminders” action.

This new action will list out the lines of your drafts as line items in Reminders and thanks to OmniFocus’s support for importing tasks from Reminders you can go from Drafts to OmniFocus in one tap.

The basic support in Drafts for “List in Reminders” dumps your draft straight into Reminders without even leaving the app. That’s smooth if you want your items to stay in Reminders but we want to trigger OmniFocus to scoop up the tasks so they don’t get left in between.

The trick to this is to “Allow URLs to trigger actions” in the Drafts settings. This means that Drafts can call it’s own actions in addition to the x-success callback function. Once everything is sent to Reminders, OmniFocus will open and grab all the new items.

Once you’ve set Drafts to allow URLs to trigger actions and have turned on Reminders Capture in OmniFocus, add this URL action to Drafts:

drafts://x-callback-url/create?text=[[draft]]&action=List%20in%20Reminders&x-success=omnifocus://

Selecting this action on your draft will send each line to Reminders, then switch to the OmniFocus app which imports each task into the inbox. I can’t find a way to deep-link into the Inbox view so you will be switched to wherever you last were in the app but you can be sure that your tasks were imported. If you know how to link into the OmniFocus inbox, please let me know. Unfortunately, contexts and projects still aren’t supported through the URL scheme but just look at what your amazing pocket computer can do.