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. The same operations reach the doctors, dentists, specialists and clinics behind them (type 'provider').
appointments_findFindthrough vritto_findRead Appointments: with no filter headline counts, the next and latest visits and the providers; one visit by id, or visits filtered by view, dates, text, status or provider; type 'provider' reads the directory. Compact rows unless detail is 'full'.
Note: type 'provider' reads the provider directory.
| Field | Type | Description |
|---|---|---|
| type | one of appointment, provider | 'appointment' (default) or 'provider', a doctor or clinic. The kind of visit is record.type. |
| id | string | Return just this appointment (or provider). |
| subjectPersonId | string | 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. |
| view | one of upcoming, past, all | 'upcoming' visits ahead (soonest first), 'past' ones newest first, 'all' (default). |
| from | string | Earliest visit date, inclusive. |
| to | string | Latest visit date, inclusive. ALWAYS pass from/to when the question concerns a period. |
| query | string | Text to match: title, provider, kind of visit (e.g. 'vision', 'dental'), reason or location; for providers, name, specialty or practice. |
| status | one of scheduled, completed, cancelled, no_show | Only visits in this status. |
| providerId | string | Only visits with this provider. |
| limit | integer | Rows to return, default 20. |
| detail | one of summary, full | "summary" (default, compact rows) or "full" (every field incl. reason, outcome, and notes). |
Example input
{}appointments_addCreate or Updatethrough vritto_create or vritto_updateAdd one appointment (record.title and record.startAt, an ISO datetime with the user's UTC offset), or with type 'provider' a doctor or clinic (record.name). Link a visit to a saved provider with providerId.
Note: type 'provider' saves a doctor or clinic; the kind of visit is record.type.
| Field | Type | Description |
|---|---|---|
| type | one of appointment, provider | 'appointment' (default) or 'provider', a doctor or clinic. The kind of visit is record.type. |
| record* | object | The visit's fields (title + startAt), or a provider's (type 'provider', name). |
| record.id | string | Leave out when adding; to change a visit or provider use appointments_change. |
| record.title | string | Short summary, e.g. 'Annual physical'. Required when creating. |
| record.providerId | string | Link to a saved provider; the server denormalizes the name. |
| record.providerName | string | Provider name if not linking a saved provider record. |
| record.type | one of checkup, follow_up, consultation, procedure, lab, imaging, dental, vision, therapy, vaccination, telehealth, other | Defaults to 'checkup'. |
| record.status | one of scheduled, completed, cancelled, no_show | Defaults to 'scheduled'. |
| record.startAt | string | Appointment 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.durationMinutes | integer | Length in minutes (default 30). |
| record.location | string | Address or place (free text). |
| record.placeKey | string | Place key ('google:<id>' or 'manual:<uuid>') linking the visit location to a saved Place, from a Places tool result, never invented. |
| record.isVirtual | boolean | Whether it's a telehealth/virtual visit. |
| record.meetingUrl | string | Video link for virtual visits. |
| record.reason | string | Why the visit is happening. |
| record.notes | string | Prep notes or questions to ask. |
| record.outcome | string | Post-visit summary of what was discussed. |
| record.followUpOn | string | Date a follow-up is due. |
| record.subjectPersonId | string | Whose visit: a People person id (find with people_find). Omit for the account owner's own. |
| record.reminderMinutesBefore | integer | Reminder lead time in minutes (default 1440 = 1 day). |
| record.tags | list of string | |
| record.calendarVisibility | one of private, details, hidden | What 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. |
| record.name | string | A provider's name, e.g. 'Dr. Chen' (type 'provider'). |
| record.specialty | string | A provider's specialty, e.g. 'Cardiology', 'Dentist'. |
| record.organization | string | A provider's practice or clinic name. |
| record.phone | string | |
| record.email | string | |
| record.website | string | |
| record.address | string | A provider's address. |
| record.favorite | boolean | Mark a provider as a favorite/primary provider. |
Example input
{
"record": {
"title": "Annual physical",
"providerName": "Dr. Rivera",
"type": "checkup",
"startAt": "2026-10-08T09:30:00-05:00",
"durationMinutes": 30
}
}appointments_changeUpdatethrough vritto_updateChange one appointment (or with type 'provider' a provider) by record.id; sent fields merge. A cancelled visit is status 'cancelled' (kept, never removed); after a visit set status 'completed' with an outcome and followUpOn. Resolve the id with appointments_find first.
Note: To record a cancellation, change the status to 'cancelled' instead of removing the visit.
| Field | Type | Description |
|---|---|---|
| type | one of appointment, provider | 'appointment' (default) or 'provider', a doctor or clinic. The kind of visit is record.type. |
| record* | object | The record's id plus the fields to change. |
| record.id* | string | The appointment (or provider) to change, from a prior appointments_find result. |
| record.title | string | Short summary, e.g. 'Annual physical'. Required when creating. |
| record.providerId | string | Link to a saved provider; the server denormalizes the name. |
| record.providerName | string | Provider name if not linking a saved provider record. |
| record.type | one of checkup, follow_up, consultation, procedure, lab, imaging, dental, vision, therapy, vaccination, telehealth, other | Defaults to 'checkup'. |
| record.status | one of scheduled, completed, cancelled, no_show | Defaults to 'scheduled'. |
| record.startAt | string | Appointment 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.durationMinutes | integer | Length in minutes (default 30). |
| record.location | string | Address or place (free text). |
| record.placeKey | string | Place key ('google:<id>' or 'manual:<uuid>') linking the visit location to a saved Place, from a Places tool result, never invented. |
| record.isVirtual | boolean | Whether it's a telehealth/virtual visit. |
| record.meetingUrl | string | Video link for virtual visits. |
| record.reason | string | Why the visit is happening. |
| record.notes | string | Prep notes or questions to ask. |
| record.outcome | string | Post-visit summary of what was discussed. |
| record.followUpOn | string | Date a follow-up is due. |
| record.subjectPersonId | string | Whose visit: a People person id (find with people_find). Omit for the account owner's own. |
| record.reminderMinutesBefore | integer | Reminder lead time in minutes (default 1440 = 1 day). |
| record.tags | list of string | |
| record.calendarVisibility | one of private, details, hidden | What 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. |
| record.name | string | A provider's name, e.g. 'Dr. Chen' (type 'provider'). |
| record.specialty | string | A provider's specialty, e.g. 'Cardiology', 'Dentist'. |
| record.organization | string | A provider's practice or clinic name. |
| record.phone | string | |
| record.email | string | |
| record.website | string | |
| record.address | string | A provider's address. |
| record.favorite | boolean | Mark a provider as a favorite/primary provider. |
Example input
{
"record": {
"id": "appt_physical",
"status": "cancelled"
}
}appointments_removeDeletethrough vritto_deleteRemove (archive) one appointment, or with type 'provider' a provider. Only for explicit removals; a cancelled visit is an appointments_change with status 'cancelled'. Resolve the id first.
Note: To record a cancellation, change the appointment's status to 'cancelled' instead. type 'provider' removes a provider.
| Field | Type | Description |
|---|---|---|
| type | one of appointment, provider | 'appointment' (default) or 'provider', a doctor or clinic. The kind of visit is record.type. |
| id | string | The appointment (or provider) to remove. |
| appointmentId | string | Older name for an appointment's id. |
| providerId | string | Older name for a provider's id. |