Action

Fantastical Events

Last update over 5 years ago

Send each line of the current draft to Fantastical to be parsed as an event. This action doesn’t require intervention in fantastical to enter. Return to Drafts when complete. Thanks to @agile_tortoise for the help!

Steps

  • script

    // split draft into lines
    const lines = draft.content.split("\n");
    const baseURL = "fantastical2://x-callback-url/parse?";
    
    // loop over lines and send each to Fantastical
    for(var line of lines) {
    	if (line.length == 0) { continue; }
    	// create and configure callback object
    	var cb = CallbackURL.create();
    	cb.baseURL = baseURL;
    	cb.addParameter("sentence", line);
    	cb.addParameter("add", "1");
    	
    	// open and wait for result
    	var success = cb.open();
    	if (!success) {
    		if (cb.status == "cancel") {
    		   context.cancel();
    		   break;
    		}
    		else {
    			context.fail();
    			break;
    		}
    	}
    }

Options

  • After Success Trash
    Notification Info
    Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.