book_appointment
Books a future appointment slot in the customer's timezone, checks required details and availability, then confirms it and syncs to connected calendars.
Instructions
Book an appointment. Books a slot the way the portal calendar does: the account's required customer fields are enforced (422 missing_fields), the time must be in the future and free (409 slot_unavailable), the appointment is confirmed at once, synced to Google Calendar and GoHighLevel when connected, and appointment.booked fires. Attach conversation_id to book for a person you are chatting with; they get the confirmation DM unless send_confirmation is false. date and time are the customer's wall-clock time in timezone (the account timezone when omitted).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cost | No | ||
| date | Yes | YYYY-MM-DD. | |
| time | Yes | HH:MM, 24-hour, in timezone. | |
| notes | No | ||
| customer | Yes | ||
| location | No | ||
| timezone | No | IANA name. Default: the account timezone. | |
| service_type | No | A bookable service name from ai/config booking.bookable_services, or free text. | consultation |
| vehicle_info | No | ||
| conversation_id | No | Book for the person in this conversation; sets the channel and enables the confirmation DM. | |
| duration_minutes | No | Defaults to the service's duration, else 30. | |
| send_confirmation | No | With conversation_id: DM the customer the confirmation. |