skills$openclaw/todoist
hail2skins9.1k

by hail2skins

todoist – OpenClaw Skill

todoist is an OpenClaw Skills integration for coding workflows. Integrate with Todoist task management using natural language. Use when the user wants to manage Todoist tasks or projects through conversational commands like "show my tasks for today", "add 'call dentist' to my todo list", "complete my task about the meeting", or any mention of Todoist, tasks, due dates, or project management. Requires TODOIST_API_KEY environment variable.

9.1k stars7.8k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nametodoist
descriptionIntegrate with Todoist task management using natural language. Use when the user wants to manage Todoist tasks or projects through conversational commands like "show my tasks for today", "add 'call dentist' to my todo list", "complete my task about the meeting", or any mention of Todoist, tasks, due dates, or project management. Requires TODOIST_API_KEY environment variable. OpenClaw Skills integration.
ownerhail2skins
repositoryhail2skins/todoist-natural-language
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @hail2skins/todoist-natural-language
last updatedFeb 7, 2026

Maintainer

hail2skins

hail2skins

Maintains todoist in the OpenClaw Skills directory.

View GitHub profile
File Explorer
7 files
.
references
api.md
4.1 KB
scripts
todoist.py
14.1 KB
_meta.json
304 B
README.md
4.6 KB
SKILL.md
2.8 KB
SKILL.md

name: todoist description: Integrate with Todoist task management using natural language. Use when the user wants to manage Todoist tasks or projects through conversational commands like "show my tasks for today", "add 'call dentist' to my todo list", "complete my task about the meeting", or any mention of Todoist, tasks, due dates, or project management. Requires TODOIST_API_KEY environment variable.

Todoist Skill — Natural Language Task Management

Manage your Todoist tasks conversationally. No need to remember CLI syntax — just talk naturally about your tasks.

Natural Language Examples

This skill understands conversational requests:

List tasks:

  • "What tasks do I have today?"
  • "Show me my Todoist list for this week"
  • "What do I have overdue?"
  • "Show priority 1 tasks"

Add tasks:

  • "Add 'buy milk' to my todo list"
  • "Create a task to call the dentist tomorrow"
  • "I need to review the Q4 report by Friday"
  • "Add 'weekly standup' due every Monday"

Complete tasks:

  • "Complete my task about the dentist"
  • "Mark the milk task as done"
  • "I finished the report"

Manage projects:

  • "What projects do I have in Todoist?"
  • "Show tasks from my Work project"

Prerequisites

Technical Usage

If you prefer CLI commands or need to script operations, use the Python script directly:

# List today's tasks
python3 todoist/scripts/todoist.py list --filter "today"

# Add a task
python3 todoist/scripts/todoist.py add "Buy milk" --due "tomorrow" --priority 2

# Complete a task by ID
python3 todoist/scripts/todoist.py complete "TASK_ID"

# List all projects
python3 todoist/scripts/todoist.py projects

Filter Syntax

When filtering tasks (via natural language or CLI):

  • today — tasks due today
  • overdue — overdue tasks
  • tomorrow — tasks due tomorrow
  • p1, p2, p3, p4 — priority filters
  • 7 days — tasks due in next 7 days
  • @label — tasks with specific label
  • #project — tasks in project
  • Combine with & (and) and | (or): today & p1

Priority Levels

  • 1 — Urgent (red)
  • 2 — High (orange)
  • 3 — Medium (blue)
  • 4 — Low (white/gray, default)

Features

  • ✅ Natural language task management
  • ✅ Timezone-aware "today" filtering
  • ✅ Smart filtering (excludes completed tasks)
  • ✅ Recurring task support
  • ✅ Full Todoist API v1 coverage

Response Format

The script outputs JSON for programmatic use. See references/api.md for full API documentation.

Notes

  • The skill automatically filters out completed tasks
  • "Today" uses your local timezone (set TZ environment variable if needed)
  • Natural language dates ("tomorrow", "next Friday") use Todoist's built-in parsing
README.md

Todoist Skill for OpenClaw

Manage your Todoist tasks directly from OpenClaw. Add tasks, check your list, complete items — all through natural language or CLI commands.

Features

  • ✅ List tasks with filters (today, overdue, by project, by priority)
  • ✅ Add new tasks with natural language due dates
  • ✅ Complete tasks
  • ✅ List all projects
  • ✅ Full timezone support (respects your local time)
  • ✅ Smart filtering — "today" actually shows today's tasks, not future recurring ones

