Skip To Main Content
All modules

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_find

Fetch one task by its ID. Requires a real taskId, never invent IDs; use tasks_queryTasks first when the ID is unknown.

FieldTypeDescription
taskId*stringTask ID.
tasks_getTaskCalendarOccurrencesFindthrough vritto_find

List calendar occurrences for open, calendar-visible tasks with due dates inside a datetime range. The range must be valid and under 93 days.

FieldTypeDescription
start*stringRange start as an ISO 8601 datetime or date.
end*stringRange end as an ISO 8601 datetime or date; at most 93 days after start.
tasks_queryTasksFindthrough vritto_find

Search 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.

FieldTypeDescription
querystringSearch query.
viewone of all, open, inbox, today, upcoming, overdue, completedNamed view; 'inbox' is untriaged captures (no date, list, or project).
statusone of todo, done, cancelled
priorityone of low, normal, high, urgent
tagstringExact tag filter.
projectIdstringFilter by project ID.
listIdstringFilter by Tasks list ID.
timeZonestringCaller's IANA zone so today/overdue mean the user's day; defaults to UTC.
dueFromstringOnly open tasks due ON or AFTER this YYYY-MM-DD date (undated and completed tasks are excluded from date-range queries).
dueTostringOnly open tasks due ON or BEFORE this YYYY-MM-DD date (undated and completed tasks are excluded from date-range queries).
detailone of summary, fullRow shape: "summary" (default, id/title/status/dueDate/priority + notes preview) or "full" (every field incl. complete notes, checklist, and reminders).
includeArchivedbooleanInclude archived (deleted) tasks; default false.
limitintegerMax records to return (default 50 in summary mode, 200 in full).
tasks_queryTaskStatsFindthrough vritto_find

Count tasks by status plus how many open tasks are overdue. Prefer this over tasks_queryTasks for how-many questions.

No input.

tasks_createTaskCreatethrough vritto_create

Create 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].

FieldTypeDescription
task*objectTask fields; title is required.
task.title*stringTask title.
task.notesstringNotes or details.
task.statusone of todo, done, cancelled
task.priorityone of low, normal, high, urgent
task.dueDatestringLocal due date YYYY-MM-DD.
task.dueTimestringLocal due time HH:mm (24-hour). Requires dueDate.
task.timeZonestringIANA time zone.
task.projectIdstringExisting project ID.
task.projectNamestringDisplay name of the linked Projects project.
task.listIdstringTasks list ID from tasks_queryTaskLists, never a name.
task.areastringArea of life or domain.
task.tagslist of stringTags.
task.assigneePersonIdslist of stringPerson IDs (from the People module) this task is assigned to or waiting on.
task.evidenceRefslist of objectReferences to records in other modules that motivated this task.
task.checklistlist of objectChecklist items inside the task.
task.recurrenceobjectRecurrence rule.
task.reminderOffsetsMinuteslist of integerExtra reminder offsets in minutes before the due time.
task.remindAtDueTimebooleanRemind at the due time itself; default true for timed tasks.
task.calendarVisiblebooleanWhether to show the due date in Calendar (default true).
task.idempotencyKeystringStable dedupe key.
Example input
{
  "task": {
    "title": "Renew passport",
    "dueDate": "2026-10-15",
    "priority": "high"
  }
}
tasks_bulkPatchTasksUpdatethrough vritto_update

Apply 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.

FieldTypeDescription
filter*objectWhich 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.viewone of overdue, openoverdue = not done and past due today; open = not done.
filter.statusstringExact status to match.
filter.listIdstringRestrict to one list.
filter.dueTostringOnly tasks due on or before this date (YYYY-MM-DD).
patch*objectThe single change applied to every matched task.
patch.dueDatestringNew due date, YYYY-MM-DD.
patch.statusstring
patch.listIdstring
patch.prioritystring
Example input
{
  "filter": {
    "view": "overdue"
  },
  "patch": {
    "dueDate": "2026-09-28"
  }
}
tasks_completeTaskUpdatethrough vritto_update

