Export to calendar 366

I use an excellent cakendar app called Cakendar 366
It accepts natural language input in the format
What when where /calendar
Eg lunch Tuesday 12:45 Aroma /Gmail
How should I go about exporting from draft to that App (if this is possible).
Once I understand that I might be able to generalize. I also have the iOS shortcuts app

It looks like the iOS version got URL schemes added in version 1.3.0., but I can’t see any documentation for it on the developers web site :frowning:

This would make a good starting point and then you could use a Drafts action to open the appropriate URL and Drafts’ templates (e.g. [[draft]]) to pass in the data to the application.

Here is what the developer sent me:

The URL scheme for Calendar 366 (iOS & Mac) is “c366”.

Add:
c366:///add?type=event

c366:///add?type=reminder

c366:///add?type=event&query=“WhatWhen Where…”

c366:///add?type=reminder&query=“WhatWhen Where…”

(Without quotes, URL encoded)

Show:
c366:///show?id=EXTERNAL_CALENDARITEM_ID&type=event&start=TIMEINTERVALSINCE1970

The start parameter is optional for repeating events.

c366:///show?id=EXTERNAL_CALENDARITEM_ID&type=reminder

(Copy Link from Share menu)

That suggests something like this would work assuming your draft contains the what, when, where entry.

Yes, I just uploaded the working action.
But I used a simple url. What’s the point of the callback?

Now for the real,purpose of the exercise.
How do I get the script to run the action on a list of such events.
I often get such lists I need to enter into my calendar, and would love to copy paste the list, edit and format as required, and send the lot to the calendar.

Assuming the URL scheme support is full x-callback support that would allow an automatic return to Drafts. If it doesn’t, then using a normal URL call would be just fine.

Rather than sending an entire draft, you would send just part of a draft. For example, each line. In order to do this you would use a script action step and some JavaScript. There are many examples in the forum and the Action Directory of doing just this with other apps.

However…

This does rely on the URL scheme being x-callback compatible. Each time you want to add something to C366, you have to call it’s URL scheme and send it the data. When you want to send it the next bit of data to process with the next call, you have to have returned to Drafts. That’ where the requirement for x-callback comes in. Without that, the control is never going to come back to Drafts to process the next entry in your list.

For info, Shortcuts would suffer the same limitation. C366 needs to actively pass control back to the app that called it.

Does anyone know how to add a Reminder for Calendar 366?

Thank you for the Add Event action🤗

In the above post I used the following to add a calendar event based on the content of the current draft.

c366:///add?type=event&query="[[draft]]"

The equivalent for reminders according to the nspecktor.com documentation, the equivalent url for a reminder would be like this.

c366:///add?type=reminder&query="[[draft]]"

Thanks for helping, @sylumer

What type of Action Step do I choose for this action?

Edit: I tried the Reminder action Step. Is there anything I can add to get a choice of which Reminder list to add to?

As above I would use the Callback URL action. Assuming that is that you want to end up in Drafts after you have called the URL - otherwise it would be the URL action. The documentation I referenced previously notes that it is an x-callback compatible URL scheme.

That is a parsing question for Calendar 366. I checked their FAQ for details.

While it suggests reminders are included in the examples, they are not. but looking at the “where”, I would suggest trying adding a space and forward slash, followed by the name of your reminder list at the end of your draft. You could, of course, build it into your action, but for testing, trying it in your draft requires no changes.

Please note I don’t use Calendar 366, so I can’t test any of the above. It all comes from the online documentation.

Many thanks for this excellent help😊 I will check this asap.

I have your Action for Calendar 366 installed in Drafts. Do you notice that it doesn’t work if Calendar 366 is open - at least that is a problem that I am having. The action just goes into an eternal spin and I have to quit Drafts and close Calendar 366 to get it to work (which also negates the benefit of the action).

I don’t have the app to test, but it’s unlikely Drafts is at fault if it works sometimes and sometimes not, Drafts would generate the same URLs either way.

If you copy and paste the below URL into Safari and open it, does it work properly with Calendar 366 already open:

c366:///add?type=event&query=TEST

Thank you for the reply. I just copied and pasted the URL into Safari with Calendar 366 open as you suggested and it does work properly.

What does that suggest to you?

Ok, so maybe I need to clarify on what is happening.

  • What action are you using, specifically?
  • What platform (iOS/Mac)? Or is this present on both platforms?
  • What happens when you run it with the 366 running? (Details, not “doesn’t work” - does 366 open/come to front? Does 366 do anything?
  • What happens when you run it with 366 not running?

Since this is a CallbackURL based action (based on thread), Drafts will spin the progress (should not lock up app, just pause actions), until it gets a response from the target app - or until a timeout occurs (60 seconds, I think).

I was going to answer your questions in order, but your comment about Drafts waiting for a response from the target app, Calendar 366, or timing out after about 60 seconds, made me test further.

This is the action that I am using.

It appears that action does work on both iOS and Mac. However, once I have run the action, Drafts pauses - and most of the time this is not obvious until I select another action to run. If it is within that 60 seconds or Drafts is still waiting to hear back from 366, nothing obviously happens (the pause).

If I immediately try and run the 366 action again, a widget will spin beside the 366 action. With other actions nothing happens…which is what made me think that Drafts was hanging.

Is there a way to fix this pause, or is this a job for the developer of Calendar 366?

Thank you.

If your action is just that one step, and doesn’t need a response from Calendar 366 for anything, you can turn off the “Wait for Response” option on the CallbackURL action step in the action. That will tell Drafts not to worry about hearing back from Calendar 366 and go on about its business without the pause.

It seems likely there is a bug in Calendar 366 not properly calling the URL callbacks in some situations, but either way, not waiting in Drafts should resolve your issue.

Turning off the “Wait for Response” did it.

Many thanks for your time on this.

1 Like