> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xpressbot.org/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Agents and Booking Studio

> Let an AI agent list your services, find free times, and book, move, or cancel appointments for customers in chat.

## What is this?

An **AI agent** can take bookings for you straight from a conversation. Customers ask "Do you have anything on Friday?" and the agent checks your real calendar, offers free times, and books — then confirms. It uses the same services, team hours, and rules as your booking page, so it can't offer a time you couldn't take.

You switch this on by giving the agent the **Booking Studio** capabilities. See [Capabilities](/workspace/ai-agents/tabs/capabilities.md) for how capabilities work.

## What can I do here?

The **Booking Studio** capability group has these capabilities:

| Capability | What it does | Needs the customer's OK? |
| - | - | - |
| **Search Services** | Lists your bookable services, how long each takes, who does it, and any questions to answer | No |
| **Check Service Availability** | Lists free start times for a service, optionally for one person or group size | No |
| **Get My Service Bookings** | Looks up the customer's own upcoming bookings | No |
| **Book Service** | Books the customer at a free time | **Yes** |
| **Reschedule Service Booking** | Moves one of the customer's own bookings to another free time | **Yes** |
| **Cancel Service Booking** | Cancels one of the customer's own bookings | **Yes** |

## How to use it

1. Open [AI Agents](/workspace/ai-agents/overview.md) and open or create an agent. You can start from a ready-made template in the **Booking** category — **Appointment and Service Booking Agent**, **Rescheduling and Cancellation Agent**, or **Booking Confirmation Agent**.
2. Open the agent's **Capabilities** tab and, under **Booking Studio**, turn on the capabilities you want.
3. Publish your services and make sure people have working hours — the agent only sees what a customer could book.
4. Test it in the agent's **Test** tab before going live.

### How the agent behaves

* **It never guesses a time.** It checks availability first and offers a few options, not the whole list.
* **It asks before it changes anything.** For booking, moving, or cancelling, it states the service, time, and person, and waits for a clear yes.
* **It only touches the customer's own bookings.** It always acts for the person it's talking to.
* **It can't book a service with a waiver.** Waivers must be signed on the booking page, so the agent sends the customer there instead.
* **It uses your service's questions.** It collects answers to any questions you set up on the service.

Bookings made this way are marked **AI agent** in the [Bookings](/workspace/booking-studio/bookings.md) list.

### Marking visits complete

**Complete a booking** — marking a visit done and recording the notes — is a **staff-only** action. It's available over [MCP](/api-reference/mcp/overview.md) to team members and API keys, never to a customer's chat.

## Using Booking Studio from other tools (MCP)

If you connect an AI tool to your workspace over MCP, these tools are available:

| Tool | What it does | Mode | Permission needed |
| - | - | - | - |
| `search_services` | List the channel's published bookable services | Read | `services:view` |
| `check_service_availability` | List free start times for a service | Read | `services:view` |
| `get_service_bookings` | List a contact's upcoming bookings | Read | `services:view` |
| `book_service` | Book a contact into a service at a free time | Write | `services:edit` |
| `reschedule_service_booking` | Move a booking to another free time | Write | `services:edit` |
| `complete_service_booking` | Mark a visit completed and add private notes | Write | `services:edit` |

Cancelling a booking isn't offered over MCP — it stays in the dashboard and in the agent's customer chat, with the customer's confirmation. See the [MCP tool catalog](/api-reference/mcp/tools.md).

## Troubleshooting / Technical Notes

* **The agent says it can't see the calendar.** Turn on **Check Service Availability**, and make sure the service is published with people who have working hours.
* **The agent won't book.** The service may need a waiver (send them to the booking page), or the customer hasn't clearly confirmed.
* **The agent offers a time that isn't free.** It shouldn't — it only offers returned times. Check the service's rules and the person's calendar sync.
* **The Booking Studio group is missing from Capabilities.** Booking Studio may not be enabled for your plan or platform.
* **A booking made by the agent needs approval.** It follows the service's rules: if **approval** is required, it's created as **Pending** until you approve it.

## Related docs

* [Booking Studio Overview](/workspace/booking-studio/overview.md)
* [Bookings](/workspace/booking-studio/bookings.md)
* [Capabilities](/workspace/ai-agents/tabs/capabilities.md)
* [MCP tool catalog](/api-reference/mcp/tools.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.