Action

Convert for ToDoist

Posted by @sylumer, Last update almost 6 years ago - Unlisted

Steps

  • script

    var credential = Credential.create("Todoist", "Todoist API");
    
    credential.addTextField("token", "Token");
    
    credential.authorize();
    
    // check to see if draft is blank
    var content = editor.getText();
    var check = content.length;
    
    if (content.length == 0) {
    	alert("Draft is blank");
    	context.cancel("Draft was blank");
    }
    
    // Call API for each line in a draft
    // split draft and loop over lines
    var lines = content.split("\n");
    
    var http = HTTP.create(); // create HTTP object
    
    var params = {"token":credential.getValue("token")};
    
    for (var line of lines) {
    
    	if (line.startsWith("- [ ] ")) {
    		task = line.replace("- [ ] ", "");
    		params["text"] = task;
    		
    		var response = http.request({
    		  	"url": "https://todoist.com/api/v7/quick/add",
    		  	"method": "POST",
    		  	"data": params
    		});
    		
    		if (response.success) {
    			console.log(response.statusCode);
    			content = content.replace(line, "- [x] " + task);
    		} else {
    		  	console.log(response.statusCode);
    		  	console.log(response.error);
    		}
    	}
    }
    editor.setText(content);
  • script

    app.queueAction(Action.find("Move done tasks to end"), draft);

Options

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