| get_inboxB | |
| get_todayB | |
| get_upcomingA | Get all upcoming todos (those with a start date in the future). |
| get_anytimeA | Get all todos from Anytime list. Note that this will return an extensive list of tasks. It is generally recommended to use get_todos with filters or search_todos instead. |
| get_random_inboxA | Get a random sample of todos from Inbox. Args:
----
count: Number of random items to return. Defaults to 5.
|
| get_random_anytimeA | Get a random sample of items from the Anytime list. Note: The Anytime list can contain both todos and projects. This returns a
random subset without filtering types.
Args:
----
count: Number of random items to return. Defaults to 5.
|
| get_somedayA | Get todos from Someday list. |
| get_logbookA | Get completed todos from Logbook, defaults to last 7 days. Args:
----
period: Time period to look back (e.g., '3d', '1w', '2m', '1y'). Defaults to '7d'.
limit: Maximum number of entries to return. Defaults to 50.
|
| get_trashB | |
| get_todosB | Get todos from Things, optionally filtered by project. Args:
----
project_uuid: Optional UUID of a specific project to get todos from.
|
| get_random_todosA | Get a random sample of todos, optionally filtered by project. Args:
----
project_uuid: Optional UUID of a specific project to draw todos from.
count: Number of todos to return. Defaults to 5.
|
| get_projectsB | Get all projects from Things. Args:
----
include_items: Include tasks within projects.
|
| get_areasA | Get all areas from Things. Use these names when assigning a task or project to an area. Args:
----
include_items: Include projects and tasks within areas
|
| get_tagsB | Get all tags. Args:
----
include_items: Include items tagged with each tag
|
| get_tagged_itemsC | Get items with a specific tag. Args:
----
tag: Tag title to filter by
|
| search_todosA | Search todos by title or notes. Args:
----
query: Search term to look for in todo titles and notes
|
| search_advancedC | Advanced todo search with multiple filters. Args:
----
status: Filter by todo status (incomplete/completed/canceled)
start_date: Filter by start date (YYYY-MM-DD)
deadline: Filter by deadline (YYYY-MM-DD)
tag: Filter by tag
area: Filter by area UUID
type: Filter by item type (to-do/project/heading)
|
| add_todoA | Create a new todo in Things. Args:
----
title: Title of the todo
notes: Notes for the todo
when: When to schedule the todo (today, tomorrow, evening, anytime, someday, or YYYY-MM-DD)
deadline: Deadline for the todo (YYYY-MM-DD)
tags: Tags to apply to the todo. IMPORTANT: Always pass as an array of
strings (e.g., ["tag1", "tag2"]) NOT as a comma-separated string.
Passing as a string will treat each character as a separate tag.
list_id: ID of project/area to add to (takes priority over list_title if both provided)
list_title: Title of project/area to add to (must exactly match an existing area or project title — look them up with get_areas or get_projects).
If both list_id and list_title are provided, list_id takes priority.
|
| add_projectA | Create a new project in Things. Args:
----
title: Title of the project
notes: Notes for the project
when: When to schedule the project
deadline: Deadline for the project
tags: Tags to apply to the project. IMPORTANT: Always pass as an array of
strings (e.g., ["tag1", "tag2"]) NOT as a comma-separated string.
Passing as a string will treat each character as a separate tag.
area_id: ID of area to add to
area_title: Title of area to add to (must exactly match an existing area title — look them up with get_areas)
todos: Initial todos to create in the project
|
| update_todoA | Update an existing todo in Things. Args:
----
id: ID of the todo to update.
title: New title.
notes: New notes.
when: When to schedule the todo (today, tomorrow, anytime, someday, or YYYY-MM-DD).
deadline: New deadline (YYYY-MM-DD).
tags: New tags. IMPORTANT: Always pass as an array of strings (e.g., ["tag1", "tag2"]) NOT as a comma-separated string. Passing as a string will treat each character as a separate tag.
completed: Mark as completed.
canceled: Mark as canceled.
list_id: ID of project/area to move the todo to (takes priority over list_name if both provided).
list_name: Name of built-in list, project, or area to move the todo to. For built-in lists use: "Inbox", "Today", "Anytime", "Someday". For projects or areas, use the exact name.
If both list_id and list_name are provided, list_id takes priority.
|
| update_projectA | Update an existing project in Things. Args:
----
id: ID of the project to update
title: New title
notes: New notes
when: New schedule (today, tomorrow, anytime, someday, or YYYY-MM-DD)
deadline: New deadline (YYYY-MM-DD)
tags: New tags. IMPORTANT: Always pass as an array of strings (e.g., ["tag1", "tag2"]) NOT as a comma-separated string. Passing as a string will treat each character as a separate tag.
completed: Mark as completed
canceled: Mark as canceled
list_name: Move project directly to a built-in list. Must be one of:
- "Today": Move to Today list
- "Anytime": Move to Anytime list
- "Someday": Move to Someday list
- "Trash": Move to trash
Note: Projects cannot be moved to Inbox or Logbook. To move a project
to Logbook, mark it as completed instead.
area_title: Title of the area to move the project to
area_id: ID of the area to move the project to
|
| show_itemB | Show a specific item or list in Things. Args:
----
id: ID of item to show, or one of: inbox, today, upcoming, anytime, someday, logbook
query: Optional query to filter by
filter_tags: Optional tags to filter by. IMPORTANT: Always pass as an
array of strings (e.g., ["tag1", "tag2"]) NOT as a comma-separated
string. Passing as a string will treat each character as a separate tag.
|
| search_itemsC | Search for items in Things. Args:
----
query: Search query
|
| get_recentB | Get recently created items. Args:
----
period: Time period (e.g., '3d', '1w', '2m', '1y')
|