Googletasks

Learn how to use Googletasks with Composio

Overview

SLUG: GOOGLETASKS

Description

Google Tasks provides a simple to-do list and task management system integrated into Gmail and Google Calendar for quick and easy tracking

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to https://www.googleapis.com/auth/tasks
bearer_token
string

Connecting to Googletasks

Create an auth config

Use the dashboard to create an auth config for the Googletasks toolkit. This allows you to connect multiple Googletasks accounts to Composio for agents to use.

1

Select App

Navigate to Googletasks.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Googletasks Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4googletasks_auth_config_id = "ac_YOUR_GOOGLETASKS_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Googletasks: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, googletasks_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Googletasks toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["GOOGLETASKS"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Clear tasks

Description

Permanently clears all completed tasks from a specified google tasks list; this action is destructive and idempotent.

Action Parameters

tasklist
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a task list

Description

Creates a new task list with the specified title.

Action Parameters

tasklist_title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete task

Description

Deletes a specified task from a given task list in google tasks.

Action Parameters

task_id
stringRequired
tasklist_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete task list

Description

Permanently deletes an existing google task list, identified by `tasklist id`, along with all its tasks; this operation is irreversible.

Action Parameters

tasklist_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Task

Description

Use to retrieve a specific google task if its `task id` and parent `tasklist id` are known.

Action Parameters

task_id
stringRequired
tasklist_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get task list

Description

Retrieves a specific task list from the user's google tasks if the `tasklist id` exists for the authenticated user.

Action Parameters

tasklist_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Insert Task

Description

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.

Action Parameters

completed
string
deleted
boolean
due
string
etag
string
hidden
boolean
id
string
notes
string
status
stringRequired
task_parent
string
task_previous
string
tasklist_id
stringRequired
title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Tasks

Description

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.

Action Parameters

completedMax
string
completedMin
string
dueMax
string
dueMin
string
maxResults
integer
pageToken
string
showCompleted
boolean
showDeleted
boolean
showHidden
boolean
tasklist_id
stringRequired
updatedMin
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List task lists

Description

Fetches the authenticated user's task lists from google tasks; results may be paginated.

Action Parameters

maxResults
integerDefaults to 20
pageToken
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Move Task

Description

Moves the specified task to another position in the destination task list.

Action Parameters

destinationTasklist
string
parent
string
previous
string
task
stringRequired
tasklist
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Patch Task

Description

Partially updates an existing task (identified by `task id`) within a specific google task list (identified by `tasklist id`), modifying only the provided attributes from `taskinput` (e.g., `title`, `notes`, `due` date, `status`) and requiring both the task and list to exist.

Action Parameters

completed
string
deleted
boolean
due
string
etag
string
hidden
boolean
id
string
notes
string
status
stringRequired
task_id
stringRequired
tasklist_id
stringRequired
title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Patch task list

Description

Updates the title of an existing google tasks task list.

Action Parameters

tasklist_id
stringRequired
updated_title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Task

Description

Updates the specified task.

Action Parameters

due
string
notes
string
status
string
task
stringRequired
tasklist
stringRequired
title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Task List

Description

Updates the authenticated user's specified task list.

Action Parameters

tasklist_id
stringRequired
title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired