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
DeleteTask Actions, and retrieving all tasks (optionally filtered) or a specific task using the
Task Formulas. You can also retrieve all task lists or a specific task list using the
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.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.
- enable toggling the status of tasks between “needsAction” or “completed” with Actions
- 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.