Google Tasks: A pack to manage your tasks and task lists

I made a pack for managing Google tasks and task lists. After connecting a Google account, the pack enables creating, updating, and deleting tasks with the CreateTask, UpdateTask, and DeleteTask Actions, and retrieving all tasks (optionally filtered) or a specific task using the Tasks and Task Formulas. You can also retrieve all task lists or a specific task list using the Tasklists or Tasklist Formulas.

Let me know if you would like a copy of the single-file source code for creating your own copy of the pack in the web-editor. Otherwise, you can clone the repository and follow the guide here: Pack Studio: Beta to create a pack and upload the code. Here’s a link to the repository on GitHub:

In any case, you will need client credentials to authenticate with the Google APIs. You can create your own by following the steps on this page Using OAuth 2.0 for Web Server Applications | Google Identity | Google Developers . You will need to create a project in the Google Cloud console. Include the tasks and tasks.readonly scopes in the credentials you create. Then, copy the ID and secret from the Google Cloud console and set the pack’s credentials by following this guide: Authentication - Coda Pack SDK .


The Google Tasks service and API is more complex than the subset of Google Calendar that the Google Calendar Notifications pack (Google Calendar Notifications: A pack to set and check notifications for Google Calendar events) interacted with, so I will be rolling out additional functionality in stages. Currently the pack supports reading task lists, and reading, updating, and deleting tasks. The Tasks Formula also supports filtering the tasks by various properties passed as arguments.

The subsequent stages listed below will likely only be implemented once Coda announces that the Pack Editor is moving out of beta (i.e. once packs can be published). Let me know if there is a feature that was not listed or that you would prefer be implemented sooner.

Stage II:

  • enable toggling the status of tasks between “needsAction” or “completed” with Actions

Stage III:

  • show task relational information on read Formula results, namely the parent task identifier and position of the task among its sibling tasks
  • enable moving a task vertically under a different parent or to the top level, and horizontally to another position among its siblings

The Google Tasks API is currently labelled as experimental, and several features are not yet supported. Most notably, it is currently impossible to set or update the due time of a task (only its date is settable) or the links associated with a task. I omitted these properties from the create and update Actions for now (the due param must be either a date or datetime, and the time portion of the timestamp is discarded), but they are shown in the result of read Formulas.

Once Google decides to implement these features I will integrate them into the pack. You can read more about the due time issue (and vote on the issue tracker!) here: https://issuetracker.google.com/issues/128979662 and here: https://issuetracker.google.com/issues/129591245.

2 Likes

Nice work, congrats! Really great to see folks like you being able to create Packs so quickly. That has always been our hope, and we’ve strived to make the platform easy to use, but it’s another thing to see it in action. I’ve been an on-and-off user of Google Tasks over the years, and I bet a lot of people will find this Pack useful.

1 Like