Book an appointment
book_appointmentCreate a confirmed appointment from an available meeting slot and send calendar invitations to the attendee and guests. Requires a valid start, meeting type, and attendee email.
Instructions
Create a real appointment for a start present in the meeting type availability results and send invitations. An unlisted start is rejected. A confirmed bookingState means the appointment exists; pending_confirmation means it is not booked yet. Either fullName or both firstName and lastName are required.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Attendee email | ||
| notes | No | Answers to the booking form, keyed by question label, e.g. {"What do you want to discuss?": "Pricing"} | |
| phone | No | ||
| start | Yes | Slot start returned by an availability query | |
| hostIds | No | Only to pin a round-robin type to specific hosts. Left out, the meeting type decides. | |
| queueId | No | Rarely needed — resolved from the meeting type by default. | |
| duration | No | Length in minutes. Required only when the availability query used a duration override; otherwise the meeting type decides. | |
| fullName | No | Use when the name cannot be split reliably | |
| lastName | No | ||
| timezone | No | IANA timezone of the attendee, e.g. Europe/Berlin | |
| firstName | No | ||
| guestEmails | No | Additional attendees invited alongside the main one (max 5) | |
| meetingTypeId | Yes | ||
| receiveReminders | No | Send the attendee reminder emails. Defaults to true. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | appointmentId (confirmed only) | |
| message | No | What still has to happen (pending only) | |
| startUtc | No | The booked start, ISO 8601 UTC (confirmed only) | |
| bookingType | No | ||
| bookingState | No | confirmed means the appointment exists; pending_confirmation means it does NOT yet | |
| provisionalBookingId | No |