Calendar
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.
Calendar Eventcalendar_event
An event on the user's Vritto calendar, plus the unified feed that includes other sources.
calendar_findFindthrough vritto_findRead Calendar: search Vritto events by title (query) in a start/end range (at most 93 days, recurring events expanded per occurrence), one event by id, view 'feed' for everything on the calendar, or a conflict check with temporal. For what's on a day or week, use calendar_getDayAgenda.
Note: Pass start/end with the user's UTC offset (at most 93 days). view 'feed' adds connected calendars and other modules' dates; temporal checks a time for conflicts.
| Field | Type | Description |
|---|---|---|
| id | string | Return just this event. |
| eventId | string | Older name for id. |
| view | one of events, feed, google | 'events' (default) Vritto's own events; 'feed' everything on the calendar: connected calendars, other modules' dates, sources, colors and hidden layers; 'google' the cached Google Calendar events only. |
| start | string | Range start with the user's offset. ALWAYS pass start/end when the question concerns a period; without them the range is the week before and the twelve after now. |
| end | string | Range end; at most 93 days after start. |
| query | string | Text to match in an event's title, notes or location. |
| calendarIds | list of string | Optional calendar IDs to restrict the search. |
| temporal | object | A proposed time to check for conflicts with busy events, instead of a list. |
| excludeEventId | string | With temporal: the event being rescheduled, ignored. |
| source | object | Events another module's record created (a task or project). |
| source.moduleId* | string | Source module ID, e.g. tasks. |
| source.entityId* | string | Source entity ID within that module. |
| limit | integer | Max events (default 250). |
Example input
{
"start": "2026-10-01T00:00:00-05:00",
"end": "2026-11-01T00:00:00-05:00"
}calendar_getDayAgendaFindthrough vritto_findWhat's on the user's plate for a day or a few days (max 14): scheduled items, deadlines, all-day items and free time across every calendar and module; the one read for agenda questions. Call a day clear only when its clear flag is true.
| Field | Type | Description |
|---|---|---|
| start* | string | Local start of the first day with the user's UTC offset, e.g. 2026-10-05T00:00:00+05:30. |
| end* | string | Local end, exclusive, e.g. 2026-10-06T00:00:00+05:30 for one day. |
calendar_addCreatethrough vritto_createAdd one Vritto calendar event: title, kind, calendarId ("personal" or "focus"), temporal, availability and visibility; a timed temporal with an IANA timeZone for a scheduled meeting, or an all_day range (exclusive endDate) for day events.
Note: Timed events need start and end with the user's UTC offset; vritto_describe gives their timezone.
| Field | Type | Description |
|---|---|---|
| record | object | Calendar event payload. |
| record.id | string | Optional event ID; generated when omitted. |
| record.title* | string | Event title. |
| record.kind* | one of event, time_block, availability, milestone | Calendar event kind. |
| record.calendarId* | one of personal, focus | Native Vritto calendar the event belongs to. |
| record.temporal* | object | Timed range with IANA time zone, or all-day date range. |
| record.availability* | one of busy, free | Whether the event blocks time. |
| record.visibility* | one of default, public, private | Calendar visibility. |
| record.description | string | Optional event notes. |
| record.location | object | Optional event location; provide at least one of placeKey, label, or url. |
| record.recurrence | object | Optional recurrence rule; both rrule and excludedStarts are required when present. |
| record.contactIds | list of string | Related person IDs; each must be an existing person. |
| record.reminders | list of object | Notification reminders. |
| record.idempotencyKey | string | Stable key to avoid duplicate creation. |
| event | object | Older form of record (calendar_createCalendarEvent). |
| event.title | string |
Example input
{
"record": {
"title": "Coffee with Priya",
"kind": "event",
"calendarId": "personal",
"temporal": {
"mode": "timed",
"start": "2026-10-03T10:00:00-05:00",
"end": "2026-10-03T11:00:00-05:00",
"timeZone": "America/Chicago"
},
"availability": "busy",
"visibility": "default"
}
}calendar_changeUpdatethrough vritto_updateChange one Vritto event by record.id: sent fields change, others are kept (temporal is replaced whole). Retime with temporal after a conflict check. type 'layer' shows or hides a calendar layer; type 'calendar' recolors the personal or focus calendar.
Note: Omitted fields are kept; temporal is replaced whole. Write a recurring event's seriesId, never an occurrence id.
| Field | Type | Description |
|---|---|---|
| type | one of event, layer, calendar | 'event' (default); 'layer' a layer's visibility (layer, visible); 'calendar' a Vritto calendar's color (sourceId, color). |
| record | object | The event's id plus the fields to change; omitted fields are kept, temporal is replaced whole. |
| record.title | string | Event title. |
| record.kind | one of event, time_block, availability, milestone | Calendar event kind. |
| record.calendarId | one of personal, focus | Native Vritto calendar the event belongs to. |
| record.temporal | object | Timed range with IANA time zone, or all-day date range. |
| record.availability | one of busy, free | Whether the event blocks time. |
| record.visibility | one of default, public, private | Calendar visibility. |
| record.description | string | Optional event notes. |
| record.location | object | Optional event location; provide at least one of placeKey, label, or url. |
| record.recurrence | object | Optional recurrence rule; both rrule and excludedStarts are required when present. |
| record.contactIds | list of string | Related person IDs; each must be an existing person. |
| record.reminders | list of object | Notification reminders. |
| record.idempotencyKey | string | Stable key to avoid duplicate creation. |
| record.id* | string | Calendar event ID from calendar_find, never invented; a recurring event's seriesId, never an occurrence id containing "__". |
| expectedRevision | integer | Optional revision guard; the write is rejected if the stored revision differs. |
| layer | string | Type 'layer': the layer or source ID from the feed. |
| visible | boolean | Type 'layer': true shows the layer, false hides it. |
| sourceId | one of personal, focus | Type 'calendar': the Vritto calendar to recolor. |
| color | one of #2E73E8, #5B5BD6, #8A4FD8, #C052D1, #E5484D, #E0653C, #C98A1E, #1F9E63, #0E9C8B, #3AAFB9, #6E7480, #8B6F47 | One of the supported Vritto calendar palette colors. |
| eventId | string | Older form (calendar_patchCalendarEvent): the event, with patch. |
| patch | object | Older form, with eventId: the fields to change. |
| patch.title | string | |
| event | object | Older form (calendar_updateCalendarEvent): a whole replacement event with its id. |
| event.id | string | Vritto record ID. |
Example input
{
"record": {
"id": "evt_coffee",
"title": "Coffee with Priya and Sam"
}
}calendar_removeDeletethrough vritto_deleteDelete one Vritto calendar event by id, including its reminders. Only for explicit deletion requests; a Google-synced event is removed with calendar_deleteGoogleCalendarEvent.
| Field | Type | Description |
|---|---|---|
| id | string | The event to delete. |
| eventId | string | Older name for id. |
| expectedRevision | integer | Optional revision guard; the write is rejected if the stored revision differs. |
Kept in the Vritto app
calendar_googleCalendarAuth: Connects, syncs, or disconnects another account.calendar_syncGoogleCalendar: Connects, syncs, or disconnects another account.calendar_updateGoogleCalendarSelection: Connects, syncs, or disconnects another account.calendar_saveGoogleCalendarEvent: Reaches outside Vritto: another service, a device, or the public web.calendar_deleteGoogleCalendarEvent: Reaches outside Vritto: another service, a device, or the public web.calendar_updateGoogleCalendarColor: Changes or reads app-wide settings, which belong in the app.calendar_listCalendarConnections: Connects, syncs, or disconnects another account.calendar_disconnectGoogleCalendar: Connects, syncs, or disconnects another account.