home / skills / openclaw / skills / todoist-natural-language

todoist-natural-language skill

/skills/hail2skins/todoist-natural-language

This skill helps you manage Todoist tasks and projects through natural language, saving time by handling lists, additions, and completions.

npx playbooks add skill openclaw/skills --skill todoist-natural-language

Review the files below or copy the command above to add this skill to your agents.

Files (6)
SKILL.md
2.9 KB
---
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.
credentials:
  - name: TODOIST_API_KEY
    description: Todoist API token from https://todoist.com/app/settings/integrations/developer
    required: true
    sensitive: true
---

# 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_KEY` environment 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:

```bash
# 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

Overview

This skill integrates Todoist task management into a conversational assistant so you can manage tasks, projects, and priorities using natural language. It requires a TODOIST_API_KEY environment variable and supports listing, creating, completing, and filtering tasks without remembering CLI syntax. The skill is timezone-aware and respects Todoist recurring and natural language date parsing.

How this skill works

You talk naturally about tasks (for example: show today, add a task, complete a task) and the skill translates that into Todoist API calls. It parses dates, priorities, project or label references, and applies smart filters that exclude completed tasks. Results are returned in JSON for programmatic flows or formatted summaries for human-readable responses.

When to use it

  • Quickly add tasks or recurring tasks using plain language (e.g., 'buy milk tomorrow').
  • Get an overview of due or overdue tasks (e.g., 'what do I have today' or 'show overdue').
  • Complete tasks by description or ID without opening Todoist.
  • Filter tasks by project, label, priority, or date range using natural queries.
  • Audit or list all projects and their pending tasks.

Best practices

  • Set TODOIST_API_KEY in your environment before using the skill.
  • Mention project or label names with #project or @label for precise filtering.
  • Use clear date phrases (today, tomorrow, next Friday) to rely on Todoist parsing.
  • Specify priority (p1–p4) when adding urgent tasks to ensure correct sorting.
  • Use the JSON output for integrations and the human summary for conversational use.

Example use cases

  • Add 'call dentist' due next Monday with high priority: 'Add call dentist by next Monday, priority 2'.
  • List everything due in the next 7 days across Work and Personal projects.
  • Mark the task about the meeting as done using its description.
  • Show all priority 1 tasks for today to plan a focused work session.
  • Create a recurring weekly standup task: 'Add weekly standup due every Monday'.

FAQ

What do I need to start using this skill?

Set the TODOIST_API_KEY environment variable with your Todoist API token available in Todoist integrations settings.

How does the skill interpret 'today' or 'tomorrow'?

Date words use Todoist's natural language parsing and are evaluated in your local timezone; set the TZ environment variable if needed.