# How to connect Todoist to Grok Bot

```json
{
  "title": "How to connect Todoist to Grok Bot",
  "toolkit": "Todoist",
  "toolkit_slug": "todoist",
  "framework": "Grok Bot",
  "framework_slug": "grok-bot",
  "url": "https://composio.dev/toolkits/todoist/framework/grok-bot",
  "markdown_url": "https://composio.dev/toolkits/todoist/framework/grok-bot.md",
  "updated_at": "2026-08-28T15:35:40.341Z"
}
```

## Introduction

Grok is xAI's assistant, and its bot builder lets you create a personal agent that holds context, runs skills, and connects to the apps you already use through plugins.
This guide explains how to connect Todoist to a Grok bot using Composio Connect, which handles OAuth, token refresh, and reliability so you do not have to. You add Composio as a plugin, authenticate once, then ask your bot to work with Todoist in plain language.

## Also integrate Todoist with

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

## TL;DR

Composio exposes 1,000+ apps to your Grok bot through a single connection, so you get:
- Connect to 1,000+ apps with on-demand tool loading, so you do not fill your context window with unnecessary tool definitions.
- Use programmatic tool calling through a remote workbench, letting the model write its own code to handle complex tool chaining. This reduces back-and-forth for frequent tool calls.
- Handle large tool responses outside the model context to keep conversations lean.

## Connect Todoist to Grok Bot

