> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Tasks Integration for AI Agents & Workflows

> Manage tasks and task lists using the Google Tasks API

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/google-tasks.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=301b2fab81dc506ae011f50b021b19fe" alt="Google Tasks logo" width="72" height="72" data-path="logos/google-tasks.svg" />

## Overview

Add **Google Tasks** to any ModuleX agent or workflow. Manage tasks and task lists using the Google Tasks REST API (`tasks.googleapis.com/tasks/v1`).

<Info>
  **Categories**: Productivity & Collaboration · Task Management · **Auth**: OAuth2 · **Actions**: 8
</Info>

## Authentication

### OAuth2 Authentication

Connect using Google OAuth (recommended)

#### Required Credentials

| Field         | Description                    | Required | Format                                                                     |
| ------------- | ------------------------------ | -------- | -------------------------------------------------------------------------- |
| Client ID     | Google OAuth App Client ID     | Yes      | `xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com` |
| Client Secret | Google OAuth App Client Secret | Yes      | `GOCSPX-xxxxxxxxxxxxxxxxxxxxxxxxxxxx`                                      |

#### OAuth Configuration

* **Authorization URL**: `https://accounts.google.com/o/oauth2/v2/auth`
* **Token URL**: `https://oauth2.googleapis.com/token`
* **Scopes**: `https://www.googleapis.com/auth/tasks`

## Available Actions

<AccordionGroup>
  <Accordion title="create_task — Creates a new task and adds it to the authenticated user's task lists">
    ### Parameters

    <ResponseField name="task_list_id" type="string" required>
      The ID of the task list
    </ResponseField>

    <ResponseField name="title" type="string" required>
      The title of the task
    </ResponseField>

    <ResponseField name="notes" type="string">
      The description of the task
    </ResponseField>

    <ResponseField name="completed" type="boolean" required>
      Mark as true if your task is already completed
    </ResponseField>

    <ResponseField name="due" type="string">
      Due date of the task as an RFC 3339 timestamp (date portion only)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "TaskItem": {
          "additionalProperties": false,
          "description": "A Google Tasks task resource.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "notes": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Notes"
            },
            "status": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Status"
            },
            "due": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Due"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "self_link": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Self Link"
            },
            "etag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Etag"
            },
            "kind": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Kind"
            }
          },
          "title": "TaskItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "task": {
          "anyOf": [
            {
              "$ref": "#/$defs/TaskItem"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateTaskOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_task_list — Creates a new task list and adds it to the authenticated user's task lists">
    ### Parameters

    <ResponseField name="title" type="string" required>
      The title of the task list
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "TaskListItem": {
          "additionalProperties": false,
          "description": "A Google Tasks task list resource.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "self_link": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Self Link"
            },
            "etag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Etag"
            },
            "kind": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Kind"
            }
          },
          "title": "TaskListItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "task_list": {
          "anyOf": [
            {
              "$ref": "#/$defs/TaskListItem"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateTaskListOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_task — Deletes the authenticated user's specified task">
    ### Parameters

    <ResponseField name="task_list_id" type="string" required>
      The ID of the task list
    </ResponseField>

    <ResponseField name="task_id" type="string" required>
      The ID of the task
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteTaskOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_task_list — Deletes the authenticated user's specified task list">
    ### Parameters

    <ResponseField name="task_list_id" type="string" required>
      The ID of the task list
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteTaskListOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_tasks — Returns all tasks in the specified task list">
    ### Parameters

    <ResponseField name="task_list_id" type="string" required>
      The ID of the task list
    </ResponseField>

    <ResponseField name="max_results" type="integer">
      Maximum number of tasks to be fetched (Default: `20`)
    </ResponseField>

    <ResponseField name="show_completed" type="boolean">
      Whether completed tasks are returned in the result
    </ResponseField>

    <ResponseField name="show_deleted" type="boolean">
      Whether deleted tasks are returned in the result
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "TaskItem": {
          "additionalProperties": false,
          "description": "A Google Tasks task resource.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "notes": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Notes"
            },
            "status": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Status"
            },
            "due": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Due"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "self_link": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Self Link"
            },
            "etag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Etag"
            },
            "kind": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Kind"
            }
          },
          "title": "TaskItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "tasks": {
          "items": {
            "$ref": "#/$defs/TaskItem"
          },
          "title": "Tasks",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListTasksOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_task_lists — Lists the authenticated user's task lists">
    ### Parameters

    <ResponseField name="max_results" type="integer">
      Maximum number of task lists to be fetched (Default: `20`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "TaskListItem": {
          "additionalProperties": false,
          "description": "A Google Tasks task list resource.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "self_link": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Self Link"
            },
            "etag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Etag"
            },
            "kind": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Kind"
            }
          },
          "title": "TaskListItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "task_lists": {
          "items": {
            "$ref": "#/$defs/TaskListItem"
          },
          "title": "Task Lists",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListTaskListsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_task — Updates the authenticated user's specified task">
    ### Parameters

    <ResponseField name="task_list_id" type="string" required>
      The ID of the task list
    </ResponseField>

    <ResponseField name="task_id" type="string" required>
      The ID of the task
    </ResponseField>

    <ResponseField name="title" type="string" required>
      The title of the task
    </ResponseField>

    <ResponseField name="notes" type="string">
      The description of the task
    </ResponseField>

    <ResponseField name="completed" type="boolean">
      Mark as true if your task is already completed
    </ResponseField>

    <ResponseField name="due" type="string">
      Due date of the task as an RFC 3339 timestamp (date portion only)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "TaskItem": {
          "additionalProperties": false,
          "description": "A Google Tasks task resource.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "notes": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Notes"
            },
            "status": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Status"
            },
            "due": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Due"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "self_link": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Self Link"
            },
            "etag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Etag"
            },
            "kind": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Kind"
            }
          },
          "title": "TaskItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "task": {
          "anyOf": [
            {
              "$ref": "#/$defs/TaskItem"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateTaskOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_task_list — Updates the authenticated user's specified task list">
    ### Parameters

    <ResponseField name="task_list_id" type="string" required>
      The ID of the task list
    </ResponseField>

    <ResponseField name="title" type="string" required>
      The title of the task list
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "TaskListItem": {
          "additionalProperties": false,
          "description": "A Google Tasks task list resource.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "self_link": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Self Link"
            },
            "etag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Etag"
            },
            "kind": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Kind"
            }
          },
          "title": "TaskListItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "task_list": {
          "anyOf": [
            {
              "$ref": "#/$defs/TaskListItem"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateTaskListOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* Default quota: 50,000 queries per day per project (Google Cloud project-level).
* Per-user rate limit: \~500 requests per 100 seconds.
* Error model: non-2xx responses and timeouts are caught and returned as `success=False` + `error` rather than raising.

## Related integrations

<CardGroup cols={3}>
  <Card title="Cal.com" href="/integrations/tools/cal-com" />

  <Card title="Canva" href="/integrations/tools/canva" />

  <Card title="ConvertAPI" href="/integrations/tools/convertapi" />
</CardGroup>

## Links

* [Google Tasks](https://tasks.google.com)
