connacto
Back to Todo List

Todo List tools

Every tool in this module, with its full description, parameters, and return value. All of them require the module to be active first. See the Todo List overview for how to turn it on.

CRUD

Core tools

Create, read, update, and delete entries. Every module has exactly these four.

todo_list_add_entry

Add a task to the user's Todo List module. Requires the module to be active — see create_database. task is the only required field: this stays a fast, freeform way to jot down a to-do.

Parameters

NameTypeRequiredNotes
taskstringYes
statustodo | in_progress | waiting_on | completedNo
importantbooleanNoEisenhower matrix: does this matter for a real goal?
urgentbooleanNoEisenhower matrix: does this need attention soon?
due_datestringNoISO date, e.g. 2026-08-20
projectstringNoFreeform project label. Independent of project_id.
project_idstringNoExact todo_list_projects.id (from todo_list_create_project or todo_list_list_projects) to group this todo under. Leave unset to keep the todo unassigned/ungrouped.
notesstringNo
tagsstring[]NoFreeform labels. Normalized to trimmed, lowercased text on write.
recurrencenone | daily | weekly | biweekly | monthly | weekdaysNoDefaults to none. Only takes effect if the todo has a due_date when marked completed.
recurrence_intervalnumberNoMultiplier for recurrence, e.g. 2 with weekly means every 2 weeks. Defaults to 1.

Returns

The created entry as JSON, including its id.

todo_list_list_entries

List entries in the user's active Todo List module.

Parameters

NameTypeRequiredNotes
limitnumberNoMax entries to return (default 100, max 500).

Returns

Every entry in the active database, as a JSON array.

todo_list_update_entry

Update fields on an existing Todo List entry.

Parameters

NameTypeRequiredNotes
entryIdstringYes
taskstringNo
statustodo | in_progress | waiting_on | completedNo
importantbooleanNoEisenhower matrix: does this matter for a real goal?
urgentbooleanNoEisenhower matrix: does this need attention soon?
due_datestringNo
projectstringNoFreeform project label. Independent of project_id.
project_idstringNoExact todo_list_projects.id to group this todo under.
notesstringNo
tagsstring[]NoFreeform labels. Normalized to trimmed, lowercased text on write.
recurrencenone | daily | weekly | biweekly | monthly | weekdaysNo
recurrence_intervalnumberNo

Returns

The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.

todo_list_delete_entry

Delete an entry from the user's active Todo List module.

Parameters

NameTypeRequiredNotes
entryIdstringYes

Returns

The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.

Specialized

Purpose-built tools

Shortcuts and queries shaped around how Todo List is actually used, so your agent doesn't have to fetch every entry and filter them itself.

todo_list_attach_photo

Attach a photo to an existing Todo List entry (replacing any photo already on it). If you have the image's raw bytes, pass photo_base64. If the user attached the image in a chat client (e.g. claude.ai), you cannot read its bytes: call this WITHOUT photo_base64 to get a one-time upload link, and give that link to the user so they can upload the photo themselves. The link expires in 30 minutes. Photos are stored privately; the returned viewPath is only viewable signed into the connacto web app as this user.

Parameters

NameTypeRequiredNotes
entryIdstringYesID of the Todo List entry to attach the photo to.
photo_base64stringNoThe photo, base64-encoded (no data: URI prefix). Omit when you cannot read the image bytes — the tool then returns an upload link for the user instead.
photo_content_typeimage/jpeg | image/png | image/webp | image/heicNoMIME type of the photo, if photo_base64 is set. Defaults to image/jpeg.

Returns

JSON with a private viewPath when photo_base64 was given, or an uploadUrl to hand the user when it was not.

todo_list_list_open

List entries in the active Todo List module that are not completed, ordered by Eisenhower quadrant (important+urgent first) then due date. Optionally filter by project.

Parameters

NameTypeRequiredNotes
projectstringNo

Returns

Matching entries as a JSON array, do-first quadrant first, then soonest due date.

todo_list_list_overdue

List entries in the active Todo List module that are not completed and whose due date is before a given date (defaults to today).

Parameters

NameTypeRequiredNotes
asOfstringNoISO date, e.g. 2026-08-20. Defaults to today.

Returns

Matching entries as a JSON array, soonest due date first.

todo_list_mark_completed

Mark a Todo List entry completed in one call, stamping completed_at. If the entry has recurrence set and a due_date, this also inserts the next occurrence (status todo, computed due_date, linked via seriesId) and returns it alongside the completed entry.

Parameters

NameTypeRequiredNotes
entryIdstringYes

Returns

An object with the completed entry and the newly created next occurrence (or null if recurrence is none or there's no due_date, with a note explaining why).

todo_list_list_by_quadrant

Group open (not completed) entries in the active Todo List module into the four Eisenhower quadrants (do_first, schedule, delegate, eliminate, plus unclassified for untriaged todos), with counts.

Parameters

None. Call it with an empty object.

Returns

An object keyed by quadrant, each with a label, count, and items.

todo_list_status_summary

Counts of entries by status (todo, in_progress, waiting_on, completed) and how many open (not completed) entries are overdue, for the user's active Todo List module.

Parameters

None. Call it with an empty object.

Returns

An object with counts by status, total entry count, and overdueCount.

todo_list_list_by_tag

List entries in the active Todo List module that have a given tag. Tag matching is case-insensitive (tags are stored lowercased).

Parameters

NameTypeRequiredNotes
tagstringYes

Returns

Matching entries as a JSON array.

todo_list_list_tags

List every distinct tag currently used in the active Todo List module.

Parameters

None. Call it with an empty object.

Returns

A sorted JSON array of distinct tag strings.

todo_list_list_recurring

List entries in the active Todo List module that have recurrence set (not "none").

Parameters

None. Call it with an empty object.

Returns

Matching entries as a JSON array.

todo_list_create_project

Create a project (a grouping/list) in the user's active Todo List module. Attach todos to it via project_id on todo_list_add_entry or todo_list_update_entry.

Parameters

NameTypeRequiredNotes
namestringYesName of the project, e.g. 'Kitchen Remodel'.
descriptionstringNo
sort_ordernumberNoLower sorts first when listing projects. Defaults to 0.

Returns

The created project as JSON, including its id.

todo_list_list_projects

List projects in the user's active Todo List module, ordered by sort order then name. Excludes archived (is_active false) projects by default.

Parameters

NameTypeRequiredNotes
include_inactivebooleanNoSet true to also include archived projects. Defaults to false.

Returns

Matching projects as a JSON array.

todo_list_update_project

Update fields on an existing Todo List project. Set is_active false to archive it without deleting it.

Parameters

NameTypeRequiredNotes
projectIdstringYesID of the todo_list_projects row to update.
namestringNo
descriptionstringNo
sort_ordernumberNo
is_activebooleanNo

Returns

The updated project as JSON, or an error if projectId does not belong to the active database.

todo_list_delete_project

Delete a project from the user's active Todo List module. Todos that belonged to it are not deleted: their project_id is cleared, moving them into the unassigned bucket.

Parameters

NameTypeRequiredNotes
projectIdstringYesID of the todo_list_projects row to delete.

Returns

The deleted project as JSON, or an error if projectId does not belong to the active database.

todo_list_by_project

Answer 'what am I working on, organized' in one call: every project in the active Todo List module with its open/completed todo counts and items, plus an unassigned bucket for todos with no project_id.

Parameters

None. Call it with an empty object.

Returns

An object with `projects` (each project plus openCount, completedCount, items) and `unassigned` (same shape, no project attached).