add-todo
Add tasks to Things 3 with details like title, due dates, tags, and checklists using structured input for organized task management.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | The title of the todo | |
| titles | No | Multiple todo titles separated by newlines | |
| notes | No | Notes for the todo | |
| when | No | today, tomorrow, anytime, someday, YYYY-MM-DD or YYYY-MM-DD@HH:MM | |
| deadline | No | Deadline date | |
| tags | No | Tag names | |
| checklist-items | No | Checklist items | |
| use-clipboard | No | ||
| list-id | No | ||
| list | No | ||
| heading-id | No | ||
| heading | No | ||
| completed | No | ||
| canceled | No | ||
| show-quick-entry | No | ||
| reveal | No | ||
| creation-date | No | ||
| completion-date | No |
Implementation Reference
- src/index.ts:1729-1762 (handler)The 'add-todo' tool implementation and handler in src/index.ts.
"add-todo", { title: z.string().optional().describe("The title of the todo"), titles: z.string().optional().describe("Multiple todo titles separated by newlines"), notes: z.string().optional().describe("Notes for the todo"), when: z.string().optional().describe("today, tomorrow, anytime, someday, YYYY-MM-DD or YYYY-MM-DD@HH:MM"), deadline: z.string().optional().describe("Deadline date"), tags: z.array(z.string()).optional().describe("Tag names"), "checklist-items": z.array(z.string()).optional().describe("Checklist items"), "use-clipboard": z .enum(["replace-title", "replace-notes", "replace-checklist-items"]) .optional(), "list-id": z.string().optional(), list: z.string().optional(), "heading-id": z.string().optional(), heading: z.string().optional(), completed: z.boolean().optional(), canceled: z.boolean().optional(), "show-quick-entry": z.boolean().optional(), reveal: z.boolean().optional(), "creation-date": z.string().optional(), "completion-date": z.string().optional(), }, async (params) => { const url = await openThingsURL( "add", buildURLParams( params, new Set(["checklist-items"]) ) ); return buildTextResponse("Created todo in Things", { url }); } );