Skip To Main Content
All modules

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_checkCalendarConflictsFindthrough vritto_find

Check whether a proposed event time conflicts with existing busy events. Call before creating or retiming a busy timed event; pass excludeEventId when rescheduling an existing event.

FieldTypeDescription
temporal*objectTimed range with IANA time zone, or all-day date range.
excludeEventIdstringEvent ID to ignore when rescheduling.
calendarIdslist of stringOptional calendar IDs to restrict the search.
calendar_findCalendarEventsBySourceFindthrough vritto_find

Find native calendar events created by another Vritto module entity (e.g. a task or project) via their source binding.

FieldTypeDescription
source*object
source.moduleId*stringSource module ID, e.g. tasks.
source.entityId*stringSource entity ID within that module.
limitintegerMax records to return; defaults to 25.
calendar_getCalendarEventFindthrough vritto_find

Fetch one native Vritto calendar event by ID. Use only when the event ID is already known.

FieldTypeDescription
eventId*stringCalendar event ID.
calendar_getCalendarFeedFindthrough vritto_find

Read the unified calendar feed for a date-time range (max 93 days): native events, Google overlay events, module projections, sources, colors, and hidden layers. Preferred read for agenda, day, week, and month questions.

FieldTypeDescription
start*stringRange start.
end*stringRange end; at most 93 days after start.
calendar_listGoogleCalendarEventsFindthrough vritto_find

List cached Google Calendar overlay events and sources in a date-time range (max 93 days). Prefer getCalendarFeed for combined agenda reads.

FieldTypeDescription
start*stringRange start.
end*stringRange end; at most 93 days after start.
calendar_queryCalendarEventsFindthrough vritto_find

List native Vritto calendar events overlapping a date-time range (max 93 days), with recurring events expanded into per-occurrence rows (see guide: seriesId/occurrenceKey). Use getCalendarFeed instead for agenda reads that should include Google and module projections.

FieldTypeDescription
start*stringRange start.
end*stringRange end; at most 93 days after start.
calendarIdslist of stringOptional calendar IDs to restrict the search.
limitintegerMax records to return; defaults to 250.
calendar_createCalendarEventCreatethrough vritto_create

Create one Vritto calendar event. Requires title, kind, calendarId ("personal" or "focus"), temporal, availability, and visibility; use a timed temporal with an IANA timeZone for scheduled meetings 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.

FieldTypeDescription
event*objectCalendar event payload.
event.idstringOptional event ID; generated when omitted.
event.title*stringEvent title.
event.kind*one of event, time_block, availability, milestoneCalendar event kind.
event.calendarId*one of personal, focusNative Vritto calendar the event belongs to.
event.temporal*objectTimed range with IANA time zone, or all-day date range.
event.availability*one of busy, freeWhether the event blocks time.
event.visibility*one of default, public, privateCalendar visibility.
event.descriptionstringOptional event notes.
event.locationobjectOptional event location; provide at least one of placeKey, label, or url.
event.recurrenceobjectOptional recurrence rule; both rrule and excludedStarts are required when present.
event.contactIdslist of stringRelated person IDs; each must be an existing person.
event.reminderslist of objectNotification reminders.
event.idempotencyKeystringStable key to avoid duplicate creation.
Example input
{
  "event": {
    "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_patchCalendarEventUpdatethrough vritto_update

Patch an existing Vritto calendar event, e.g. { eventId, patch: { title: "Updated title" } }. Use checkCalendarConflicts first for timed busy events when changing the time.

FieldTypeDescription
eventId*stringCalendar event ID.
patch*objectCalendar event fields to change; omitted fields are kept.
patch.titlestringEvent title.
patch.kindone of event, time_block, availability, milestoneCalendar event kind.
patch.calendarIdone of personal, focusNative Vritto calendar the event belongs to.
patch.temporalobjectTimed range with IANA time zone, or all-day date range.
patch.availabilityone of busy, freeWhether the event blocks time.
patch.visibilityone of default, public, privateCalendar visibility.
patch.descriptionstringOptional event notes.
patch.locationobjectOptional event location; provide at least one of placeKey, label, or url.
patch.recurrenceobjectOptional recurrence rule; both rrule and excludedStarts are required when present.
patch.contactIdslist of stringRelated person IDs; each must be an existing person.
patch.reminderslist of objectNotification reminders.
patch.idempotencyKeystringStable key to avoid duplicate creation.
expectedRevisionintegerOptional revision guard; the write is rejected if the stored revision differs.
Example input
{
  "eventId": "evt_coffee",
  "patch": {
    "title": "Coffee with Priya and Sam"
  }
}
calendar_deleteCalendarEventDeletethrough vritto_delete

Delete one native Vritto calendar event by ID, including its reminders. Use only for explicit deletion requests.

FieldTypeDescription
eventId*stringCalendar event ID.
expectedRevisionintegerOptional 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.
  • calendar_setCalendarLayerVisibility: Changes or reads app-wide settings, which belong in the app.
  • calendar_updateVrittoCalendarColor: Changes or reads app-wide settings, which belong in the app.
  • calendar_updateCalendarEvent: Replaces a whole record and clears omitted fields; the merge operation is on MCP instead.