9.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.
Skill Snapshot
| 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. OpenClaw Skills integration. |
| owner | hail2skins |
| repository | hail2skins/todoist-natural-language |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @hail2skins/todoist-natural-language |
| last updated | Feb 7, 2026 |
Maintainer

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
TODOIST_API_KEYenvironment variable must be set with your Todoist API token- Get your token at: https://todoist.com/app/settings/integrations/developer
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 todayoverdue— overdue taskstomorrow— tasks due tomorrowp1,p2,p3,p4— priority filters7 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
TZenvironment variable if needed) - Natural language dates ("tomorrow", "next Friday") use Todoist's built-in parsing
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
-
Todoist API Token
- Go to https://todoist.com/app/settings/integrations/developer
- Copy your API token
- Set it as an environment variable:
export TODOIST_API_KEY="your_token_here"
-
OpenClaw (if using as a skill)
- OpenClaw must be installed and running
Installation
Option A: Install as OpenClaw Skill (Recommended)
-
Download the latest
.skillfile from Releases -
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/ -
Restart OpenClaw
-
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:
-
Clone this repo:
git clone https://github.com/YOUR_USERNAME/openclaw-skill-todoist.git cd openclaw-skill-todoist -
Make sure
TODOIST_API_KEYis set in your environment -
Run directly:
python3 scripts/todoist.py list --filter today
Usage
Natural Language (with OpenClaw)
Once installed, just talk to OpenClaw naturally:
| What you say | What 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 todaytomorrow— Tasks due tomorrowoverdue— Overdue tasksp1,p2,p3,p4— Priority filters7 days— Tasks due in next 7 days@label— Tasks with specific label#project— Tasks in projecttoday & p1— Today's urgent tasksoverdue | 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
| Variable | Required | Description |
|---|---|---|
TODOIST_API_KEY | Yes | Your Todoist API token |
TZ | No | Your 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
~/.bashrcor~/.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.
