To let an assistant use these tools, grant AI agents on the consent screen, or just
Bookings under its Fine-tune. The scope is bookings.
Read tools work with Read only or Read & write access; write tools only with
Read & write.
Your assistant doesn't see these tools straight away. It finds them with search_tools or
describe_tools, and runs one with use_tool, passing its name and
arguments. Most assistants do this for you: just ask for what you want.
What your assistant is told about this group
Your appointment diary (bookings agents made, and entries your team added): list, add, move, cancel, and assign to a team member. When a booking came from a conversation, moving or cancelling it has the agent tell the customer: confirm with the user first. Bookings copied from an outside calendar are changed in that calendar, but can still be assigned here.
The descriptions below are the ones your assistant reads, so they're written for it. When a connection covers more than one
organisation, the assistant passes org (the organisation's slug, from list_orgs) to say which one.
list_bookings
Read List bookings
The org's diary: upcoming appointments (default) or all, including past and cancelled, 50 per page. assigned_to narrows it to one team member's: "me", a user id, or "unassigned".
Arguments
| Field | Type | Description |
|---|---|---|
| scope | string |
One of: "upcoming", "all"
|
| page | integer | |
| assigned_to | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_booking
Read Get a booking
One appointment with who it's with and the conversation it came from.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
search_booking_people
Read Find someone to book with
Searches insurance customers and contacts by name, email or phone (at least 2 characters) and returns their ids for create_booking.
Arguments
| Field | Type | Description |
|---|---|---|
| query required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_booking
Write Add a booking
Adds an appointment to the diary. starts_at without an offset (YYYY-MM-DDTHH:MM) is the org's local time. An overlap doesn't block, but overlapped: true means the agent will stop offering that slot. Link a customer_id or contact_id from search_booking_people. assigned_to_id puts a team member (an active member's user id) on it; omitted, it goes to the lead's owner, if there is one. The assignee is notified unless it's you.
Arguments
| Field | Type | Description |
|---|---|---|
| starts_at required | string | |
| duration_minutes | integer | 5 to 480. |
| topic required | string | |
| notes | string | |
| customer_id | string | |
| contact_id | string | |
| assigned_to_id | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
reschedule_booking
Write Move a booking
REACHES THE CUSTOMER when the booking came from a conversation: the agent tells them the new time (customer_notified). Confirm the new time with the user first. Only diary bookings, not ones mirrored from an external calendar. starts_at without an offset is org-local time.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| starts_at required | string | |
| duration_minutes | integer | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
cancel_booking
Write Cancel a booking
REACHES THE CUSTOMER when the booking came from a conversation: the agent tells them and offers to rebook (customer_notified). Confirm with the user first. Frees the slot; the booking is kept, marked cancelled.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
assign_booking
Write Assign a booking
Puts a team member on an appointment (user_id: an active member's id), or omit user_id to unassign it. Works on external calendar mirrors too; not on cancelled bookings. The new assignee is notified unless it's you, and the lead's appointment task moves to them.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| user_id | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |