# Google Tasks

```json
{
  "name": "Google Tasks",
  "slug": "googletasks",
  "url": "https://composio.dev/toolkits/googletasks",
  "markdown_url": "https://composio.dev/toolkits/googletasks.md",
  "logo_url": "https://logos.composio.dev/api/googletasks",
  "categories": [
    "productivity & project management"
  ],
  "is_composio_managed": true,
  "updated_at": "2026-05-06T08:14:35.383Z"
}
```

![Google Tasks logo](https://logos.composio.dev/api/googletasks)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Google Tasks MCP or direct API to read, create, update, and organize your to-dos through natural language.

## Summary

Google Tasks is a to-do list and task management tool integrated into Gmail and Google Calendar. It helps you organize, track, and complete tasks across your Google ecosystem.

## Categories

- productivity & project management

## Toolkit Details

- Tools: 14
- Triggers: 5
- Managed auth: Managed by Composio

## Images

- Logo: https://logos.composio.dev/api/googletasks

## Authentication

- **Oauth2**
  - Type: `oauth2`
  - Description: Oauth2 authentication for Google Tasks.
  - Setup:
    - Configure Oauth2 credentials for Google Tasks.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Add a new task to my work list
- List all tasks due this week
- Delete completed tasks from my shopping list
- Move an urgent task to the top of my personal list

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `GOOGLETASKS_CLEAR_TASKS` | Clear tasks | Permanently clears all completed tasks from a specified google tasks list; this action is destructive and idempotent. |
| `GOOGLETASKS_CREATE_TASK_LIST` | Create a task list | Creates a new task list with the specified title. |
| `GOOGLETASKS_DELETE_TASK` | Delete task | Deletes a specified task from a given task list in google tasks. |
| `GOOGLETASKS_DELETE_TASK_LIST` | Delete task list | Permanently deletes an existing google task list, identified by `tasklist id`, along with all its tasks; this operation is irreversible. |
| `GOOGLETASKS_GET_TASK` | Get Task | Use to retrieve a specific google task if its `task id` and parent `tasklist id` are known. |
| `GOOGLETASKS_GET_TASK_LIST` | 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` | 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. |
| `GOOGLETASKS_LIST_TASK_LISTS` | List task lists | Fetches the authenticated user's task lists from google tasks; results may be paginated. |
| `GOOGLETASKS_LIST_TASKS` | 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. |
| `GOOGLETASKS_MOVE_TASK` | Move Task | Moves the specified task to another position in the destination task list. |
| `GOOGLETASKS_PATCH_TASK` | Patch Task | 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. |
| `GOOGLETASKS_PATCH_TASK_LIST` | Patch task list | Updates the title of an existing google tasks task list. |
| `GOOGLETASKS_UPDATE_TASK` | Update Task | Updates the specified task. |
| `GOOGLETASKS_UPDATE_TASK_LIST` | Update Task List | Updates the authenticated user's specified task list. |

## Supported Triggers

| Trigger slug | Name | Description |
|---|---|---|
| `GOOGLETASKS_NEW_TASK_CREATED_TRIGGER` | New Task Created | Triggers when a new task is created in a Google Tasks list. Uses timestamp filtering (updatedMin) to efficiently detect new tasks. |
| `GOOGLETASKS_NEW_TASK_LIST_CREATED_TRIGGER` | New Task List Created | Triggers when a new Google Tasks task list is created. This trigger monitors Google Tasks and fires when new task lists are detected. |
| `GOOGLETASKS_TASK_DETAILS_CHANGED_TRIGGER` | Task Details Changed | Triggers when a specific task's details change. This trigger monitors a single Google Task and fires when any of its details (title, notes, status, due date, completion, position) are modified. |
| `GOOGLETASKS_TASK_LIST_CHANGED_TRIGGER` | Task List Changed | Triggers when a task list changes (title or content updates). This trigger monitors a specific Google Tasks list and fires when changes are detected. |
| `GOOGLETASKS_TASK_UPDATED_TRIGGER` | Task Updated | Triggers when an existing task is updated in a Google Tasks list. This trigger monitors a specific task list and fires when tasks are modified. |

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Google Tasks Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Google Tasks actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Show all incomplete tasks due this week in my "Work" list'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Show all incomplete tasks due this week in my "Work" list'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and Claude Agent SDK
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Create Tool Router Session

Initialize the Composio client and create a Tool Router session
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Google Tasks tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('List all incomplete tasks in my default task list')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'List all incomplete tasks in my default task list' }],
  stopWhen: stepCountIs( 5 )
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Google Tasks Integration

- Supports both Google Tasks MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Google Tasks data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Google Tasks access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Google Tasks
- Scoped, least privilege access to Google Tasks resources
- Full audit trail of agent actions to support review and compliance

## Use Google Tasks with any AI Agent Framework

Choose a framework you want to connect Google Tasks with:

- [ChatGPT](https://composio.dev/toolkits/googletasks/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/googletasks/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/googletasks/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/googletasks/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/googletasks/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/googletasks/framework/codex)
- [Cursor](https://composio.dev/toolkits/googletasks/framework/cursor)
- [VS Code](https://composio.dev/toolkits/googletasks/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/googletasks/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/googletasks/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/googletasks/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/googletasks/framework/cli)
- [Google ADK](https://composio.dev/toolkits/googletasks/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/googletasks/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/googletasks/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/googletasks/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/googletasks/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/googletasks/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/googletasks/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/googletasks/framework/autogen)

## Related Toolkits

- [Google Sheets](https://composio.dev/toolkits/googlesheets) - Google Sheets is a cloud-based spreadsheet tool for real-time collaboration and data analysis. It lets teams work together from anywhere, updating information instantly.
- [Notion](https://composio.dev/toolkits/notion) - Notion is a collaborative workspace for notes, docs, wikis, and tasks. It streamlines team knowledge, project tracking, and workflow customization in one place.
- [Airtable](https://composio.dev/toolkits/airtable) - Airtable combines the flexibility of spreadsheets with the power of a database for easy project and data management. Teams use Airtable to organize, track, and collaborate with custom views and automations.
- [Asana](https://composio.dev/toolkits/asana) - Asana is a collaborative work management platform for teams to organize and track projects. It streamlines teamwork, boosts productivity, and keeps everyone aligned on goals.
- [Linear](https://composio.dev/toolkits/linear) - Linear is a modern issue tracking and project planning tool for fast-moving teams. It helps streamline workflows, organize projects, and boost productivity.
- [Jira](https://composio.dev/toolkits/jira) - Jira is Atlassian’s platform for bug tracking, issue tracking, and agile project management. It helps teams organize work, prioritize tasks, and deliver projects efficiently.
- [Clickup](https://composio.dev/toolkits/clickup) - ClickUp is an all-in-one productivity platform for managing tasks, docs, goals, and team collaboration. It streamlines project workflows so teams can work smarter and stay organized in one place.
- [Monday](https://composio.dev/toolkits/monday) - Monday.com is a customizable work management platform for project planning and collaboration. It helps teams organize tasks, automate workflows, and track progress in real time.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agiled](https://composio.dev/toolkits/agiled) - Agiled is an all-in-one business management platform for CRM, projects, and finance. It helps you streamline workflows, consolidate client data, and manage business processes in one place.
- [Ascora](https://composio.dev/toolkits/ascora) - Ascora is a cloud-based field service management platform for service businesses. It streamlines scheduling, invoicing, and customer operations in one place.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Beeminder](https://composio.dev/toolkits/beeminder) - Beeminder is an online goal-tracking platform that uses monetary pledges to keep you motivated. Stay accountable and hit your targets with real financial incentives.
- [Boxhero](https://composio.dev/toolkits/boxhero) - Boxhero is a cloud-based inventory management platform for SMBs, offering real-time updates, barcode scanning, and team collaboration. It helps businesses streamline stock tracking and analytics for smarter inventory decisions.
- [Breathe HR](https://composio.dev/toolkits/breathehr) - Breathe HR is cloud-based HR software for SMEs to manage employee data, absences, and performance. It simplifies HR admin, making it easy to keep employee records accurate and up to date.
- [Breeze](https://composio.dev/toolkits/breeze) - Breeze is a project management platform designed to help teams plan, track, and collaborate on projects. It streamlines workflows and keeps everyone on the same page.
- [Bugherd](https://composio.dev/toolkits/bugherd) - Bugherd is a visual feedback and bug tracking tool for websites. It helps teams and clients report website issues directly on live sites for faster fixes.
- [Canny](https://composio.dev/toolkits/canny) - Canny is a platform for managing customer feedback and feature requests. It helps teams prioritize product decisions based on real user insights.
- [Chmeetings](https://composio.dev/toolkits/chmeetings) - Chmeetings is a church management platform for events, members, donations, and volunteers. It streamlines church operations and improves community engagement.
- [ClickSend](https://composio.dev/toolkits/clicksend) - ClickSend is a cloud-based SMS and email marketing platform for businesses. It streamlines communication by enabling quick message delivery and contact management.

## Frequently Asked Questions

### Do I need my own developer credentials to use Google Tasks with Composio?

No, you can get started immediately using Composio's built-in Google Tasks app. For production, we recommend configuring your own OAuth credentials.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