### Connecting Todoist to Grok Bot
Once Grok Bot is set up, you connect Todoist entirely from its interface, and the whole flow takes under a minute.
### Set up Grok Bot
1. Get access. Grok Bot is included with a paid Cursor plan (Cursor Pro, Pro+, or Ultra) or a Cursor Teams seat. You can also grant usage by linking an individual SuperGrok, SuperGrok Plus, or SuperGrok Heavy subscription to your Cursor account.
2. Download and sign in. Get the Grok Bot desktop app for macOS or Windows from [x.ai/bot](https://x.ai/bot), then sign in with your Cursor account. An iPhone companion app is also available, and your bots sync across devices.
3. Create a bot. Pick a suggested role or define your own, then give it a short name, one primary job, and a short description of how it should work. Focused bots work best, because a clear role gives the bot more useful context over time.
### Connect Todoist
1. Open Plugins
Open the Grok bot you want to connect to Todoist, then click Plugins in the left sidebar to open the plugin marketplace.
2. Search for Composio and add it
Type Composio into the Search plugins box and click Add on the Composio result. It then shows under 1 installed at the top of the marketplace.
3. Open the installed plugin
Go to the Installed section and click the Composio entry. You'll see its connector and skills listed (for example, 1 connector, 2 skills).
4. Authenticate
Click Authenticate. You'll be taken to the Composio consent screen. Review the access it requests and click Authorize. Composio handles the OAuth handshake for you, so you never touch API keys or tokens.
5. Connect your Todoist account
Back in the chat, ask your bot to connect to Todoist or give it any Todoist task.
For example, ask it to:
- "Add a high-priority task for today"
- "Create a new project called 'Team Offsite'"
- "Close all completed tasks from this week"
It will prompt you to authenticate and authorize access.
That's it. Composio's tools are now available in your Grok bot, and your Todoist account is ready to use.

## What is Grok Bot?

Grok is xAI's assistant, available as a chat interface and a bot builder for creating personal agents that run skills and connect to external apps.
With Composio Connect, your Grok bot can securely access apps like Todoist through MCP without you sharing account credentials directly with the agent.

## What is the Todoist MCP server, and what's possible with it?

The Todoist MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Todoist account. It provides structured and secure access to your tasks, projects, and labels, so your agent can create tasks, manage projects, add comments, organize sections, and update your to-do lists on your behalf.
- Task creation and scheduling: Instantly ask your agent to add new tasks with specific details, deadlines, priorities, or even as subtasks within projects or sections.
- Project and workspace management: Let your agent create, organize, or delete projects and workspaces to keep your productivity system tidy and up-to-date.
- Section and label organization: Direct your agent to create, delete, or update sections and labels, helping you structure your tasks and filter lists for better focus.
- Task completion and commenting: Have your agent mark tasks as complete or add helpful comments and notes to specific tasks or projects for seamless collaboration.
- Streamlined cleanup and maintenance: Empower your agent to remove unused projects, labels, or sections, ensuring your Todoist stays clutter-free and organized.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `TODOIST_ADD_WORKSPACE` | Add Workspace | Tool to create a new workspace in Todoist. Use when you need a separate workspace to organize projects. Generates UUID and temp_id automatically. |
| `TODOIST_ARCHIVE_PROJECT2` | Archive Project (API v1) | Tool to archive a project using Todoist API v1. For personal projects, archives it for the initiating user. For workspace projects, archives it for all workspace users. |
| `TODOIST_BULK_CREATE_TASKS` | Bulk Create Tasks | Create many tasks in one request using Todoist's Sync batching. Use when scaffolding projects or creating multiple tasks at once to reduce round trips. |
| `TODOIST_CLOSE_TASK_V1` | Close Task (API v1) | Tool to close (complete) a task in Todoist using API v1. Use when you need to mark a task as complete using the v1 endpoint. |
| `TODOIST_CREATE_COMMENT_V1` | Create Comment (API v1) | Tool to create a new comment on a project or task using Todoist API v1. Use when you need to add a note to a specific task or project. IMPORTANT: You must provide EXACTLY ONE of task_id or project_id - these parameters are mutually exclusive. - To comment on a task, provide task_id (and omit project_id) - To comment on a project, provide project_id (and omit task_id) - Providing both task_id AND project_id will cause an error. |
| `TODOIST_CREATE_LABEL_V1` | Create Label (API v1) | Tool to create a new personal label using API v1. Use when you need to add a new label to organize tasks. |
| `TODOIST_CREATE_PROJECT2` | Create Project (API v1) | Tool to create a new project in Todoist using the unified API v1. Use when you need to create a new project with specific parameters like name, color, or parent project. |
| `TODOIST_CREATE_SECTION_V1` | Create Section (API v1) | Tool to create a new section within a project using API v1. Use when you need to organize tasks under a new heading in a project. |
| `TODOIST_CREATE_TASK` | Create task | Create a new task in Todoist using the unified API v1. This action allows users to create tasks with various parameters including content, due dates, priority, and more. The task can be created in a specific project, section, or as a subtask of another task. Bulk creation may trigger HTTP 429; honor Retry-After response headers. |
| `TODOIST_DELETE_COMMENT` | Delete Comment | Tool to delete a specific comment from Todoist by its ID. Use when you need to permanently remove a comment. |
| `TODOIST_DELETE_LABEL_V1` | Delete Label (V1) | Tool to delete a personal label using API v1. Use when you need to permanently remove a label by its ID. All instances of the label will be removed from tasks. |
| `TODOIST_DELETE_PROJECT2` | Delete Project (API v1) | Tool to delete a project and all of its sections and tasks using Todoist API v1. Use when you need to permanently remove a project by its ID. |
| `TODOIST_DELETE_SECTION2` | Delete Section (v1) | Tool to delete a section and all tasks within it. Use when you need to permanently remove a section by its ID. |
| `TODOIST_DELETE_TASK` | Delete Task | Tool to delete a specific task from Todoist. Permanently removes the task and all its subtasks with no recycle bin or undo option. Confirm with the user before executing, especially for bulk deletions. |
| `TODOIST_DELETE_UPLOAD` | Delete Upload | Tool to delete an uploaded file from Todoist. Use when you need to remove a file that was previously uploaded. |
| `TODOIST_EXPORT_TEMPLATE_AS_FILE` | Export Template As File | Tool to export a Todoist project as a CSV template file. Use when you need to download a project template as a file for backup or sharing. |
| `TODOIST_EXPORT_TEMPLATE_AS_URL` | Export Template As URL | Tool to export a Todoist project as a shareable template URL. Use when you need to share a project structure or create copies from a template. |
| `TODOIST_FILTER_TASKS` | Filter Tasks | Tool to get all tasks matching the filter. Use when you need to retrieve tasks based on specific filter criteria. This is a paginated endpoint using cursor-based pagination. |
| `TODOIST_GET_ALL_COMMENTS` | Get All Comments | This tool retrieves all comments associated with a specific task or project in Todoist. You must provide exactly one of task_id or project_id (they are mutually exclusive - do not provide both). Returns a JSON array of comment objects with details such as id, posted_at, content, and attachment information. |
| `TODOIST_GET_ALL_PROJECTS` | Get all projects | Get all projects from a user's Todoist account. Retrieves all active (non-archived) projects; use TODOIST_LIST_ARCHIVED_WORKSPACE_PROJECTS for archived ones. Response returns the list in the projects field, with fields including project_id, name, color, parent project, sharing status, and is_inbox_project flag. Always reference projects by project_id — names are non-unique and may be localized. Detect the Inbox via is_inbox_project, not by name. Results are a point-in-time snapshot; re-call after structural changes before relying on cached project_ids. In large accounts, paginate until no next-page token remains to avoid missing projects. Check existing projects before creating new ones to prevent duplicates. |
| `TODOIST_GET_ALL_TASKS` | Get All Tasks | Fetches all INCOMPLETE tasks from Todoist and returns their details. Supports cursor-based pagination. IMPORTANT LIMITATIONS: - This endpoint only returns active (incomplete) tasks - Cannot retrieve completed tasks - use a different endpoint for that - Filter queries using 'completed', '!completed', or 'completed after' will fail - Project/label references must use ACTUAL EXISTING names from the user's account - Arbitrary text in filters causes 400 errors - use 'search: keyword' for text search Common use cases: - Get all tasks: no filter - Get today's tasks: filter="today" - Get overdue tasks: filter="overdue" - Get tasks from specific project: filter="#ProjectName" (project must exist) - Get high priority tasks: filter="p1" - Search task content: filter="search: keyword" - Paginate results: use limit and cursor parameters |
| `TODOIST_GET_BACKUPS` | Get Backups | Tool to list all available backup archives for the user. Returns archive metadata only — not live task or project data; do not use as a proxy for active data availability. May return an empty list if no backups exist or backups are not enabled. For completed task history, use /sync/v9/completed/get_all instead. |
| `TODOIST_GET_COMMENT_V1` | Get Comment (V1) | Tool to retrieve a single comment by ID using the v1 API. Use when you need to fetch details of a specific comment. |
| `TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE` | Get Completed Tasks By Completion Date | Tool to retrieve completed tasks within a specified completion date window. Use when you need to fetch historical completed tasks for reporting, audits, or weekly summaries. The API restricts the completion-date range to approximately 3 months between since and until parameters. |
| `TODOIST_GET_ID_MAPPINGS` | Get ID Mappings | Tool to translate IDs between Todoist API v1 and v2. Use when you need to convert IDs between API versions for sections, tasks, comments, reminders, location_reminders, or projects. |
| `TODOIST_GET_PERSONAL_LABEL` | Get Personal Label | Tool to retrieve a personal label by its ID. Use when you need to fetch details about a specific personal label. |
| `TODOIST_GET_PRODUCTIVITY_STATS` | Get Productivity Stats | Tool to retrieve comprehensive productivity statistics for the authenticated user. Use when you need detailed completion data, karma scores, streaks, or goal tracking information for productivity reports and analysis. |
| `TODOIST_GET_PROJECT` | Get Project (API v1) | Tool to retrieve a specific project by its ID using Todoist API v1. Use when you have a project ID and need its metadata before display or update. Verify project_id matches the intended project before destructive operations — similar project names can cause mistakes; use TODOIST_GET_ALL_PROJECTS to resolve ambiguous names to IDs first. |
| `TODOIST_GET_PROJECT_FULL` | Get Full Project Data | Tool to retrieve full project data including all sections, tasks, and collaborators. Use when you need comprehensive project information beyond basic metadata. |
| `TODOIST_GET_PROJECT_PERMISSIONS` | Get Project Permissions | Tool to retrieve all available roles and their associated actions in Todoist projects. Use when you need to understand what permissions different roles have in projects. |
| `TODOIST_GET_SECTION_V1` | Get Section (v1 API) | Tool to retrieve a specific section by its ID using Todoist v1 API. Use when you need section metadata from the v1 endpoint. |
| `TODOIST_GET_SPECIAL_BACKUPS` | Get Special Backups | Tool to list special backup archives for the authenticated user's projects. Returns an empty list if no backups exist — callers must not assume archives are present. Read-only: confirms archive visibility only, not live task or project data access. |
| `TODOIST_GET_TASK2` | Get Task (API v1) | Tool to retrieve a single active (non-completed) task by ID using API v1. Use when you need to fetch task details from the v1 endpoint. |
| `TODOIST_GET_USER` | Get User | Tool to retrieve information about the currently authenticated user. Use when you need user details like email, name, preferences, karma, or subscription status. |
| `TODOIST_GET_WORKSPACE_PLAN_DETAILS` | Get Workspace Plan Details | Tool to retrieve details about a workspace's current plan and usage. Use when you need information about subscription status, member count, project limits, pricing, or trial status for a specific workspace. |
| `TODOIST_IMPORT_TEMPLATE_INTO_PROJECT_BY_ID` | Import Template Into Project By ID | Tool to import a template from Todoist's template gallery into an existing project. Use when you need to add structured tasks and sections from a pre-made template to an existing project. |
| `TODOIST_IMPORT_TEMPLATE_INTO_PROJECT_FROM_FILE` | Import Template Into Project From File | Tool to import a CSV template into an existing Todoist project from a file. Use when you need to bulk-create tasks, sections, and notes from a template file. |
| `TODOIST_INVITE_PROJECT_COLLABORATOR` | Invite Project Collaborator | Tool to invite a collaborator to a Todoist project by email. Use when the user asks to share, invite someone to, or add a collaborator to a project. For workspace or team projects, you can optionally specify a role. If the role is omitted, the workspace default role is used. For invite-only workspace projects, the caller may need admin or owner permissions; otherwise the API may return a forbidden error. |
| `TODOIST_LIST_ACTIVITIES` | List Activities | Tool to get activity logs from Todoist. Returns a paginated list of activity events for the user. Events can be filtered by object type (project, item, note), event type, and other criteria. Uses cursor-based pagination for efficient navigation through results. |
| `TODOIST_LIST_ALL_INVITATIONS_WORKSPACES` | List All Workspace Invitations | Tool to return a list containing details of all pending invitations to a workspace. Use when you need to view all pending workspace invitations. This list is not paginated, and all workspace members can access it. |
| `TODOIST_LIST_ARCHIVED_PROJECTS` | List Archived Projects | Tool to get all archived projects from Todoist. Use when you need to retrieve archived projects with pagination support. |
| `TODOIST_LIST_ARCHIVED_SECTIONS` | List Archived Sections | Tool to retrieve all archived sections for a specific project in Todoist. Use when you need to access sections that have been archived in a project. |
| `TODOIST_LIST_ARCHIVED_WORKSPACE_PROJECTS` | List Archived Workspace Projects | Tool to list all archived projects in a workspace. Archived projects are excluded from TODOIST_GET_ALL_PROJECTS; combine both tools when a complete project list is needed. Use when you need to retrieve archived workspace projects with optional filters or pagination. |
| `TODOIST_LIST_COMPLETED_TASKS` | List Completed Tasks | Tool to retrieve all completed tasks with optional project filtering. Use when you need to fetch completed tasks without date range restrictions. Note: This action uses an undocumented Todoist API endpoint (/api/v1/tasks/completed). The endpoint is not officially documented but is confirmed to work based on runtime testing. The response schemas are based on actual API responses. |
| `TODOIST_LIST_COMPLETED_TASKS_BY_DUE_DATE` | List Completed Tasks By Due Date | Tool to retrieve completed tasks within a specified due date range (up to 6 weeks). Use when you need to fetch completed tasks filtered by their original due dates rather than completion dates. |
| `TODOIST_LIST_FILTERS` | List Filters | Tool to list all filters for the authenticated user. Use when you need to retrieve the current set of custom filters. |
| `TODOIST_LIST_JOINABLE_WORKSPACES` | List Joinable Workspaces | Tool to get workspaces the user can join. Use when you need to discover available workspaces that the authenticated user can join. |
| `TODOIST_LIST_LABELS` | List Labels | Tool to get all user labels with pagination support. Use when you need to retrieve labels from the user's Todoist account. |
| `TODOIST_LIST_PENDING_WORKSPACE_INVITATIONS` | List Pending Workspace Invitations | Tool to list pending invitation emails in a workspace. Use when you need to check which email invites are still pending acceptance in a workspace. |
| `TODOIST_LIST_PROJECT_COLLABORATORS` | List Project Collaborators | Tool to get all collaborators for a given project with cursor-based pagination. Use when you need to retrieve the list of people who have access to a specific project. |
| `TODOIST_LIST_SECTIONS` | List Sections | Tool to get all active sections for the user, with optional filtering by project. Supports cursor-based pagination to handle large result sets. |
| `TODOIST_LIST_SHARED_LABELS` | List Shared Labels | Tool to retrieve shared label names from active tasks with pagination support. Use when you need to list labels across the workspace with optional filtering of personal labels. |
| `TODOIST_LIST_WORKSPACE_ACTIVE_PROJECTS` | List Workspace Active Projects | Tool to list all active workspace projects. Returns active projects that are visible to the user, including those not yet joined. For guest users, only joined workspace projects are returned. |
| `TODOIST_LIST_WORKSPACE_ARCHIVED_PROJECTS` | List Workspace Archived Projects | Tool to get archived projects in a workspace. Use when you need to retrieve a list of archived projects for a specific workspace with optional pagination. |
| `TODOIST_LIST_WORKSPACE_INVITATIONS` | List Workspace Invitations | Tool to list user emails with pending invitations to a workspace. Use when you need to check which email invites are still pending. The list is not paginated and accessible by all workspace members. |
| `TODOIST_LIST_WORKSPACE_USERS` | List Workspace Users | Tool to list users in workspace(s). Use when you need to retrieve workspace members. Returns users from a specific workspace if workspace_id is provided, otherwise returns users from all workspaces the authenticated user is part of. Not accessible by guests. |
| `TODOIST_MOVE_TASK` | Move Task | Tool to move a task to another project, section, or parent task while preserving task identity and metadata. Use when you need to relocate a task without recreating it. |
| `TODOIST_MOVE_TASK_REST_API` | Move Task (REST API) | Tool to move a task to another project, section, or parent task using the REST API. Use when you need to relocate a task while preserving its identity and metadata. |
| `TODOIST_QUICK_ADD_TASK` | Quick Add Task | Tool to add tasks using natural language parsing similar to the official Todoist clients. Use when you want to create a task quickly with natural language that includes dates, projects, labels, priority, and other task attributes in a single text string. |
| `TODOIST_REMOVE_SHARED_LABEL_V1` | Remove Shared Label (API v1) | Tool to remove a shared label from all active tasks using API v1. Use when you need to remove a shared label created by a collaborator from your account. |
| `TODOIST_RENAME_SHARED_LABELS_V1` | Rename Shared Labels (API v1) | Tool to rename a shared label across all active tasks using API v1. Use when you need to change the name of a shared label. |
| `TODOIST_REOPEN_TASK2` | Reopen Task (API v1) | Tool to reopen a completed task in Todoist using API v1. Use when you need to restore a previously completed task. Any ancestor tasks or sections will also be marked as uncomplete and restored from history. |
| `TODOIST_REORDER_TASKS` | Reorder Tasks | Reorder tasks deterministically by updating child_order in bulk via the Sync API item_reorder command. Use when you need to set specific ordering for tasks. |
| `TODOIST_SEARCH_LABELS` | Search Labels | Tool to search user labels by name with case-insensitive matching. Use when you need to find specific labels by name pattern. |
| `TODOIST_SEARCH_PROJECTS` | Search Projects | Search active user projects by name with support for wildcards and pagination. Use when you need to find projects matching a specific name pattern. |
| `TODOIST_SEARCH_SECTIONS` | Search Sections | Tool to search active sections by name, optionally filtered by project. Use when you need to find sections matching a specific name pattern across all projects or within a specific project. Supports pagination for large result sets. |
| `TODOIST_SYNC` | Todoist Sync | Tool to sync data with Todoist server, supporting both read and write operations. This is the central endpoint used by Todoist apps for all data synchronization. Use this action to: - Read multiple resource types in a single request (projects, tasks, labels, etc.) - Perform batch write operations (create/update/delete up to 100 resources at once) - Implement efficient incremental sync using sync tokens - Execute complex multi-step operations in a single atomic request For read-only operations, pass sync_token and resource_types. For write operations, include commands array with the operations to execute. Commands support batching up to 100 operations per request. |
| `TODOIST_UNARCHIVE_PROJECT2` | Unarchive Project (API v1) | Tool to unarchive a previously archived Todoist project using API v1. Use when you need to reactivate an archived project, making it visible again for the initiating user (personal projects) or all workspace users (workspace projects). |
| `TODOIST_UPDATE_COMMENT2` | Update Comment (v1) | Tool to update a comment by ID and return its content via v1 API. Use when you need to modify an existing comment's text using the v1 API endpoint. |
| `TODOIST_UPDATE_LABEL_V1_SECOND` | Update Label (API v1) | Tool to update an existing label using API v1. Use when you need to modify a label's name, color, order, or favorite status. |
| `TODOIST_UPDATE_NOTIFICATION_SETTING` | Update Notification Setting | Tool to update notification settings for the current user. Use when you need to enable or disable notifications for specific event types and channels. |
| `TODOIST_UPDATE_PROJECT2` | Update Project (API v1) | Tool to update a project's properties using Todoist API v1. Use when you need to modify project settings like name, description, favorite status, color, or view style. |
| `TODOIST_UPDATE_SECTION2` | Update Section (v1) | Tool to update an existing section by its ID using Todoist v1 API. Use when you need to rename a section. |
| `TODOIST_UPDATE_TASK` | Update Task | Tool to update an existing task's properties. Cannot change a task's project; to move a task, use TODOIST_CREATE_TASK then TODOIST_DELETE_TASK. Use when you need to modify a task's details after confirming its ID and new values. |
| `TODOIST_UPDATE_WORKSPACE_LOGO` | Update Workspace Logo | Tool to upload an image as the workspace logo or delete the existing logo. Use when you need to set or remove a workspace's branding image. |
| `TODOIST_UPLOAD_FILE` | Upload File | Tool to upload a file to Todoist. Use when you need to attach files to tasks or projects. The uploaded file can be later attached to comments or tasks using the returned file_url. |

## Supported Triggers

| Trigger slug | Name | Description |
|---|---|---|
| `TODOIST_NEW_TASK_CREATED` | New Task Created | Trigger when a new task is added to Todoist. |

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, your Grok bot can access the Todoist MCP server through Composio to run the actions you authorize, using plain language in the chat.

## Complete Code

None listed.

## Conclusion

### Way Forward
Now that Todoist is connected, extend your setup by connecting the other apps you already use every day, so your Grok bot can run true cross-app workflows end to end.
- Connect Calendar to turn threads into scheduled meetings automatically.
- Connect Slack or Teams to post summaries, approvals, and alerts where your team works.
- Connect Notion, Linear, Jira, or Asana to convert requests into tickets, tasks, and docs.
- Connect Drive, Dropbox, or OneDrive to fetch, file, and share attachments without manual steps.
Start with one workflow you do repeatedly, then keep adding apps as you find new handoffs. With everything behind a single connection, your bot can coordinate multiple tools safely and reliably in one conversation.

## How to build Todoist MCP Agent with another framework

- [ChatGPT Work](https://composio.dev/toolkits/todoist/framework/chatgpt)
- [Antigravity](https://composio.dev/toolkits/todoist/framework/antigravity)
- [OpenAI Agents SDK](https://composio.dev/toolkits/todoist/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/todoist/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/todoist/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/todoist/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/todoist/framework/codex)
- [Kimi Code](https://composio.dev/toolkits/todoist/framework/kimi)
- [Grok Build](https://composio.dev/toolkits/todoist/framework/grok-build)
- [Cursor](https://composio.dev/toolkits/todoist/framework/cursor)
- [VS Code](https://composio.dev/toolkits/todoist/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/todoist/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/todoist/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/todoist/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/todoist/framework/cli)
- [Google ADK](https://composio.dev/toolkits/todoist/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/todoist/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/todoist/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/todoist/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/todoist/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/todoist/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/todoist/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/todoist/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.
- [Google Tasks](https://composio.dev/toolkits/googletasks) - 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.
- [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.
- [Amazing Marvin](https://composio.dev/toolkits/amazing_marvin) - Amazing Marvin is a personal productivity app for tasks, projects, habits, planning, time tracking, and rewards. It helps you build a flexible workflow that matches how you actually work.
- [AnyDB](https://composio.dev/toolkits/any_db) - AnyDB is a flexible collaborative database platform for organizing records, files, and automated workflows. It helps teams centralize data, collaborate on records, and automate routine tasks.
- [ApptiveGrid](https://composio.dev/toolkits/apptivegrid) - ApptiveGrid is a collaborative no-code database and app platform for spaces, grids, forms, and structured records. It helps teams organize operational data, collect inputs, and build lightweight business apps without custom backend work.
- [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.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Todoist MCP?

With a standalone Todoist MCP server, the agents and LLMs can only access a fixed set of Todoist tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Todoist and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Grok Bot?

Yes, you can. Grok Bot fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Todoist tools.

### Can I manage the permissions and scopes for Todoist while using Tool Router?

Yes, absolutely. You can configure which Todoist scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Todoist data and credentials are handled as safely as possible.

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