Todoist Integration

Pro v1.0.0

Manage tasks, projects, and labels in Todoist via the official Python SDK

Requires Claude Code CLI

This skill integrates with Todoist through Claude Code. Install Claude Code and add this skill to use it.

Available Actions

List Tasks

Retrieve all active tasks, optionally filtered by project or using Todoist filter syntax

Parameters

Name Type Required Description
project_id string Optional Filter tasks by project ID
filter string Optional Todoist filter expression (e.g., 'today', 'overdue', 'p1')

Returns

array List of tasks with content, due dates, and priority

Try saying...

  • "Show me my Todoist tasks"
  • "List tasks in the Work project"
  • "Show all overdue tasks"

Get Task

Retrieve complete details for a specific task

Parameters

Name Type Required Description
task_id string Required The unique task ID

Returns

object Task details including content, description, project, labels, priority, due date, and completion status

Try saying...

  • "Get details for task 123"
  • "Show me task 8203145678"

Create Task

Add a new task to Todoist

Parameters

Name Type Required Description
content string Required The task content/title
project_id string Optional Project to add the task to
due_string string Optional Human-readable due date (e.g., 'tomorrow at 3pm', 'next Monday')
priority integer Optional Task priority (1=normal, 2=medium, 3=high, 4=urgent)

Returns

object Created task with ID and details

Try saying...

  • "Create a task to review the report"
  • "Add a task due tomorrow"
  • "Create a high-priority task for the meeting"

Complete Task

Mark a task as complete

Parameters

Name Type Required Description
task_id string Required The task ID to complete

Returns

boolean Success status

Try saying...

  • "Complete task 123"
  • "Mark the meeting task as done"

Delete Task

Permanently delete a task

Parameters

Name Type Required Description
task_id string Required The task ID to delete

Returns

boolean Success status

Try saying...

  • "Delete task 123"
  • "Remove the old task"

List Projects

Show all Todoist projects

Returns

array List of projects with IDs and names

Try saying...

  • "List my Todoist projects"
  • "Show all projects"

Create Project

Create a new project

Parameters

Name Type Required Description
name string Required Project name

Returns

object Created project with ID and details

Try saying...

  • "Create a project called Work"
  • "Make a new project for Q1"

List Labels

Show all personal labels

Returns

array List of labels with IDs, names, and colors

Try saying...

  • "List my Todoist labels"
  • "Show all labels"

Getting Started

API Key Easy Setup
  1. 1 Log in to Todoist at https://todoist.com
  2. 2 Click your avatar at the top-left
  3. 3 Select Settings
  4. 4 Select the Integrations tab
  5. 5 Copy your API token
  6. 6 Add to shell config: echo 'export TODOIST_API_TOKEN="YOUR_TOKEN"' >> ~/.zshrc
  7. 7 Restart terminal or run: source ~/.zshrc

Verify Setup

python scripts/client.py list-projects

Success: Lists your Todoist projects without errors

Security & Access

Access Scope

Full access to your Todoist account including all tasks, projects, labels, and comments. Can create, read, update, and delete all data.

  • API token grants full access to your entire Todoist account
  • Token can access shared projects and their data
  • Never commit your API token to version control
  • Rotate token periodically from Todoist settings
  • Store token securely in shell config, not in project files

Limitations

  • REST API v2 is deprecated - unified API v1 coming Q4 2025
  • Natural language parsing for due dates depends on Todoist's parser
  • Some advanced features like sections and comments require additional API calls

Get This Skill

Requires Pro subscription ($9/month)

Quick Reference

Type
PYTHON_SDK
Auth
API Key
Setup
Easy Setup
Tools Required
Bash
Python Dependencies
todoist-api-python>=3.1.0

Have Feedback?

Help us improve this skill by sharing your ideas and suggestions.

Request Improvements