Skip To Main Content
All modules

Appointments

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.

Medical AppointmentappointmentHealth, off until allowed

A medical, dental, vision, or therapy visit.

appointments_queryAppointmentDashboardFindthrough vritto_find

List appointments (upcoming and past) and the provider directory. Rows are compact summaries plus headline counts; pass detail 'full' only when the user needs visit reasons, outcomes, or notes. Use for schedule/history questions and to resolve an appointment or provider ID before any write.

FieldTypeDescription
detailone of summary, fullResponse shape: "summary" (default, headline counts + upcoming/recent visit rows + providers) or "full" (every field incl. reason, outcome, and notes).
subjectPersonIdstringFilter to one person's visits: a People person id, or 'me' for the account owner's own. ALWAYS pass this when the question names a family member. Omit for everyone's.
appointments_upsertAppointmentCreate or Updatethrough vritto_create or vritto_update

Create or update one appointment. Omit record.id to create (title + startAt required); include a real record.id to update, sent fields merge. startAt must be an ISO datetime with the user's UTC offset. Marking status 'completed' with an outcome records the visit summary.

FieldTypeDescription
record*objectAppointment fields; title + startAt required when creating.
record.idstringExisting appointment ID to update. Omit to create a new appointment.
record.titlestringShort summary, e.g. 'Annual physical'. Required when creating.
record.providerIdstringLink to a saved provider; the server denormalizes the name.
record.providerNamestringProvider name if not linking a saved provider record.
record.typeone of checkup, follow_up, consultation, procedure, lab, imaging, dental, vision, therapy, vaccination, telehealth, otherDefaults to 'checkup'.
record.statusone of scheduled, completed, cancelled, no_showDefaults to 'scheduled'.
record.startAtstringAppointment start as an ISO 8601 datetime WITH the user's UTC offset, e.g. '2026-07-15T14:00:00-04:00'. Required when creating.
record.durationMinutesintegerLength in minutes (default 30).
record.locationstringAddress or place (free text).
record.placeKeystringPlace key ('google:<id>' or 'manual:<uuid>') linking the visit location to a saved Place, from a Places tool result, never invented.
record.isVirtualbooleanWhether it's a telehealth/virtual visit.
record.meetingUrlstringVideo link for virtual visits.
record.reasonstringWhy the visit is happening.
record.notesstringPrep notes or questions to ask.
record.outcomestringPost-visit summary of what was discussed.
record.followUpOnstringDate a follow-up is due.
record.subjectPersonIdstringWhose visit: a People person id (resolve with people_resolvePerson). Omit for the account owner's own.
record.reminderMinutesBeforeintegerReminder lead time in minutes (default 1440 = 1 day).
record.tagslist of string
record.calendarVisibilityone of private, details, hiddenWhat this visit may show on the calendar: 'private' (default, a time block labelled 'Appointment', no title or provider), 'details' (the real title and provider), or 'hidden' (no calendar entry). Only raise it to 'details' when the user asks for it.
Example input
{
  "record": {
    "title": "Annual physical",
    "providerName": "Dr. Rivera",
    "type": "checkup",
    "startAt": "2026-10-08T09:30:00-05:00",
    "durationMinutes": 30
  }
}
appointments_deleteAppointmentDeletethrough vritto_delete

Delete (archive) one appointment. Only for explicit removals, to record a cancellation, upsert with status 'cancelled' instead. Resolve the ID with appointments_queryAppointmentDashboard first.

Note: To record a cancellation, update the appointment with status 'cancelled' instead.

FieldTypeDescription
appointmentId*stringAppointment ID from a prior appointments_queryAppointmentDashboard result, never invented.

Medical ProviderproviderHealth, off until allowed

A doctor, dentist, specialist, or clinic.

appointments_upsertProviderCreate or Updatethrough vritto_create or vritto_update

Create or update one provider (doctor, dentist, specialist, or clinic). Omit record.id to create (name required); include a real record.id to update, sent fields merge.

FieldTypeDescription
record*objectProvider fields; name required when creating.
record.idstringExisting provider ID to update. Omit to create a new provider.
record.namestringProvider name, e.g. 'Dr. Chen'. Required when creating.
record.specialtystringe.g. 'Cardiology', 'Dentist'.
record.organizationstringPractice or clinic name.
record.phonestring
record.emailstring
record.websitestring
record.addressstring
record.notesstring
record.tagslist of string
record.favoritebooleanMark as a favorite/primary provider.
Example input
{
  "record": {
    "name": "Dr. Maya Rivera",
    "specialty": "Primary care",
    "organization": "Lakeside Clinic",
    "phone": "312-555-0142"
  }
}
appointments_deleteProviderDeletethrough vritto_delete

Delete (archive) one provider. Only for explicit removals. Resolve the ID with appointments_queryAppointmentDashboard first.

FieldTypeDescription
providerId*stringProvider ID from a prior appointments_queryAppointmentDashboard result, never invented.