# SimplyBook.me MCP

> SimplyBook.me connects your AI agent directly to a service business's scheduling platform. It lets you manage client appointments, check staff availability, and handle records without ever opening the dashboard. Your agent can read services, list clients, book new spots using `create_booking`, or adjust existing times with `update_booking`. This is for automating front-office operations from chat.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** appointment-booking, staff-calendars, service-management, client-records, scheduling-automation

## Description

Connect your AI client directly to **SimplyBook.me**. Your agent handles every part of a service business's scheduling process—from booking new appointments right through to updating records—without you ever having to open the actual dashboard. It’s built for automating front-office operations straight from chat.

**Handling Appointments and Availability**

Your agent manages all appointment changes using specific tools. You can book a brand-new client slot with `create_booking`, which requires the service ID, provider unit ID, and start time to lock it down. If things change, you modify an existing reservation with `update_booking`. For permanent cancellations, your agent invokes `cancel_booking`; be warned, that action is irreversible.

To check who’s working and when they got free slots, the system uses `get_work_calendar`, giving a full view of availability for any specified provider or service unit. If you need to see all class times or recurring group sessions, your agent calls `list_events`. Furthermore, if you just want an overview of everything scheduled across the entire timeframe, running `list_bookings` pulls up that comprehensive list.

**Client and Record Management**

For client details, your agent accesses profiles using `list_clients`, giving a full roster of every customer associated with your company. To review specific history or contact info for one person, it calls `get_booking_details` by the booking identifier. The system also lets you pull up an entire list of all current bookings via `list_bookings`, keeping everything auditable.

**Inventory and Resource Lookups**

When you need to know what services are offered or who can provide them, your agent handles that lookup automatically. It pulls a complete menu using `list_services`, providing every available service name along with its pricing structure and duration. To see which staff members or physical spots are on the books, it uses `list_units` to get every service unit ID. These tools ensure your agent always knows what resources exist before trying to book anything.

**The Full Workflow Summary**

Your AI client can build an entire operational flow by combining these functions. If a customer walks in needing a haircut, the agent first uses `list_services` to confirm 'Haircut' is available, then calls `list_units` to see if Provider X is open that afternoon. Next, it checks staff availability with `get_work_calendar` for Provider X and finds an opening at 2:00 PM. It then executes the booking using `create_booking`, confirming the service ID, unit ID, and time slot all in one move. If the client needs to reschedule later that week, the agent can use `update_booking` directly on the original record. When it's done with a client interaction, your agent has access to every piece of data needed—the full list of clients from `list_clients`, the status of all scheduled events via `list_events`, and the detailed records pulled by `get_booking_details`. You don't touch any screens; you just talk to your agent, and it runs the whole show.

## Tools

### cancel_booking
Stops a scheduled appointment. Note: this action is irreversible.

### create_booking
Schedules a new client appointment, requiring the service ID, provider unit ID, and start time.

### get_booking_details
Pulls up all specific details for one existing booking by its identifier.

### get_work_calendar
Retrieves the full work calendar and available slots for a specified service unit or provider.

### list_bookings
Generates a list of all scheduled appointments across the entire system timeframe.

### list_clients
Retrieves a comprehensive roster of every client associated with your company.

### list_events
Lists all specific calendar events, classes, or recurring group sessions.

### list_services
Provides a complete list of every service (e.g., haircut, facial) and its pricing/duration offered by the company.

### list_units
Lists all service units available—this includes individual providers or physical locations.

### update_booking
Changes details on a booking that already exists, such as moving the time or changing the associated service.

## Prompt Examples

**Prompt:** 
```
List all available services offered by my company.
```

**Response:** 
```
Here are the 5 services currently offered:
1. Haircut (30 min) — $25
2. Full Color (90 min) — $120
3. Manicure (45 min) — $35
4. Facial Treatment (60 min) — $80
5. Consultation (15 min) — Free

Would you like to book an appointment for any of these?
```

**Prompt:** 
```
Show me all bookings for next week.
```

**Response:** 
```
Found 8 bookings for April 7–11:
- Mon 10:00 — Maria S. (Haircut)
- Mon 14:30 — João P. (Full Color)
- Tue 09:00 — Ana L. (Facial Treatment)
- Wed 11:00 — Carlos M. (Consultation)
- Thu 15:00 — Laura R. (Manicure)
- Fri 10:00 — Pedro G. (Haircut)
- Fri 13:00 — Sofia T. (Full Color)
- Fri 16:00 — Diego A. (Facial Treatment)

Would you like details on any specific booking?
```

## Capabilities

### Book and Modify Appointments
Your agent creates new appointments using `create_booking` or changes existing ones with `update_booking`, handling the necessary service IDs and start times automatically.

