Drafts includes action steps to create calendar Events using Apple's own provided Event creation dialog. This is great for occasional Event creation, but can require a lot of extra tapping. Many power calendar users on iOS have starting using alternative calendar apps with more powerful features, like natural language processing, to ease the creation of events. One of the best of these apps is Flexibit's Fantastical:
Fantastical has great natural language processing, which allows you to type simple text versions of events and reminders and have them parsed into events. It also has great integration features, so is a perfect companion to Drafts. Working together, you can quickly jot your text in Drafts - like "Meeting 12/5 10pm" and then send it to Fantastical to be converted to an event.
With advanced integration actions, multiple events can be typed in Drafts, one per line, then created in Fantastical with one action.
There a few different ways to to integrate Drafts with Fantastical, and this article covers to most common ones.
Using the Fantastical Share Extension
Fantastical provides an iOS 8 Share extension to create events. No additional setup in Drafts is required to use this extension. If you are not familiar with share extension, start by reading up on enabling and using the share menu in general.
To create an event based on the current draft using the share extension:
Type the event description in a draft. Type in natural language that Fantastical will understand. It is very flexible, but you can read up on tips at the Flexibits site.
- Tap the "Share" action (which ships with Drafts) to trigger the iOS Share sheet.
- Tap the Fantastical Share icon.
- Confirm and make any changes in the Fantastical share extension and tap "add".
If you wish to be able to use the Fantastical share extension with just the selected text from a draft, not the entire text of the draft, you can also install the Share (selection) action from the directory.
Using Fantastical URL Schemes
In addition to the Share extension, Fantastical has excellent support for direct integration via URL schemes. If you plan to create events regularly, you can install/create actions to create events that save the extra steps of finding and tapping the share extension to trigger Fantastical.
For creation of individual events, install one of these actions:
- Event in Fantastical: Create single event based on draft, with confirmation and editing dialog.
- Event in Fantastical-Quick: Create single event based on draft, without requiring confirmation.
- Reminder in Fantastical: Create a single reminder based on draft. Drafts' own Reminders integration can create reminders, but this version can parse times & dates and set alerts as well.
Once installed, just tap the action to send the draft text to Fantastical.
Creating Multiple Events from one Draft
Fantastical's URL schemes also support callbacks. When used in combination with Drafts' ability to fire actions via URL schemes, advanced actions can also be used to bulk create events based on lines in a draft.
This allows you to quick type a multi-line draft with one event description on each line, then tap one action to recursively step through each line and send it to Fantastical to create an event for each line. Note that these actions will end with an error message about not being able to run the action on an empty draft. This is expect and how the loop knows it's reached the end of the draft.
Install the following examples, the first with allow you to edit and confirm each event (or reminder), the "Quick" version will create each event without stopping to prompt for confirmation.
- Events in Fantastical
- Events in Fantastical-Quick
- Reminders in Fantastical
- Reminders in Fantastical-Quick
Because these actions call themselves via URL, you will have to enable the "Allow URLs to fire actions" setting in Drafts to use them. Details.
I've just installed the 'Events in Fantastical-Quick' on my iPhone 6. It works fine (i.e. all events are created in Fantastical) but it always finishes off with the following error:
"Empty draft not allowed".
My draft had 3 lines, one event on each, and the first time I tried it, I inserted a return after the last line. The second time I tried it, I removed the return but it still threw the error.
Is there something else I need to do?
I've found that Fantastical doesn't seem to handle different time zones when creating an event with Drafts. Entering something like 0700 BST works fine in the Fantastical native parser but when you try passing the same info via Drafts it gives me nonsensical results.
Interested to know if anyone else has found a way to make this work.
Hi, the action seems to be unable to parse further than first line of the list. I tried with different settings but nothing seems to work.
I use Drafts and Fatastical, both updated to latest versions, and an iPad Air.
@Davide - there is one thing you need to be careful of with this action.
The URL code performs a callback after each line of text is imported into Fantastical so that the action can import the next line of text.
The name of the action is embedded in the URL code for this callback, so if you have changed the name of the action in Drafts, the code in the action won't work after the first line is imported.
If you have changed the name of the task, then edit the URL code in the action so that it is identical to the name you've chosen.
I hope that makes sense.
Hi, and thanks for the quick reply.
No changes were made to the name of the action, nor to any other part of it; anyway, the action still works only with the first line.
I really would live to find the way to make it work, since i need vero often to insert several different events in Fantastical...
I'll check again, tryin' to figure it out.
Any further suggestion will be very appreciated.
Sorry @Davide, that's all I can think of. I edited the action name after first installing this action and it stopped working. That's how I found that the action name was important. I am not sure of other reasons why it would not work.
I just tested mine and it worked fine with multiple actions. The only problem I have is that after the last line of text is imported, I get an error message "Empty draft not allowed" which I posted about a year ago (see above) and don't have a solution for, but it's not a big problem - it's just not an elegant completion to the action.
Hope you can find a solution.
Thanks Peter for your help and kindness. An even stranger thing is happening: the action is't properly working on the iPad, but it's flawless (except for the message that you get at the end of the action) on the iPhone. I'm tempted by a hard reset (tabula rasa style) of the Pad... I'll let you know here.... 😉
Hi Davide. I haven't tried using this action on the iPad before now, only on the iPhone. So I just tried it on my Air2 and found that it doesn't progress after the first line. Fantastical doesn't return control to Drafts. I think Greg would have to look into this as it may be a bug.
Hi, I'm actually trying to do the opposite. I'd like to select several drafts and put them into the notes of one calendar event. Is this possible?
You can select two or more drafts and then tap 'Operations - Run action'. However the standard Fantastical actions aren't available as they take you out of Drafts. However you could select me operation to merge the drafts first the. Run your action.
Sorry, that should have said 'select the operation to merge drafts'.
Hi, thanks for the reply! I was hoping to avoid merging but I'll have a rethink. The only function I could see that would let me keep them unmerged but grouped was iCloud journal but I can't find a way to pick them up again using IFTTT or Workflowy.
Please sign in to leave a comment.