Drafts Action Directory

Smart Task in Todoist

Posted by @mattbirchler, Last update 12 months ago

Create tasks in Todoist with names, due dates, and priorities. The task name must always be on the first line. Additional info needs to be prefixed by a set number of strings followed by a space:

  • “at” or “@“ are for due dates (using OmniFocus’s smart time parsing, so “10am tomorrow” works)
  • A line with just the number 1-4 will set the priority to that value
  • All lines that don’t match up with a prefix listed above will be assumed to be a note
Install

Steps

  • script

    var arr = draft.content.split("\n");
    
    var baseURL = "todoist://addtask";
    var addLink = CallbackURL.create();
    addLink.baseURL = baseURL;
    
    
    for (i = 0; i < arr.length; i++) {
    	// The task name
    	if (i == 0) {
    		addLink.addParameter("content", arr[i]);
    	}
    	// The due date
    	else if (arr[i].slice(0,3) == "at " || arr[i].slice(0,3) == "At ") {
    		addLink.addParameter("date", arr[i].slice(3,100));
    	} else if (arr[i].slice(0,2) == "@ ") {
    		addLink.addParameter("date", arr[i].slice(2,100));
    	}
    	// The priority
    	else if (arr[i].slice(0,9) == "priority " || arr[i].slice(0,9) == "Priority ") {
    		addLink.addParameter("priority", arr[i].slice(9,50));
    	} else if (arr[i].slice(0,1) == "1" || arr[i].slice(0,1) == "2" || arr[i].slice(0,1) == "3" || arr[i].slice(0,1) == "4") {
    		addLink.addParameter("priority", arr[i]);
    	}
    	// Anything else
    	else {
    		addLink.addParameter("content", arr[i]);
    	}
    };
    
    // alert(addLink);
    
    
    // open and wait for result
    var success = addLink.open();

Options

  • After Success Archive
    Notification Info
    Log Level Info

Comments

Actions available in the Action Directory are uploaded by community members. Use appropriate caution reviewing downloaded actions before use.