Todoist CLI for AI Agents

Trusted by
AWS
Glean
Zoom
Airtable

30 min · no commitment · see it on your stack

Todoist logo
CLI logo
divider

Introduction

CLIs are eating MCPs. The industry is converging on the very same idea. MCPs for all their merit can be token hungry, slow, and unreliable for complex tool chaining. However, coding agents have become incredibly good at working with CLIs, and in fact they are far more comfortable working with CLI tools than MCP.

With Composio's Universal CLI, your coding agents can talk to over 1000+ SaaS applications. With Todoist, agents can add a high-priority task for today, create a new project called 'team offsite', close all completed tasks from this week, and more — all without worrying about authentication.

This guide walks you through Composio Universal CLI and explains how you can connect it with coding agents like Claude Code, Codex, OpenCode, etc, for end-to-end Todoist automation.

Also integrate Todoist with

What is Universal CLI and why use it?

The idea behind building the universal CLI is to give agents a single command interface to interact with all your external applications. Here's what you'll get with it:

  • Agent-friendly: Coding agents like Claude Code, Codex, and OpenCode can use CLI tools natively — no MCP setup required.
  • Authentication handled: Connect once via OAuth or API Key, and all CLI commands work with your credentials automatically.
  • Tool discovery: Search, inspect, and execute 20,000+ tools across 1000+ apps from one interface.
  • Trigger support: Use triggers to listen for events across your apps, powered by real-time webhooks or polling under the hood.
  • Type generation: Generate typed schemas for autocomplete and type safety in your projects.

Prerequisites

Install the Composio CLI, authenticate, and initialize your project:

bash
# Install the Composio CLI
curl -fsSL https://composio.dev/install | bash

# Authenticate with Composio
composio login

During login you'll be redirected to sign in page, finish the complete flow and you're all set.

Composio CLI authentication flow

Connecting Todoist to Coding Agents via Universal CLI

Once it is installed, it's essentially done. Claude Code, Codex, OpenCode, OpenClaw, or any other agent will be able to access the CLI. A few steps to give agents access to your apps.

  1. Launch your Coding Agent — Claude Code, Codex, OpenCode, anything you prefer.
  2. Prompt it to "Authenticate with Todoist"
  3. Complete the authentication and authorization flow and your Todoist integration is all set.
  4. Start asking anything you want.

Supported Tools & Triggers

Tools
Triggers
Add WorkspaceTool to create a new workspace in Todoist.
Archive Project (API v1)Tool to archive a project using Todoist API v1.
Bulk Create TasksCreate many tasks in one request using Todoist's Sync batching.
Close Task (API v1)Tool to close (complete) a task in Todoist using API v1.
Create Comment (API v1)Tool to create a new comment on a project or task using Todoist API v1.
Create Label (API v1)Tool to create a new personal label using API v1.
Create Project (API v1)Tool to create a new project in Todoist using the unified API v1.
Create Section (API v1)Tool to create a new section within a project using API v1.
Create taskCreate a new task in Todoist using the unified API v1.
Delete CommentTool to delete a specific comment from Todoist by its ID.
Delete Label (V1)Tool to delete a personal label using API v1.
Delete Project (API v1)Tool to delete a project and all of its sections and tasks using Todoist API v1.
Delete Section (v1)Tool to delete a section and all tasks within it.
Delete TaskTool to delete a specific task from Todoist.
Delete UploadTool to delete an uploaded file from Todoist.
Export Template As FileTool to export a Todoist project as a CSV template file.
Export Template As URLTool to export a Todoist project as a shareable template URL.
Filter TasksTool to get all tasks matching the filter.
Get All CommentsThis tool retrieves all comments associated with a specific task or project in Todoist.
Get all projectsGet all projects from a user's Todoist account.
Get All TasksFetches all INCOMPLETE tasks from Todoist and returns their details.
Get BackupsTool to list all available backup archives for the user.
Get Comment (V1)Tool to retrieve a single comment by ID using the v1 API.
Get Completed Tasks By Completion DateTool to retrieve completed tasks within a specified completion date window.
Get ID MappingsTool to translate IDs between Todoist API v1 and v2.
Get Personal LabelTool to retrieve a personal label by its ID.
Get Productivity StatsTool to retrieve comprehensive productivity statistics for the authenticated user.
Get Project (API v1)Tool to retrieve a specific project by its ID using Todoist API v1.
Get Full Project DataTool to retrieve full project data including all sections, tasks, and collaborators.
Get Project PermissionsTool to retrieve all available roles and their associated actions in Todoist projects.
Get Section (v1 API)Tool to retrieve a specific section by its ID using Todoist v1 API.
Get Special BackupsTool to list special backup archives for the authenticated user's projects.
Get Task (API v1)Tool to retrieve a single active (non-completed) task by ID using API v1.
Get UserTool to retrieve information about the currently authenticated user.
Get Workspace Plan DetailsTool to retrieve details about a workspace's current plan and usage.
Import Template Into Project By IDTool to import a template from Todoist's template gallery into an existing project.
Import Template Into Project From FileTool to import a CSV template into an existing Todoist project from a file.
Invite Project CollaboratorTool to invite a collaborator to a Todoist project by email.
List ActivitiesTool to get activity logs from Todoist.
List All Workspace InvitationsTool to return a list containing details of all pending invitations to a workspace.
List Archived ProjectsTool to get all archived projects from Todoist.
List Archived SectionsTool to retrieve all archived sections for a specific project in Todoist.
List Archived Workspace ProjectsTool to list all archived projects in a workspace.
List Completed TasksTool to retrieve all completed tasks with optional project filtering.
List Completed Tasks By Due DateTool to retrieve completed tasks within a specified due date range (up to 6 weeks).
List FiltersTool to list all filters for the authenticated user.
List Joinable WorkspacesTool to get workspaces the user can join.
List LabelsTool to get all user labels with pagination support.
List Pending Workspace InvitationsTool to list pending invitation emails in a workspace.
List Project CollaboratorsTool to get all collaborators for a given project with cursor-based pagination.
List SectionsTool to get all active sections for the user, with optional filtering by project.
List Shared LabelsTool to retrieve shared label names from active tasks with pagination support.
List Workspace Active ProjectsTool to list all active workspace projects.
List Workspace Archived ProjectsTool to get archived projects in a workspace.
List Workspace InvitationsTool to list user emails with pending invitations to a workspace.
List Workspace UsersTool to list users in workspace(s).
Move TaskTool to move a task to another project, section, or parent task while preserving task identity and metadata.
Move Task (REST API)Tool to move a task to another project, section, or parent task using the REST API.
Quick Add TaskTool to add tasks using natural language parsing similar to the official Todoist clients.
Remove Shared Label (API v1)Tool to remove a shared label from all active tasks using API v1.
Rename Shared Labels (API v1)Tool to rename a shared label across all active tasks using API v1.
Reopen Task (API v1)Tool to reopen a completed task in Todoist using API v1.
Reorder TasksReorder tasks deterministically by updating child_order in bulk via the Sync API item_reorder command.
Search LabelsTool to search user labels by name with case-insensitive matching.
Search ProjectsSearch active user projects by name with support for wildcards and pagination.
Search SectionsTool to search active sections by name, optionally filtered by project.
Todoist SyncTool to sync data with Todoist server, supporting both read and write operations.
Unarchive Project (API v1)Tool to unarchive a previously archived Todoist project using API v1.
Update Comment (v1)Tool to update a comment by ID and return its content via v1 API.
Update Label (API v1)Tool to update an existing label using API v1.
Update Notification SettingTool to update notification settings for the current user.
Update Project (API v1)Tool to update a project's properties using Todoist API v1.
Update Section (v1)Tool to update an existing section by its ID using Todoist v1 API.
Update TaskTool to update an existing task's properties.
Update Workspace LogoTool to upload an image as the workspace logo or delete the existing logo.
Upload FileTool to upload a file to Todoist.