### Check Staff Availability
You can query staff schedules, getting a full view of who is working and when they are free using `get_work_calendar`.

### Manage Client Data
The agent accesses client profiles to retrieve contact details or review past appointment history via the `list_clients` tool.

### Find Services and Units
You get a complete list of all available services (`list_services`) and see every provider or location on file using `list_units`.

### Review Scheduling Load
The agent pulls up comprehensive lists of upcoming appointments, allowing you to quickly audit the schedule using `list_bookings`.

## Use Cases

### Rescheduling a Client Appointment
A client asks their assistant to move next week's manicure. Instead of having the assistant log into the system, they simply ask the agent. The agent uses `get_booking_details` to find the original booking and then runs `update_booking` with the new time slot, confirming the change instantly.

### Checking Staff Availability for a New Service
A manager needs to book three employees for a group training next month. They ask the agent to check availability across multiple staff members. The agent runs `get_work_calendar` and cross-references it with `list_units` to find the narrowest window.

### Audit Before Launch Day
The operations team needs to know every appointment scheduled for next week. They ask the agent, which executes `list_bookings`, providing a full summary that prevents double-booking or missed clients before staff arrive.

### Adding a New Service Line
A Spa owner wants to check if they can add 'Hot Stone Massage.' They ask the agent to list all current services. The agent runs `list_services`, allowing them to see existing categories and pricing structure before adding anything.

## Benefits

- **Automate booking:** You eliminate manual data entry by letting your agent use `create_booking` to schedule services, bypassing the entire web interface.
- **Real-time visibility:** Instead of opening multiple tabs, you get a consolidated view of staff schedules and open times using `get_work_calendar`. Check availability instantly.
- **Client history access:** Need to know what a client got last time? Use `list_clients` or `get_booking_details` to pull up their record in seconds. No digging through old files required.
- **Comprehensive resource mapping:** You never have to guess if a service exists. Calling `list_services` gives you the full catalog, including duration and cost details.
- **Total oversight:** By running `list_bookings`, you get an immediate audit of all scheduled appointments across the entire business day or week.

## How It Works

The bottom line is: your AI client acts as the natural language interface, translating human requests into precise, multi-step API calls across all ten tools.

1. First, add the SimplyBook.me integration and provide your required credentials (API Key, API Secret, Company Login) to your AI client.
2. Next, tell your agent what needs doing in plain language—for example, 'Find an opening for a haircut next Tuesday.'
3. The agent translates that request into tool calls (`get_work_calendar`, `list_services`) and executes them against the SimplyBook.me API to provide the answer.

## Frequently Asked Questions

**How do I check staff availability using the get_work_calendar tool?**
You ask your agent to run `get_work_calendar` and specify the Unit ID or Provider name. It returns all working hours, showing exactly when they are free for a booking.

**Can I list all services using the list_services tool?**
Yes, calling `list_services` provides a full catalog of every service offered by your company, including pricing and expected duration. This helps you guide clients when they book.

**What is the difference between list_bookings and get_booking_details?**
`list_bookings` shows you a roster—a summary of many appointments (e.g., '8 bookings next week'). `get_booking_details` gives you the deep dive on just one specific booking.

**If I want to cancel an appointment, which tool should I use?**
Use the `cancel_booking` tool. Just provide the necessary booking ID and confirm the cancellation; it handles the deletion from your system immediately.

**What data points can I modify using the `update_booking` tool?**
The `update_booking` tool lets you change details on an existing appointment. You must provide the booking ID and then specify which fields—like the service or time—you want to alter.

**What information do I get when I run `list_clients`?**
The tool returns a list of all company clients. You can pull basic contact details and view their booking history, which helps your agent build context for new interactions.

**What credentials are required to successfully use the `get_work_calendar` tool?**
You need the API Key, API Secret, and the specific Unit ID. The unit ID is crucial because it tells the agent exactly which staff member's schedule you want to view.

**If I forget required details when using `create_booking`, what happens?**
The system will throw an error if key parameters are missing. For a booking, you must always provide the Service ID, Unit ID, and the start time to successfully make the appointment.

**Can the AI accidentally delete all my bookings?**
No. The cancel_booking tool only cancels a single specific booking by its ID. It cannot perform bulk deletions or affect account settings. Each cancellation requires an explicit booking ID.

**How does authentication work?**
You provide your API Key, API Secret, and Company Login. The integration automatically exchanges them for a session token (X-Token) on each request — no manual OAuth setup required.

**Can the AI create new bookings or only manage existing ones?**
The AI can both create new bookings and manage existing ones. Use create_booking to schedule appointments and cancel_booking to cancel specific reservations by their ID.