Skip to content
Scalekit Docs

Google Tasks

scalekit12 toolsOAuth 2.0ProductivityProject Management

Google Tasks is Google's task management service for creating and organizing to-do items and task lists, synced across Gmail, Calendar, and mobile devices.

Google Tasks connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Google Tasks credentials with Scalekit so it handles the OAuth flow and token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the Google Tasks connector so Scalekit handles the OAuth flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

    1. Set up auth redirects

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Google Tasks and click Create. Click Use your own credentials and copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

      • Navigate to Google Cloud ConsoleAPIs & ServicesCredentials.

        Google Cloud Console Credentials page listing API keys, OAuth 2.0 client IDs, and service accounts

      • Click + Create Credentials, then OAuth client ID.

        Create credentials menu showing API key, OAuth client ID, and Service account options

      • Choose Web application from the Application type menu and give the client a name, for example Agent Auth.

        Application type dropdown with Web application, Android, Chrome Extension, iOS, TVs, and Desktop app options

      • Under Authorized redirect URIs, click + Add URI, paste the redirect URI you copied from Scalekit, and click Create.

        Create OAuth client ID form with Web application type and Authorized redirect URIs section

    2. Enable the Google Tasks API

      • In Google Cloud Console, go to APIs & ServicesLibrary. Search for “Google Tasks API” and click Enable.

        Google Tasks API product page showing the Enable button and API Enabled status

    3. Get client credentials

      • Open the OAuth client you created in step 1. Google shows the Client ID under Additional information, and lets you generate a Client secret from the same page.

        OAuth client detail page showing Client ID and Authorized redirect URIs

    4. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.
      • Copy the Connection name shown on that connection and use that exact value in your code as connection_name or connectionName.
      • Enter your credentials:
      • Click Save.
  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'googletasks'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Google Tasks:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'googletasks_list_tasklists',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Update tasklist, task — Update the title of an existing task list in a connected Google Tasks account
  • Task move — Move a task to another position in a connected Google Tasks account: reorder it among siblings, nest it under a new parent, move it to the top level, or move it to a different task list
  • List tasks, tasklists — List tasks in a task list from a connected Google Tasks account, with filters for completion, due date, and visibility of hidden/deleted items
  • Get tasklist, task — Get the details of a single task list by ID from a connected Google Tasks account
  • Delete tasklist, task — Delete a task list and all tasks it contains from a connected Google Tasks account
  • Create tasklist, task — Create a new task list for the authenticated user in a connected Google Tasks account

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

googletasks_clear_completed_tasks#Clear all completed tasks from a task list in a connected Google Tasks account. The affected tasks are marked hidden and no longer returned by default when listing tasks. Use clear_completed_tasks to tidy up a list after finishing items. Use list_tasks with show_completed and show_hidden set to true to review cleared tasks first.3 params

Clear all completed tasks from a task list in a connected Google Tasks account. The affected tasks are marked hidden and no longer returned by default when listing tasks. Use clear_completed_tasks to tidy up a list after finishing items. Use list_tasks with show_completed and show_hidden set to true to review cleared tasks first.

NameTypeRequiredDescription
tasklist_idstringrequiredIdentifier of the task list to clear completed tasks from
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googletasks_create_task#Create a new task in a task list of a connected Google Tasks account, optionally as a subtask of another task or positioned after a sibling. Returns the created task with its assigned id and position. Use create_task to add a to-do item. Use move_task afterward to reposition or nest it.9 params

Create a new task in a task list of a connected Google Tasks account, optionally as a subtask of another task or positioned after a sibling. Returns the created task with its assigned id and position. Use create_task to add a to-do item. Use move_task afterward to reposition or nest it.

NameTypeRequiredDescription
tasklist_idstringrequiredIdentifier of the task list to create the task in
titlestringrequiredTitle of the task. Maximum length allowed: 1024 characters
duestringoptionalScheduled date for the task (RFC 3339 timestamp). Only the date portion is recorded; time is discarded
notesstringoptionalNotes describing the task. Maximum length allowed: 8192 characters
parent_task_idstringoptionalParent task identifier. If set, the new task is created as a subtask under this task. Omit to create it at the top level
previous_task_idstringoptionalIdentifier of the sibling task that should immediately precede the new task. Omit to create it at the first position among its siblings
schema_versionstringoptionalOptional schema version to use for tool execution
statusstringoptionalStatus of the task
tool_versionstringoptionalOptional tool version to use for execution
googletasks_create_tasklist#Create a new task list for the authenticated user in a connected Google Tasks account. Returns the created list's id, title, etag, and last-updated time. Use create_tasklist to start a new list before adding tasks to it with create_task.3 params