Universal CLI Commands for Todoist

You can also manually execute CLI commands to interact with your Todoist.

Connect your Todoist account

Link your Todoist account and verify the connection:

bash
# Connect your Todoist account (opens OAuth flow)
composio connected-accounts link todoist

# Verify the connection
composio connected-accounts list --toolkits todoist

Discover Todoist tools

Search and inspect available Todoist tools:

bash
# List all available Todoist tools
composio tools list --toolkit todoist

# Search for Todoist tools by action
composio tools search "todoist"

# Inspect a tool's input schema
composio tools info TODOIST_ADD_WORKSPACE

Common Todoist Actions

Add WorkspaceTool to create a new workspace in todoist

bash
composio tools execute TODOIST_ADD_WORKSPACE \
  --name "My Workspace"

Close TaskThis tool marks an existing task as completed in todoist

bash
composio tools execute TODOIST_CLOSE_TASK \
  --task_id "2995104339"

Create CommentTool to create a new comment in todoist

bash
composio tools execute TODOIST_CREATE_COMMENT \
  --content "This is a comment."

Create LabelCreates a new label

bash
composio tools execute TODOIST_CREATE_LABEL \
  --name "Work"

Set up Todoist Triggers

Listen for events in real time using triggers:

New Task CreatedTrigger when a new task is added to Todoist

bash
# Find your connected account ID
composio connected-accounts list --toolkits todoist

# Create a trigger
composio triggers create TODOIST_NEW_TASK_CREATED \
  --connected-account-id <your-connected-account-id> \
  --trigger-config '{
  "interval": 2,
  "project_id": "<string>"
}'

# Listen for trigger events in real time
composio triggers listen --toolkits todoist --table

Generate Type Definitions

Generate typed schemas for Todoist tools to get autocomplete and type safety in your project:

bash
# Auto-detect language
composio generate --toolkits todoist

# TypeScript
composio ts generate --toolkits todoist

# Python
composio py generate --toolkits todoist

Tips & Tricks

  • Always inspect a tool's input schema before executing: composio tools info <TOOL_NAME>
  • Pipe output with jq for better readability: composio tools execute TOOL_NAME -d '{}' | jq
  • Set COMPOSIO_API_KEY as an environment variable for CI/CD pipelines
  • Use composio dev logs tools to inspect execution logs and debug issues

Next Steps

  • Try asking your coding agent to perform various Todoist operations
  • Explore cross-app workflows by connecting more toolkits
  • Set up triggers for real-time automation
  • Use composio generate for typed schemas in your projects

How to build Todoist MCP Agent with another framework

FAQ

What is the Composio Universal CLI?

The Composio Universal CLI is a single command-line interface that lets coding agents and developers interact with 1000+ SaaS applications. It handles authentication, tool discovery, action execution, and trigger setup — all from the terminal, without needing to configure MCP servers.

Which coding agents work with the Composio CLI?

Any coding agent that can run shell commands works with the Composio CLI — including Claude Code, Codex, OpenCode, OpenClaw, and others. Once the CLI is installed, agents automatically discover and use the composio commands to interact with Todoist and other connected apps.

How is the CLI different from using an MCP server for Todoist?

MCP servers require configuration and can be token-heavy for complex workflows. The CLI gives agents a direct, lightweight interface — no server setup needed. Agents simply call composio commands like any other shell tool. It's faster to set up, more reliable for multi-step tool chaining, and works natively with how coding agents already operate.

How safe is my Todoist data when using the Composio CLI?

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. You can also bring your own OAuth credentials for full control.

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.