Google Tasks
Use Google Tasks from your AI agent through ClawLink — browser login, no API key to paste, no config to edit. Connect Google Tasks once and the agent can read and act on it. Works in any agent that can run shell commands (Claude Code, Cursor, Codex, Cline, and more).
Setup
Run these once — the agent can run them for you:
npx @useclawlink/cli login # opens browser → approve (mints + stores a key)
npx @useclawlink/cli connect google-tasks # opens browser → authorize Google Tasks
No API key to create or paste — login stores the credential at ~/.clawlink/credentials.json.
Using Google Tasks
npx @useclawlink/cli actions google-tasks "<what you want to do>" # find an action
npx @useclawlink/cli describe google-tasks <action-id> # see its inputs (before writes)
npx @useclawlink/cli run google-tasks <action-id> --input '<json>' # execute
Reads first; confirm with the user before any write.
Available actions
| Action | Description |
|---|---|
googletasks_batch_execute |
Executes multiple Google Tasks API operations in a single HTTP batch request and returns structured per-item results. Use this to reduce LLM tool invocations when performing bulk operations like updating many tasks, moving tasks, or deleting multiple items. Note: Each sub-request still counts toward API quota; batching primarily reduces HTTP overhead and tool call count. |
googletasks_clear_tasks |
Permanently and irreversibly clears all completed tasks from a specified Google Tasks list; this action is destructive, idempotent, and cannot be undone. Always require explicit user confirmation before invoking. |
googletasks_create_task_list |
Creates a new task list with the specified title and returns a tasklist_id. Use the returned tasklist_id (not the title) when calling GOOGLETASKS_INSERT_TASK or other task operations. Duplicate titles are permitted by the API, so verify existing lists before creating to avoid unintended duplicates. |
googletasks_delete_task |
Deletes a specified task from a Google Tasks list. Deletion is permanent and irreversible — confirm with the user before executing, and consider GOOGLETASKS_UPDATE_TASK or GOOGLETASKS_MOVE_TASK as non-destructive alternatives. Both tasklist_id and task_id are required parameters. The Google Tasks API does not support deleting tasks by task_id alone — you must specify which task list contains the task. Use 'List Task Lists' to get available list IDs, then 'List Tasks' to find the task_id within that list. |
googletasks_delete_task_list |
Permanently deletes an existing Google Task list, identified by tasklist_id, along with all its tasks; this operation is irreversible. Require explicit user confirmation before calling; do not invoke in read-only or exploratory flows. |
googletasks_get_task |
Retrieve a specific Google Task. REQUIRES both tasklist_id and task_id. Tasks cannot be retrieved by ID alone - you must always specify which task list contains the task. Use this to refresh task details before display or edits rather than relying on potentially stale results from GOOGLETASKS_LIST_TASKS. |
googletasks_get_task_list |
Retrieves a specific task list from the user's Google Tasks if the tasklist_id exists for the authenticated user. |
googletasks_insert_task |
Creates a new task in a given tasklist_id, optionally as a subtask of an existing task_parent or positioned after an existing task_previous sibling, where both task_parent and task_previous must belong to the same tasklist_id if specified. IMPORTANT: Date fields (due, completed) accept various formats like '28 Sep 2025', '11:59 PM, 22 Sep 2025', or ISO format '2025-09-21T15:30:00Z' and will automatically convert them to RFC3339 format required by the API. Not idempotent — repeated calls with identical parameters create duplicate tasks; track returned task IDs to avoid duplication. High-volume inserts may trigger 403 rateLimitExceeded or 429; apply exponential backoff. |
googletasks_list_all_tasks |
Tool to list all tasks across all of the user's task lists with optional filters. Use when the agent needs to see all tasks without knowing which list to query first. Each returned task is annotated with its tasklist_id and tasklist_title for context. |
googletasks_list_task_lists |
Fetches the authenticated user's task lists from Google Tasks; results may be paginated. Response contains task lists under the items key. Multiple lists may share similar names — confirm the correct list by ID before passing to other tools. |
googletasks_list_tasks |
Retrieves tasks from a Google Tasks list; all date/time strings must be RFC3339 UTC, and showCompleted must be true if completedMin or completedMax are specified. Response key for tasks is tasks (not items). No full-text search; filter client-side by title/notes. Results ordered by position, not by date. |
googletasks_move_task |
Moves the specified task to another position in the task list or to a different task list. Use cases: - Reorder tasks within a list (use 'previous' parameter) - Create subtasks by moving a task under a parent (use 'parent' parameter) - Move tasks between different task lists (use 'destinationTasklist' parameter) - Move a subtask back to top-level (omit 'parent' parameter) |
Notes
- No API key for Google Tasks itself — ClawLink holds the OAuth token; the agent only holds your ClawLink credential.
- Not connected yet, or access expired? Re-run
npx @useclawlink/cli connect google-tasks. - The action list above is a snapshot;
npx @useclawlink/cli actions google-tasksis always current.
Resources
- ClawLink: https://claw-link.dev
- Docs: https://docs.claw-link.dev
- CLI: https://www.npmjs.com/package/@useclawlink/cli
Powered by ClawLink — connect 90+ apps to any AI agent.