Tasks
Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.
Tasktask
An actionable task with a due date, priority, and list.
tasks_getTaskFindthrough vritto_findFetch one task by its ID. Requires a real taskId, never invent IDs; use tasks_queryTasks first when the ID is unknown.
| Field | Type | Description |
|---|---|---|
| taskId* | string | Task ID. |
tasks_getTaskCalendarOccurrencesFindthrough vritto_findList calendar occurrences for open, calendar-visible tasks with due dates inside a datetime range. The range must be valid and under 93 days.
| Field | Type | Description |
|---|---|---|
| start* | string | Range start as an ISO 8601 datetime or date. |
| end* | string | Range end as an ISO 8601 datetime or date; at most 93 days after start. |
tasks_queryTasksFindthrough vritto_findSearch or filter tasks by free text, view (all, inbox, today, upcoming, overdue, completed), status, priority, tag, or projectId. Use view 'today' or 'overdue' with a small limit for daily planning. Supports a due-date range, ALWAYS pass dueFrom/dueTo when the question concerns a period (a week, a month, 'soon'); the range targets open, dated tasks. Rows are compact summaries; use tasks_getTask (or detail 'full') when the user needs full notes or checklist.
| Field | Type | Description |
|---|---|---|
| query | string | Search query. |
| view | one of all, open, inbox, today, upcoming, overdue, completed | Named view; 'inbox' is untriaged captures (no date, list, or project). |
| status | one of todo, done, cancelled | |
| priority | one of low, normal, high, urgent | |
| tag | string | Exact tag filter. |
| projectId | string | Filter by project ID. |
| listId | string | Filter by Tasks list ID. |
| timeZone | string | Caller's IANA zone so today/overdue mean the user's day; defaults to UTC. |
| dueFrom | string | Only open tasks due ON or AFTER this YYYY-MM-DD date (undated and completed tasks are excluded from date-range queries). |
| dueTo | string | Only open tasks due ON or BEFORE this YYYY-MM-DD date (undated and completed tasks are excluded from date-range queries). |
| detail | one of summary, full | Row shape: "summary" (default, id/title/status/dueDate/priority + notes preview) or "full" (every field incl. complete notes, checklist, and reminders). |
| includeArchived | boolean | Include archived (deleted) tasks; default false. |
| limit | integer | Max records to return (default 50 in summary mode, 200 in full). |
tasks_queryTaskStatsFindthrough vritto_findCount tasks by status plus how many open tasks are overdue. Prefer this over tasks_queryTasks for how-many questions.
No input.
tasks_createTaskCreatethrough vritto_createCreate one actionable task. Preserve the user's dueDate (YYYY-MM-DD), dueTime (HH:mm), priority, projectName or list, area, tags, notes, checklist, recurrence, and reminder offsets. Example: title 'Buy groceries', dueDate 2026-07-02, dueTime 18:00, projectName 'Home', tags ['errand'], reminderOffsetsMinutes [60].
| Field | Type | Description |
|---|---|---|
| task* | object | Task fields; title is required. |
| task.title* | string | Task title. |
| task.notes | string | Notes or details. |
| task.status | one of todo, done, cancelled | |
| task.priority | one of low, normal, high, urgent | |
| task.dueDate | string | Local due date YYYY-MM-DD. |
| task.dueTime | string | Local due time HH:mm (24-hour). Requires dueDate. |
| task.timeZone | string | IANA time zone. |
| task.projectId | string | Existing project ID. |
| task.projectName | string | Display name of the linked Projects project. |
| task.listId | string | Tasks list ID from tasks_queryTaskLists, never a name. |
| task.area | string | Area of life or domain. |
| task.tags | list of string | Tags. |
| task.assigneePersonIds | list of string | Person IDs (from the People module) this task is assigned to or waiting on. |
| task.evidenceRefs | list of object | References to records in other modules that motivated this task. |
| task.checklist | list of object | Checklist items inside the task. |
| task.recurrence | object | Recurrence rule. |
| task.reminderOffsetsMinutes | list of integer | Extra reminder offsets in minutes before the due time. |
| task.remindAtDueTime | boolean | Remind at the due time itself; default true for timed tasks. |
| task.calendarVisible | boolean | Whether to show the due date in Calendar (default true). |
| task.idempotencyKey | string | Stable dedupe key. |
Example input
{
"task": {
"title": "Renew passport",
"dueDate": "2026-10-15",
"priority": "high"
}
}tasks_bulkPatchTasksUpdatethrough vritto_updateApply ONE change to every task matching a filter, in a single call, for example moving all overdue tasks to a new due date. The filter runs in Vritto, so you never list or patch the tasks yourself. Returns a count and a small sample, not the rows. Tell the user what will change before you run it.
Note: Applies one change to every task matching the filter, up to 100.
| Field | Type | Description |
|---|---|---|
| filter* | object | Which tasks to change. At least one field is required, an unfiltered bulk edit over every task is never what someone means, and is rejected. |
| filter.view | one of overdue, open | overdue = not done and past due today; open = not done. |
| filter.status | string | Exact status to match. |
| filter.listId | string | Restrict to one list. |
| filter.dueTo | string | Only tasks due on or before this date (YYYY-MM-DD). |
| patch* | object | The single change applied to every matched task. |
| patch.dueDate | string | New due date, YYYY-MM-DD. |
| patch.status | string | |
| patch.listId | string | |
| patch.priority | string |
Example input
{
"filter": {
"view": "overdue"
},
"patch": {
"dueDate": "2026-09-28"
}
}tasks_completeTaskUpdatethrough vritto_updateComplete a task with recurrence awareness: the task is marked done and, if it recurs, the next occurrence is created automatically. Use tasks_setTaskStatus for ordinary non-recurring completion.
Note: Recurring tasks create their next occurrence.
| Field | Type | Description |
|---|---|---|
| taskId* | string | Task ID from a prior tasks_queryTasks or tasks_getTask result, never invented. |
| expectedRevision* | integer | Current revision from a prior tasks_queryTasks or tasks_getTask result. |
tasks_patchTaskUpdatethrough vritto_updateApply a partial update to one task; only the fields present in patch change. Resolve the task with tasks_queryTasks first.
| Field | Type | Description |
|---|---|---|
| taskId* | string | Task ID from a prior tasks_queryTasks or tasks_getTask result, never invented. |
| patch* | object | Fields to change. |
| patch.title | string | Task title. |
| patch.notes | string | Notes or details. |
| patch.status | one of todo, done, cancelled | |
| patch.priority | one of low, normal, high, urgent | |
| patch.dueDate | string | Local due date YYYY-MM-DD. |
| patch.dueTime | string | Local due time HH:mm (24-hour). Requires dueDate. |
| patch.timeZone | string | IANA time zone. |
| patch.projectId | string | Existing project ID. |
| patch.projectName | string | Display name of the linked Projects project. |
| patch.listId | string | Tasks list ID from tasks_queryTaskLists, never a name. |
| patch.area | string | Area of life or domain. |
| patch.tags | list of string | Tags. |
| patch.assigneePersonIds | list of string | Person IDs (from the People module) this task is assigned to or waiting on. |
| patch.evidenceRefs | list of object | References to records in other modules that motivated this task. |
| patch.checklist | list of object | Checklist items inside the task. |
| patch.recurrence | object | Recurrence rule. |
| patch.reminderOffsetsMinutes | list of integer | Extra reminder offsets in minutes before the due time. |
| patch.remindAtDueTime | boolean | Remind at the due time itself; default true for timed tasks. |
| patch.calendarVisible | boolean | Whether to show the due date in Calendar (default true). |
| patch.idempotencyKey | string | Stable dedupe key. |
| expectedRevision | integer | Revision guard from the last read; include when available. |
Example input
{
"taskId": "task_passport",
"patch": {
"dueDate": "2026-10-20"
}
}tasks_setTaskStatusUpdatethrough vritto_updateSet one task's status (todo, in_progress, done, cancelled). Use this for ordinary checkbox-style completion. Resolve the task with tasks_queryTasks first.
| Field | Type | Description |
|---|---|---|
| taskId* | string | Task ID from a prior tasks_queryTasks or tasks_getTask result, never invented. |
| status* | one of todo, done, cancelled | New task status. |
| expectedRevision | integer | Revision guard from the last read; include when available. |
tasks_deleteTaskDeletethrough vritto_deleteDelete (archive and cancel) one task. Only for explicit deletion requests. Resolve the task with tasks_queryTasks first.
| Field | Type | Description |
|---|---|---|
| taskId* | string | Task ID from a prior tasks_queryTasks or tasks_getTask result, never invented. |
| expectedRevision* | integer | Current revision from a prior tasks_queryTasks or tasks_getTask result. |
Task Listtask_list
A list that files tasks.
tasks_queryTaskListsFindthrough vritto_findList the user's Tasks lists (id, name) so a task can be filed by listId. Call this before setting listId.
| Field | Type | Description |
|---|---|---|
| includeArchived | boolean | Include archived lists; default false. |
tasks_createTaskListCreatethrough vritto_createCreate one Tasks list. Only when the user asks for a new list; otherwise file into an existing one.
| Field | Type | Description |
|---|---|---|
| name* | string | List name. |
| accent | integer | Accent colour index. |
Example input
{
"name": "Errands"
}tasks_patchTaskListUpdatethrough vritto_updateRename or recolour one Tasks list; only the fields present change.
| Field | Type | Description |
|---|---|---|
| listId* | string | List ID. |
| patch* | object | Fields to change. |
| patch.name | string | |
| patch.accent | integer | |
| expectedRevision | integer | Revision guard from the last read; include when available. |
tasks_deleteTaskListDeletethrough vritto_deleteArchive one Tasks list. Its tasks are kept and become unsorted unless moveToListId is given.
| Field | Type | Description |
|---|---|---|
| listId* | string | List ID. |
| expectedRevision* | integer | Current revision from a prior tasks_queryTasks or tasks_getTask result. |
| moveToListId | string | Move the list's tasks here instead of unsorting them. |
Kept in the Vritto app
tasks_googleTasksAuth: Connects, syncs, or disconnects another account.tasks_listGoogleTasksConnections: Connects, syncs, or disconnects another account.tasks_syncGoogleTasks: Connects, syncs, or disconnects another account.tasks_disconnectGoogleTasks: Connects, syncs, or disconnects another account.tasks_updateTask: Replaces a whole record and clears omitted fields; the merge operation is on MCP instead.