Google Tasks
scalekit12 toolsOAuth 2.0ProductivityProject ManagementGoogle 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
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Set up the connector
Section titled “Set up the connector”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:
-
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 Console → APIs & Services → Credentials.

-
Click + Create Credentials, then OAuth client ID.

-
Choose Web application from the Application type menu and give the client a name, for example
Agent Auth.
-
Under Authorized redirect URIs, click + Add URI, paste the redirect URI you copied from Scalekit, and click Create.

-
-
Enable the Google Tasks API
-
In Google Cloud Console, go to APIs & Services → Library. Search for “Google Tasks API” and click Enable.

-
-
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.

-
-
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_nameorconnectionName. - Enter your credentials:
- Client ID (from above)
- Client Secret (from above)
- Permissions (scopes — see Google API Scopes reference)
- Click Save.
-
-
Authorize and make your first call
Section titled “Authorize and make your first call”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.actionsconst connector = 'googletasks'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 callconst result = await actions.executeTool({connector,identifier,toolName: 'googletasks_list_tasklists',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "googletasks"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Google Tasks:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="googletasks_list_tasklists",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”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
Tool list
Section titled “Tool list”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.
tasklist_idstringrequiredIdentifier of the task list to clear completed tasks fromschema_versionstringoptionalOptional schema version to use for tool executiontool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
tasklist_idstringrequiredIdentifier of the task list to create the task intitlestringrequiredTitle of the task. Maximum length allowed: 1024 charactersduestringoptionalScheduled date for the task (RFC 3339 timestamp). Only the date portion is recorded; time is discardednotesstringoptionalNotes describing the task. Maximum length allowed: 8192 charactersparent_task_idstringoptionalParent task identifier. If set, the new task is created as a subtask under this task. Omit to create it at the top levelprevious_task_idstringoptionalIdentifier of the sibling task that should immediately precede the new task. Omit to create it at the first position among its siblingsschema_versionstringoptionalOptional schema version to use for tool executionstatusstringoptionalStatus of the tasktool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
titlestringrequiredTitle of the new task list. Maximum length allowed: 1024 characters.schema_versionstringoptionalOptional schema version to use for tool executiontool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
task_idstringrequiredIdentifier of the task to deletetasklist_idstringrequiredIdentifier of the task list the task belongs toschema_versionstringoptionalOptional schema version to use for tool executiontool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
tasklist_idstringrequiredIdentifier of the task list to deleteschema_versionstringoptionalOptional schema version to use for tool executiontool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
task_idstringrequiredIdentifier of the task to retrievetasklist_idstringrequiredIdentifier of the task list the task belongs toschema_versionstringoptionalOptional schema version to use for tool executiontool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
tasklist_idstringrequiredIdentifier of the task list to retrieveschema_versionstringoptionalOptional schema version to use for tool executiontool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
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_tokenschema_versionstringoptionalOptional schema version to use for tool executiontool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
tasklist_idstringrequiredIdentifier of the task list to list tasks fromcompleted_maxstringoptionalUpper bound (RFC 3339 timestamp) for a task's completion date, to filter tasks completed before this timecompleted_minstringoptionalLower bound (RFC 3339 timestamp) for a task's completion date, to filter tasks completed after this timedue_maxstringoptionalUpper bound (RFC 3339 timestamp) for a task's due date, to filter by due datedue_minstringoptionalLower bound (RFC 3339 timestamp) for a task's due date, to filter by due datemax_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_tokenschema_versionstringoptionalOptional schema version to use for tool executionshow_assignedbooleanoptionalWhether tasks assigned to the current user (from Docs, Chat Spaces) are returned in the resultshow_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 UIshow_deletedbooleanoptionalWhether deleted tasks are returned in the resultshow_hiddenbooleanoptionalWhether hidden tasks are returned in the resulttool_versionstringoptionalOptional tool version to use for executionupdated_minstringoptionalLower bound (RFC 3339 timestamp) for a task's last modification time, to filter by last modification timegoogletasks_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.
task_idstringrequiredIdentifier of the task to movetasklist_idstringrequiredIdentifier of the task list the task currently belongs todestination_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 listsparent_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 hiddenprevious_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 hiddenschema_versionstringoptionalOptional schema version to use for tool executiontool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
task_idstringrequiredIdentifier of the task to updatetasklist_idstringrequiredIdentifier of the task list the task belongs tocompletedstringoptionalCompletion date of the task (RFC 3339 timestamp). Normally set automatically when status is changed to completed; set explicitly to backdate completionduestringoptionalScheduled date for the task (RFC 3339 timestamp). Only the date portion is recorded; time is discardednotesstringoptionalNotes describing the task. Maximum length allowed: 8192 charactersschema_versionstringoptionalOptional schema version to use for tool executionstatusstringoptionalStatus of the tasktitlestringoptionalNew title for the task. Maximum length allowed: 1024 characterstool_versionstringoptionalOptional tool version to use for executiongoogletasks_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.
tasklist_idstringrequiredIdentifier of the task list to updateschema_versionstringoptionalOptional schema version to use for tool executiontitlestringoptionalNew title for the task list. Maximum length allowed: 1024 characters.tool_versionstringoptionalOptional tool version to use for execution