Create a new task list for the authenticated user in a connected Google Tasks account. Returns the created list's id, title, etag, and last-updated time. Use create_tasklist to start a new list before adding tasks to it with create_task.

NameTypeRequiredDescription
titlestringrequiredTitle of the new task list. Maximum length allowed: 1024 characters.
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googletasks_delete_task#Delete a task from a task list in a connected Google Tasks account. If the task is assigned, both the assigned task and the original task (in Docs, Chat Spaces) are deleted. This cannot be undone. Use delete_task to permanently remove a task. Use clear_completed_tasks instead to hide all completed tasks in a list at once.4 params

Delete a task from a task list in a connected Google Tasks account. If the task is assigned, both the assigned task and the original task (in Docs, Chat Spaces) are deleted. This cannot be undone. Use delete_task to permanently remove a task. Use clear_completed_tasks instead to hide all completed tasks in a list at once.

NameTypeRequiredDescription
task_idstringrequiredIdentifier of the task to delete
tasklist_idstringrequiredIdentifier of the task list the task belongs to
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googletasks_delete_tasklist#Delete a task list and all tasks it contains from a connected Google Tasks account. This cannot be undone. Use delete_tasklist to permanently remove a list. Use delete_task instead to remove a single task without deleting the whole list.3 params

Delete a task list and all tasks it contains from a connected Google Tasks account. This cannot be undone. Use delete_tasklist to permanently remove a list. Use delete_task instead to remove a single task without deleting the whole list.

NameTypeRequiredDescription
tasklist_idstringrequiredIdentifier of the task list to delete
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googletasks_get_task#Get a single task by ID from a task list in a connected Google Tasks account. Returns the task's full details including title, notes, status, due date, completion date, and position. Use get_task to look up one task. Use list_tasks to browse all tasks in a list.4 params

Get a single task by ID from a task list in a connected Google Tasks account. Returns the task's full details including title, notes, status, due date, completion date, and position. Use get_task to look up one task. Use list_tasks to browse all tasks in a list.

NameTypeRequiredDescription
task_idstringrequiredIdentifier of the task to retrieve
tasklist_idstringrequiredIdentifier of the task list the task belongs to
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googletasks_get_tasklist#Get the details of a single task list by ID from a connected Google Tasks account. Returns the list's id, title, etag, and last-updated time. Use get_tasklist to look up one list. Use list_tasklists to browse all lists and find the ID.3 params

Get the details of a single task list by ID from a connected Google Tasks account. Returns the list's id, title, etag, and last-updated time. Use get_tasklist to look up one list. Use list_tasklists to browse all lists and find the ID.

NameTypeRequiredDescription
tasklist_idstringrequiredIdentifier of the task list to retrieve
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googletasks_list_tasklists#List all of the authenticated user's task lists in a connected Google Tasks account. Returns each list's id, title, and last-updated time, with pagination via a page token. Use list_tasklists to browse or find a task list ID before working with its tasks. Use get_tasklist to fetch a single list's details.4 params

List all of the authenticated user's task lists in a connected Google Tasks account. Returns each list's id, title, and last-updated time, with pagination via a page token. Use list_tasklists to browse or find a task list ID before working with its tasks. Use get_tasklist to fetch a single list's details.

NameTypeRequiredDescription
max_resultsintegeroptionalMaximum number of task lists to return on one page (max 1000)
page_tokenstringoptionalToken identifying the result page to return, from a previous response's next_page_token
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googletasks_list_tasks#List tasks in a task list from a connected Google Tasks account, with filters for completion, due date, and visibility of hidden/deleted items. Returns an array of tasks (id, title, status, notes, due date, position) with pagination via a page token. Use list_tasks to browse a list's tasks. Use get_task to fetch a single task by ID.14 params

List tasks in a task list from a connected Google Tasks account, with filters for completion, due date, and visibility of hidden/deleted items. Returns an array of tasks (id, title, status, notes, due date, position) with pagination via a page token. Use list_tasks to browse a list's tasks. Use get_task to fetch a single task by ID.

