add_todo
Create and organize to-do items in Things.app by adding titles, notes, tags, checklists, deadlines, and assigning tasks to projects or areas with flexible scheduling options.
Instructions
Create a new to-do item in Things.app. Add notes, tags, checklist items, and assign to projects or areas.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
areaId | No | ID of the area of responsibility to assign this to-do to. Use this when you know the specific area ID | |
areaName | No | Name of the area of responsibility to assign this to-do to (e.g., "Work", "Personal", "Health") | |
canceled | No | Mark the to-do as canceled immediately upon creation (default: false). Useful for recording tasks that are no longer needed | |
checklistItems | No | Array of checklist item descriptions to add as sub-tasks (max 100 items). Each item becomes a checkable sub-task within the to-do | |
completed | No | Mark the to-do as completed immediately upon creation (default: false). Useful for logging already completed tasks | |
completionDate | No | Set a specific completion date using ISO8601 datetime (YYYY-MM-DDTHH:MM:SS). Only used when completed is true | |
creationDate | No | Override the creation date with a specific ISO8601 datetime (YYYY-MM-DDTHH:MM:SS). Useful for importing historical data | |
deadline | No | Set a deadline for the to-do in ISO date format (YYYY-MM-DD). Creates a deadline reminder in Things.app | |
headingId | No | ID of a specific heading within the target project to organize the to-do under | |
headingName | No | Name of a heading within the target project to organize the to-do under (e.g., "Phase 1", "Research") | |
notes | No | Additional notes or details for the to-do (max 10,000 characters). Supports markdown formatting for rich text | |
projectId | No | ID of the project to add this to-do to. Use this when you know the specific project ID | |
projectName | No | Name of the project to add this to-do to. Things.app will find the project by name and add the to-do there | |
tags | No | Array of tag names for organizing and categorizing the to-do (max 20 tags). Tags help with filtering and organization | |
title | Yes | To-do title (required). Clear, actionable description of the task | |
when | No | Schedule the to-do for a specific time. Use "today" for immediate action, "tomorrow" for next day, "evening" for later today, "anytime" for no specific time, "someday" for future consideration, or ISO date format (YYYY-MM-DD) for specific date |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"areaId": {
"description": "ID of the area of responsibility to assign this to-do to. Use this when you know the specific area ID",
"type": "string"
},
"areaName": {
"description": "Name of the area of responsibility to assign this to-do to (e.g., \"Work\", \"Personal\", \"Health\")",
"type": "string"
},
"canceled": {
"default": false,
"description": "Mark the to-do as canceled immediately upon creation (default: false). Useful for recording tasks that are no longer needed",
"type": "boolean"
},
"checklistItems": {
"description": "Array of checklist item descriptions to add as sub-tasks (max 100 items). Each item becomes a checkable sub-task within the to-do",
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"completed": {
"default": false,
"description": "Mark the to-do as completed immediately upon creation (default: false). Useful for logging already completed tasks",
"type": "boolean"
},
"completionDate": {
"description": "Set a specific completion date using ISO8601 datetime (YYYY-MM-DDTHH:MM:SS). Only used when completed is true",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}",
"type": "string"
},
"creationDate": {
"description": "Override the creation date with a specific ISO8601 datetime (YYYY-MM-DDTHH:MM:SS). Useful for importing historical data",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}",
"type": "string"
},
"deadline": {
"description": "Set a deadline for the to-do in ISO date format (YYYY-MM-DD). Creates a deadline reminder in Things.app",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"headingId": {
"description": "ID of a specific heading within the target project to organize the to-do under",
"type": "string"
},
"headingName": {
"description": "Name of a heading within the target project to organize the to-do under (e.g., \"Phase 1\", \"Research\")",
"type": "string"
},
"notes": {
"description": "Additional notes or details for the to-do (max 10,000 characters). Supports markdown formatting for rich text",
"maxLength": 10000,
"type": "string"
},
"projectId": {
"description": "ID of the project to add this to-do to. Use this when you know the specific project ID",
"type": "string"
},
"projectName": {
"description": "Name of the project to add this to-do to. Things.app will find the project by name and add the to-do there",
"type": "string"
},
"tags": {
"description": "Array of tag names for organizing and categorizing the to-do (max 20 tags). Tags help with filtering and organization",
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"title": {
"description": "To-do title (required). Clear, actionable description of the task",
"minLength": 1,
"type": "string"
},
"when": {
"anyOf": [
{
"enum": [
"today",
"tomorrow",
"evening",
"anytime",
"someday"
],
"type": "string"
},
{
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
],
"description": "Schedule the to-do for a specific time. Use \"today\" for immediate action, \"tomorrow\" for next day, \"evening\" for later today, \"anytime\" for no specific time, \"someday\" for future consideration, or ISO date format (YYYY-MM-DD) for specific date"
}
},
"required": [
"title"
],
"type": "object"
}