Prerequisites

  1. Todoist API Token

  2. OpenClaw (if using as a skill)

    • OpenClaw must be installed and running

Installation

Option A: Install as OpenClaw Skill (Recommended)

  1. Download the latest .skill file from Releases

  2. Install to OpenClaw:

    # Copy to OpenClaw skills directory
    sudo cp todoist.skill /usr/lib/node_modules/openclaw/skills/
    
    # Or unzip manually
    sudo unzip todoist.skill -d /usr/lib/node_modules/openclaw/skills/
    
  3. Restart OpenClaw

  4. Done! Now you can say things like:

    • "Show me my tasks for today"
    • "Add 'call dentist' to my todo list for tomorrow"
    • "Complete my task about the meeting"

Option B: Standalone CLI

If you just want the Python script without OpenClaw integration:

  1. Clone this repo:

    git clone https://github.com/YOUR_USERNAME/openclaw-skill-todoist.git
    cd openclaw-skill-todoist
    
  2. Make sure TODOIST_API_KEY is set in your environment

  3. Run directly:

    python3 scripts/todoist.py list --filter today
    

Usage

Natural Language (with OpenClaw)

Once installed, just talk to OpenClaw naturally:

What you sayWhat happens
"What tasks do I have today?"Lists today's open tasks
"Add 'buy milk' to my todo list"Creates task in Inbox
"Add 'review PR' due tomorrow priority 2"Creates task with due date and priority
"Complete my task about the dentist"Completes the matching task
"Show my Todoist projects"Lists all your projects

CLI Commands

If running the script directly:

# List tasks
python3 scripts/todoist.py list
python3 scripts/todoist.py list --filter "today"
python3 scripts/todoist.py list --filter "overdue"
python3 scripts/todoist.py list --project "PROJECT_ID" --limit 10

# Add a task
python3 scripts/todoist.py add "Buy milk"
python3 scripts/todoist.py add "Review PR" --due "tomorrow" --priority 2
python3 scripts/todoist.py add "Weekly report" --due "every Friday"

# Complete a task
python3 scripts/todoist.py complete "TASK_ID"

# List projects
python3 scripts/todoist.py projects

Filter Syntax

When listing tasks, you can use Todoist's powerful filter syntax:

  • today — Tasks due today
  • tomorrow — Tasks due tomorrow
  • overdue — Overdue tasks
  • p1, p2, p3, p4 — Priority filters
  • 7 days — Tasks due in next 7 days
  • @label — Tasks with specific label
  • #project — Tasks in project
  • today & p1 — Today's urgent tasks
  • overdue | today — Overdue or today's tasks

Priority Levels

  • 1 — Urgent (red)
  • 2 — High (orange)
  • 3 — Medium (blue)
  • 4 — Low (white/gray, default)

Project Structure

todoist/
├── SKILL.md              # Instructions for OpenClaw AI
├── scripts/
│   └── todoist.py        # Main CLI script (Python 3)
└── references/
    └── api.md            # Full Todoist API reference

Environment Variables

VariableRequiredDescription
TODOIST_API_KEYYesYour Todoist API token
TZNoYour timezone (e.g., America/Chicago). Used for accurate "today" filtering

Troubleshooting

"TODOIST_API_KEY environment variable not set"

  • Make sure you've exported the API key: export TODOIST_API_KEY="..."
  • For persistent setup, add it to your ~/.bashrc or ~/.zshrc

Tasks showing wrong date for "today"

  • Set your timezone: export TZ="America/Chicago" (or your timezone)

Permission denied when running script

  • Make it executable: chmod +x scripts/todoist.py

API Reference

See references/api.md for complete Todoist API v1 documentation.

Official docs: https://developer.todoist.com/api/v1/

License

MIT — Do what you want with it.

Contributing

This is a personal skill, but feel free to fork and modify for your own use.


Built for OpenClaw. Works anywhere Python 3 runs.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

- `TODOIST_API_KEY` environment variable must be set with your Todoist API token - Get your token at: https://todoist.com/app/settings/integrations/developer

FAQ

How do I install todoist?

Run openclaw add @hail2skins/todoist-natural-language in your terminal. This installs todoist into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/hail2skins/todoist-natural-language. Review commits and README documentation before installing.