NameTypeRequiredDescription
tasklist_idstringrequiredIdentifier of the task list to list tasks from
completed_maxstringoptionalUpper bound (RFC 3339 timestamp) for a task's completion date, to filter tasks completed before this time
completed_minstringoptionalLower bound (RFC 3339 timestamp) for a task's completion date, to filter tasks completed after this time
due_maxstringoptionalUpper bound (RFC 3339 timestamp) for a task's due date, to filter by due date
due_minstringoptionalLower bound (RFC 3339 timestamp) for a task's due date, to filter by due date
max_resultsintegeroptionalMaximum number of tasks to return on one page (max 100)
page_tokenstringoptionalToken identifying the result page to return, from a previous response's next_page_token
schema_versionstringoptionalOptional schema version to use for tool execution
show_assignedbooleanoptionalWhether tasks assigned to the current user (from Docs, Chat Spaces) are returned in the result
show_completedbooleanoptionalWhether completed tasks are returned in the result. show_hidden must also be true to show tasks completed in first-party clients such as the web UI
show_deletedbooleanoptionalWhether deleted tasks are returned in the result
show_hiddenbooleanoptionalWhether hidden tasks are returned in the result
tool_versionstringoptionalOptional tool version to use for execution
updated_minstringoptionalLower bound (RFC 3339 timestamp) for a task's last modification time, to filter by last modification time
googletasks_move_task#Move a task to another position in a connected Google Tasks account: reorder it among siblings, nest it under a new parent, move it to the top level, or move it to a different task list. Returns the moved task with its updated position and parent. Use move_task to reorganize tasks. Use update_task instead to change task content like title or notes.7 params

Move a task to another position in a connected Google Tasks account: reorder it among siblings, nest it under a new parent, move it to the top level, or move it to a different task list. Returns the moved task with its updated position and parent. Use move_task to reorganize tasks. Use update_task instead to change task content like title or notes.

NameTypeRequiredDescription
task_idstringrequiredIdentifier of the task to move
tasklist_idstringrequiredIdentifier of the task list the task currently belongs to
destination_tasklist_idstringoptionalDestination task list identifier. If set, the task is moved from tasklist_id to this list. Otherwise the task is moved within its current list. Recurrent tasks cannot currently be moved between lists
parent_task_idstringoptionalNew parent task identifier. If the task is moved to the top level, omit this parameter. The parent task must exist in the task list and cannot be hidden
previous_task_idstringoptionalNew previous sibling task identifier. If the task is moved to the first position among its siblings, omit this parameter. The sibling must exist in the task list and cannot be hidden
schema_versionstringoptionalOptional schema version to use for tool execution
tool_versionstringoptionalOptional tool version to use for execution
googletasks_update_task#Update fields of an existing task in a connected Google Tasks account, such as title, notes, status, or due date. Only fields you provide are changed. Returns the updated task, including its title, notes, status, due date, and completion date. Use update_task to edit task content or mark it complete. Use move_task instead to change its position or parent.9 params

Update fields of an existing task in a connected Google Tasks account, such as title, notes, status, or due date. Only fields you provide are changed. Returns the updated task, including its title, notes, status, due date, and completion date. Use update_task to edit task content or mark it complete. Use move_task instead to change its position or parent.

NameTypeRequiredDescription
task_idstringrequiredIdentifier of the task to update
tasklist_idstringrequiredIdentifier of the task list the task belongs to
completedstringoptionalCompletion date of the task (RFC 3339 timestamp). Normally set automatically when status is changed to completed; set explicitly to backdate completion
duestringoptionalScheduled date for the task (RFC 3339 timestamp). Only the date portion is recorded; time is discarded
notesstringoptionalNotes describing the task. Maximum length allowed: 8192 characters
schema_versionstringoptionalOptional schema version to use for tool execution
statusstringoptionalStatus of the task
titlestringoptionalNew title for the task. Maximum length allowed: 1024 characters
tool_versionstringoptionalOptional tool version to use for execution
googletasks_update_tasklist#Update the title of an existing task list in a connected Google Tasks account. Only fields you provide are changed. Returns the updated list's id, title, etag, and last-updated time. Use update_tasklist to rename a list. Use delete_tasklist to remove one entirely.4 params

Update the title of an existing task list in a connected Google Tasks account. Only fields you provide are changed. Returns the updated list's id, title, etag, and last-updated time. Use update_tasklist to rename a list. Use delete_tasklist to remove one entirely.

NameTypeRequiredDescription
tasklist_idstringrequiredIdentifier of the task list to update
schema_versionstringoptionalOptional schema version to use for tool execution
titlestringoptionalNew title for the task list. Maximum length allowed: 1024 characters.
tool_versionstringoptionalOptional tool version to use for execution