Complete 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.

FieldTypeDescription
taskId*stringTask ID from a prior tasks_queryTasks or tasks_getTask result, never invented.
expectedRevision*integerCurrent revision from a prior tasks_queryTasks or tasks_getTask result.
tasks_patchTaskUpdatethrough vritto_update

Apply a partial update to one task; only the fields present in patch change. Resolve the task with tasks_queryTasks first.

FieldTypeDescription
taskId*stringTask ID from a prior tasks_queryTasks or tasks_getTask result, never invented.
patch*objectFields to change.
patch.titlestringTask title.
patch.notesstringNotes or details.
patch.statusone of todo, done, cancelled
patch.priorityone of low, normal, high, urgent
patch.dueDatestringLocal due date YYYY-MM-DD.
patch.dueTimestringLocal due time HH:mm (24-hour). Requires dueDate.
patch.timeZonestringIANA time zone.
patch.projectIdstringExisting project ID.
patch.projectNamestringDisplay name of the linked Projects project.
patch.listIdstringTasks list ID from tasks_queryTaskLists, never a name.
patch.areastringArea of life or domain.
patch.tagslist of stringTags.
patch.assigneePersonIdslist of stringPerson IDs (from the People module) this task is assigned to or waiting on.
patch.evidenceRefslist of objectReferences to records in other modules that motivated this task.
patch.checklistlist of objectChecklist items inside the task.
patch.recurrenceobjectRecurrence rule.
patch.reminderOffsetsMinuteslist of integerExtra reminder offsets in minutes before the due time.
patch.remindAtDueTimebooleanRemind at the due time itself; default true for timed tasks.
patch.calendarVisiblebooleanWhether to show the due date in Calendar (default true).
patch.idempotencyKeystringStable dedupe key.
expectedRevisionintegerRevision guard from the last read; include when available.
Example input
{
  "taskId": "task_passport",
  "patch": {
    "dueDate": "2026-10-20"
  }
}
tasks_setTaskStatusUpdatethrough vritto_update

Set one task's status (todo, in_progress, done, cancelled). Use this for ordinary checkbox-style completion. Resolve the task with tasks_queryTasks first.

FieldTypeDescription
taskId*stringTask ID from a prior tasks_queryTasks or tasks_getTask result, never invented.
status*one of todo, done, cancelledNew task status.
expectedRevisionintegerRevision guard from the last read; include when available.
tasks_deleteTaskDeletethrough vritto_delete

Delete (archive and cancel) one task. Only for explicit deletion requests. Resolve the task with tasks_queryTasks first.

FieldTypeDescription
taskId*stringTask ID from a prior tasks_queryTasks or tasks_getTask result, never invented.
expectedRevision*integerCurrent revision from a prior tasks_queryTasks or tasks_getTask result.

Task Listtask_list

A list that files tasks.

tasks_queryTaskListsFindthrough vritto_find

List the user's Tasks lists (id, name) so a task can be filed by listId. Call this before setting listId.

FieldTypeDescription
includeArchivedbooleanInclude archived lists; default false.
tasks_createTaskListCreatethrough vritto_create

Create one Tasks list. Only when the user asks for a new list; otherwise file into an existing one.

FieldTypeDescription
name*stringList name.
accentintegerAccent colour index.
Example input
{
  "name": "Errands"
}
tasks_patchTaskListUpdatethrough vritto_update

Rename or recolour one Tasks list; only the fields present change.

FieldTypeDescription
listId*stringList ID.
patch*objectFields to change.
patch.namestring
patch.accentinteger
expectedRevisionintegerRevision guard from the last read; include when available.
tasks_deleteTaskListDeletethrough vritto_delete

Archive one Tasks list. Its tasks are kept and become unsorted unless moveToListId is given.

FieldTypeDescription
listId*stringList ID.
expectedRevision*integerCurrent revision from a prior tasks_queryTasks or tasks_getTask result.
moveToListIdstringMove 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.