• Public
  • Public/Protected
  • All

Class GoogleTask

Script integration with Google Tasks. This object handles OAuth authentication and request signing. The entire Google Tasks API can be used with the request method, and convenience methods are provided for common API endpoints to manage tasks and lists.

Working with the return values and parameters for these methods requires an understanding of the JSON objects created and returned by the API, so refer to type specifications in the API Reference for details on values supported in task and lists. Specifically, review the supported properties of the Task and TaskList objects to understand the values included in fetched objects, and to make modifications.

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


See Examples-Google Task action group in the Drafts Directory. It contains several example scripted actions.

// create GoogleTask object
let gtask = GoogleTask.create();
// create task in "Test" list
let list = gtask.findList("Test");
let t = {
    "title": "My Task",
    "notes": "My notes on this task"
let task = gtask.createTask(list, t);


  • GoogleTask




Lists Methods

Other Methods

Tasks Methods




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 succeeds, this property will contain the last response returned by the Google Tasks API. The JSON returned by the API will be parsed to an object and placed in this property. Refer to Google Tasks API documentation for details on the contents of this object based on call made.

Lists Methods



  • Get specific list by name. This is a convenience method which will fetch lists and return the first one found with a matching name.


    • name: string

    Returns googleTaskList | undefined


Other Methods


  • request(settings: { data?: {}; headers?: {}; method: string; parameters?: {}; url: string }): HTTPResponse
  • Execute a request against the Google Task API. For successful requests, the HTTPResponse object will contain an object or array or objects decoded from the JSON returned by the API as appropriate to the request made. Refer to API documentation for details about the expected parameters and responses. Drafts will handle wrapping the request in the appropriate OAuth authentication flow. Requests should only be made to endpoints in the Google Tasks API which require the https://www.googleapis.com/auth/tasks authentication scope.


    • settings: { data?: {}; headers?: {}; method: string; parameters?: {}; url: string }

      an object configuring the request.

      • Optional data?: {}

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

        • [x: string]: string
      • Optional headers?: {}

        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", "PATCH", etc.

      • Optional parameters?: {}

        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 Google Tasks API.

    Returns HTTPResponse

Static create

  • Creates a new GoogleTask object.


    • identifier: string

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

    Returns GoogleTask

Tasks Methods



  • getTask(list: object, taskID: String): googleTask | undefined


  • getTasks(list: object): googleTask[] | undefined


  • Move an existing task. Parameters can include parent or previous values, which should be the taskID for other tasks in the same list. Use parent to make the task a sub-task of another task, and previous to place the task in order after the specified taskID. API documentation


    Returns object | undefined


Generated using TypeDoc