All integrations

Google Tasks

GOOGLE WORKSPACE · TASKS

Add, complete, and reschedule tasks on their own lists.

Connect Google Tasks with Fabriq Developer

Your user consents at Google Tasks. The credential lands in a vault your agent cannot read, and the tool list it gets back is the intersection of that user’s grant and the agent’s own scopes.

provider “tasks”
from af_sdk import AgenticFabriq

af = AgenticFabriq()                      # reads AF_APP_ID / AF_APP_SECRET

url = await af.initiate_connection(request, provider="tasks")   # consent at Google Tasks
return redirect(url)

async with await af.for_user(request) as session:
    tools = await session.get_tools()     # only what this user granted

Provider names are surfaces, not vendors, and the authoritative list is the capabilities endpoint rather than any page including this one — an unknown name returns 400 with the valid list. Fabriq Developer is free to start and needs no provider paperwork. Start free or read the quickstart.

Connecting Google Tasks in practice

The only quota Google publishes for the Tasks API is a courtesy limit of 50,000 queries a day, with no per-minute figure to design a backoff against, and tasks.list returns 20 tasks by default and 100 at most. It also hides most of a real to-do list by default: completed, deleted and assigned tasks are all excluded unless you ask for each of them.

Scopes that draw scrutiny

  • https://www.googleapis.com/auth/tasks "Create, edit, organize, and delete all your tasks." There is no per-list or per-task narrowing, so an agent that files one task holds the whole account.
  • https://www.googleapis.com/auth/tasks.readonly "View your tasks." The narrowest grant the API offers, and still every list the user owns.

Rate limits

  • 50,000 queries per day, which Google calls a courtesy limit.
  • tasks.list: maxResults defaults to 20 and is capped at 100.
  • Titles are capped at 1,024 characters and notes at 8,192.
  • A higher quota is requested in the Cloud console Quotas and System Limits page, and Google says that "Applying for an adjusted quota doesn’t guarantee approval".

Who has to approve

A Google Workspace admin sets each app to Trusted, Limited, Specific Google data, or Blocked, and a connection attempt against an unconfigured app can be routed into the Apps pending review list instead of succeeding. Tasks is not one of the three services (Gmail, Drive and Docs, Chat) with a predefined high-risk scope list an admin can restrict on its own.

Worth knowing

  • showDeleted, showHidden and showAssigned all default to false, and tasks assigned from Google Docs or a Chat space are excluded unless showAssigned is set, so a naive list looks emptier than the user’s app.
  • Surfacing tasks the user completed in the Google Tasks app needs showCompleted and showHidden true together; either one alone returns nothing.
  • parent, position and hidden are read-only, so re-parenting or reordering a task is the move method, not a patch on the task.
  • Tasks assigned from Google Docs cannot hold notes at all, and tasks.delete on an assigned task deletes the original source task in Docs or Chat along with it.

Checked against Google Tasks API usage limits (2026-09-29), Configure the OAuth consent screen and choose scopes (2026-09-29), tasks.list reference (2026-09-29), Task resource reference (2026-09-29)

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

google_tasks_complete_taskWRITE

Mark a task as completed. IMPORTANT: You must first call google_tasks_list_tasks to get the task_id.

tasks
google_tasks_create_taskWRITE

Create a new task in Google Tasks. Returns the created task ID. Pass tasklist_id from google_tasks_list to target a specific list — otherwise defaults to '@default'.

tasks
google_tasks_create_tasklistWRITE

Create a new task list. Returns the new task list's ID.

tasks
google_tasks_delete_taskWRITE

Delete a task. WARNING: This cannot be undone. IMPORTANT: You must first call google_tasks_list_tasks to get the task_id.

tasks
google_tasks_delete_tasklistWRITE

Delete a task list and all its tasks. WARNING: This cannot be undone. IMPORTANT: You must first call google_tasks_list to get the tasklist_id.

tasks
google_tasks_get_taskREAD

Get details for a specific task. IMPORTANT: You must first call google_tasks_list_tasks to get the task_id.

tasks.readonly
google_tasks_listREAD

List all task lists (not individual tasks). Returns task list IDs and names.

tasks.readonly
google_tasks_list_tasksREAD

List tasks within a specific task list. IMPORTANT: You must first call google_tasks_list to get the tasklist_id.

tasks.readonly
google_tasks_update_taskWRITE

Update a task's details (title, notes, due date). IMPORTANT: You must first call google_tasks_list_tasks to get the task_id.

tasks

Put Google Tasks behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.