• Public
  • Public/Protected
  • All


Script integration with Todoist. This object handles OAuth authentication and request signing. The entire Todoist REST API can be used with the request method, and convenience methods are provided for common API endpoints to manage tasks, projects, comments and labels.

The quickAdd method is mostly likely what you are looking for to create tasks as it supports the shorthand the task entry box in Todoist supports to parse projects, etc.

Other methods are direct mappings of the REST API calls provided by Todoist. Most take an options parameter which is a javascript object containing the parameters to be passed to the API, and and the method decodes the JSON response from Todoist and returns it as a Javascript object (or array of objects) with the values as specified in the Todoist API docs.

If an API calls fails, typically the result will be an undefined value, and the lastError property will contains error detail information for troubleshooting.


See Examples-Todoist action group in the Action Directory.

// create Todoist object
let todoist = Todoist.create();
// create task in inbox
  "content": "My Task Name",
  "due_string": "Next wednesday"


  • Todoist



Optional lastError

lastError: string

If a function fails, this property will contain the last error as a string message, otherwise it will be undefined.


lastResponse: any

If a function success, this property will contain the last response returned by Todoist. The JSON returned by Todoist will be parsed to an object and placed in this property. Refer to Todoist API documentation for details on the contents of this object based on call made.



  • closeTask(taskId: string): boolean
  • Close task (mark complete)


    • taskId: string

    Returns boolean


  • createComment(options: object): object


  • createLabel(options: object): object


  • createProject(options: object): object


  • createTask(options: object): object


  • getComment(commentId: string): object


  • getComments(options: object): object[]


  • getLabel(labelId: string): object


  • getLabels(): object[]


  • getProject(projectId: string): object


  • getProjects(): object[]


  • getTask(taskId: string): object


  • getTasks(options?: object): object[]
  • Parameters

    • Optional options: object

    Returns object[]


  • quickAdd(text: string, note?: string, reminder?: string): object
  • Parameters

    • text: string

      Text to use to create the task. Supports Todoist quick add notation for specifying projects, priority, labels, etc. just as if you were using the Todoist quick add window.

    • Optional note: string

      Optional text to attach as a comment with the task.

    • Optional reminder: string

      Optional natural language date specifying for creating a task reminder.

    Returns object

    Object containing respose data from Todoist.


  • reopenTask(taskId: string): boolean
  • Reopen task (mark incomplete)


    • taskId: string

    Returns boolean


  • Execute a request against the Todoist API. For successful requests, the HTTPResponse object will contain an object or array or objects decoded from the JSON returned by Todoist as appropriate to the request made. Refer to Todoist’s API documentation for details about the expected parameters and responses. Drafts will handle wrapping the request in the appropriate OAuth authentication flow.


    • settings: object

      an object configuring the request.

      • Optional data?: object

        A JavaScript object containing data to be encoded into the HTTP body of the request.

        • [x: string]: string
      • Optional headers?: object

        An object contain key-values to be added as custom headers in the request. There is no need to provide authorization headers, Drafts will add those.

        • [x: string]: string
      • method: string

        The HTTP method, like "GET", "POST", etc.

      • Optional parameters?: object

        An object containing key-values to be added to the request as URL parameters.

        • [x: string]: string
      • url: string

        The full URL to the endpoint in the Todoist REST API.

    Returns HTTPResponse


  • updateComment(commentId: string, options: object): object
  • Parameters

    • commentId: string
    • options: object

    Returns object


  • updateLabel(labelId: string, options: object): object
  • Parameters

    • labelId: string
    • options: object

    Returns object


  • updateProject(projectId: string, options: object): object
  • Parameters

    • projectId: string
    • options: object

    Returns object


  • updateTask(taskId: string, options: object): object
  • Parameters

    • taskId: string
    • options: object

    Returns object

Static create

  • create(identifier: string): Todoist
  • Creates a new Todoist object.


    • identifier: string

      Optional string value used to identify a Todoist account. Typically this can be omitted if you only work with one Todoist account in Drafts. Each unique identifier used for Twitter accounts will share credentials - across both action steps and scripts.

    Returns Todoist


  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method

Generated using TypeDoc