Integrations / Google Tasks
Google Tasks
Read and manage your Google Tasks lists and to-dos.
6 actions
OAuth 2
2 read3 write1 destructive
Calls tasks.googleapis.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "googletasks" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
https://www.googleapis.com/auth/userinfo.email | See which Google account you connected |
https://www.googleapis.com/auth/tasks | See, create, edit and delete your Google Tasks |
https://www.googleapis.com/auth/tasks.readonly | See your Google Tasks lists and tasks |
Actions
Create taskwritegoogletasks.create_taskCreate a task in a task list, with an optional note and due date (only the date part of the due time is kept).
Needs scope: https://www.googleapis.com/auth/tasks
| Input | Type | Description | |
|---|---|---|---|
tasklist_id | string | Required | Task list ID from list_task_lists (or @default) |
title | string | Required | Task title |
notes | string | Optional | Longer notes |
due | string | Optional | Due date as RFC 3339, e.g. 2026-10-20T00:00:00.000Z |
await setu.execute({
userId: "user_1",
action: "googletasks.create_task",
input: {
"tasklist_id": "<tasklist_id>",
"title": "<title>"
},
});Create task listwritegoogletasks.create_task_listCreate a new Google Tasks list with a title.
Needs scope: https://www.googleapis.com/auth/tasks
| Input | Type | Description | |
|---|---|---|---|
title | string | Required | List title |
await setu.execute({
userId: "user_1",
action: "googletasks.create_task_list",
input: {
"title": "<title>"
},
});Delete taskdestructivegoogletasks.delete_taskPermanently delete a task from a task list.
Needs scope: https://www.googleapis.com/auth/tasks
| Input | Type | Description | |
|---|---|---|---|
tasklist_id | string | Required | Task list ID |
task_id | string | Required | Task ID |
await setu.execute({
userId: "user_1",
action: "googletasks.delete_task",
input: {
"tasklist_id": "<tasklist_id>",
"task_id": "<task_id>"
},
confirm: true,
});List task listsreadgoogletasks.list_task_listsList the user's Google Tasks lists with their IDs and titles.
Needs scope: https://www.googleapis.com/auth/tasks.readonly
No input.
await setu.execute({
userId: "user_1",
action: "googletasks.list_task_lists",
input: {},
});List tasksreadgoogletasks.list_tasksList the tasks in one task list, optionally hiding completed ones or limiting by due date.
Needs scope: https://www.googleapis.com/auth/tasks.readonly
| Input | Type | Description | |
|---|---|---|---|
tasklist_id | string | Required | Task list ID from list_task_lists (or @default) |
show_completed | boolean | Optional | Include completed tasks (default true) |
due_min | string | Optional | Only tasks due on or after this RFC 3339 time |
due_max | string | Optional | Only tasks due before this RFC 3339 time |
max_results | integer | Optional | Tasks to return, up to 100 (default 20) |
await setu.execute({
userId: "user_1",
action: "googletasks.list_tasks",
input: {
"tasklist_id": "<tasklist_id>"
},
});Update taskwritegoogletasks.update_taskChange a task's title, notes, due date or status (set status to completed to tick it off). Only the fields you pass change.
Needs scope: https://www.googleapis.com/auth/tasks
| Input | Type | Description | |
|---|---|---|---|
tasklist_id | string | Required | Task list ID |
task_id | string | Required | Task ID |
title | string | Optional | New title |
notes | string | Optional | New notes |
due | string | Optional | New due date, RFC 3339 |
status | string | Optional | Task status |
await setu.execute({
userId: "user_1",
action: "googletasks.update_task",
input: {
"tasklist_id": "<tasklist_id>",
"task_id": "<task_id>"
},
});