# Bulk reschedule Booksy appointments when a staff member is out

> A barber calls in sick: your agent blocks their Booksy day, finds a free chair or slot for each client and moves the bookings after your OK.

Source: https://cotlet.dev/integrations/booksy-api-mcp-server/bulk-reschedule-appointments

A barber texts at 7 am that they are sick, and their whole Booksy column for the day is full. Someone has to block the day, then open every booking and find each client a new time or a colleague before the shop opens.

Cotlet does it in your own Booksy account with list\_staff, add\_time\_off, list\_appointments, get\_appointment, list\_services, find\_open\_slots and reschedule\_appointment, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=booksy) [All Booksy tools](https://cotlet.dev/integrations/booksy-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Booksy do this on its own?

Booksy has no owner API for moving appointments (checked 12 Oct 2026); its partner API at docs.booksy.com needs a partner login. The Booksy help pages we checked describe changing appointments one at a time and show no bulk reschedule action.

By hand

## How you do it in Booksy today

1. Block the absence first: on mobile, open Profile > Settings > Business Details > Staff Members, pick the staff member and add it under Upcoming Time Off; for a few hours only, use Unavailability from the calendar.
2. Time off keeps clients from booking that period online. The clients already booked with that person still need a new time or a colleague.
3. Open the Calendar on that day and tap each of the absent staff member's appointments, one by one.
4. For each booking, look across the other columns for someone who offers the same service at a close time, or scroll to the next days, then change the time or staff member and save.
5. Repeat for every client on the list. A full day can mean ten or more bookings, and a missed one becomes a client standing at the door with nobody to serve them.

With an agent

## How to bulk reschedule Booksy appointments when a staff member is out

Prompt

```
Kate called in sick for Thursday. Block her day in Booksy and move each of her clients to another barber that day, or to Kate's next free slot if nobody else is free. Show me the plan before you move anyone.
```

1. 01  
### Block the absence before touching bookings  
The agent finds the staff member with list\_staff and adds the time off for the whole period with add\_time\_off, so no client can book into the gap while it works. If the person is back after lunch, the block covers only the morning.
2. 02  
### Collect the affected bookings  
list\_appointments with that staff\_id and the absence dates gives the list. Cancelled and already finished visits are skipped. get\_appointment shows the full service list and the internal note, because a client booked for a cut and a color needs a slot long enough for both.
3. 03  
### Look for a colleague first, then another day  
For each booking the agent asks find\_open\_slots for the same service on the same day without a staff filter, and prefers a start within an hour of the original time. Only when no colleague is free does it look at the absent person's next working days, because some clients only want their own barber.
4. 04  
### Show the whole plan, then move  
Before any change the agent lists every booking with its proposed new time and staff member, plus the ones it could not place. Each reschedule\_appointment call waits for your OK, so you can approve the plan once per client or edit a line first.
5. 05  
### Handle refusals and leftovers  
If Booksy refuses a move because the slot was just taken, the agent asks find\_open\_slots again instead of retrying blindly. Clients with no slot left in the next few days are reported by name and phone, so you can call them yourself.

### What you get back

Example data

```
Time off added: Kate, Thu 16 Oct, 09:00 to 18:00
7 bookings affected
Moved to Tom, same day: Anna Novak 10:00 Haircut, Mark Ellis 11:30 Beard trim, Leo Grant 15:00 Haircut
Moved to Sam, same day: Ivy Chen 13:00 Haircut + Color (2 h)
Moved to Kate, Sat 18 Oct: Ruth Diaz 10:00, Omar Haddad 10:45 (asked for Kate only)
Not placed: Dan Mills 17:00 Fade, no free chair until Monday. Call him: +1 917 555 0142
```

### Other ways to ask

- Tom is on vacation from 20 to 24 October. Block the week and move his bookings to Sam where Sam offers the service.
- Move everything after 3 pm today to tomorrow, same staff member, because we are closing early.
- Kate is out Thursday. Do not move anyone yet, just tell me which of her clients could go to another barber the same day.
- Block the whole shop on 31 December and list the clients I need to rebook.

Before you automate it

## What Booksy allows, and what to know first

- Booksy sends the client an automatic alert when the business reschedules or cancels an appointment, but only if the client card has an email address or phone number.
- Booksy time off for several days is added on the staff member's profile in the mobile app, while short one-off gaps such as leaving an hour early go through Unavailability in the calendar.
- A slot freed in Booksy by a move becomes bookable online right away, and clients on the Booksy waitlist are notified when a spot opens.
- Shifts, the Pro way to change an individual staff schedule for a period, are available only in Booksy Biz Pro on tablet or web under Staff Management & Resources > Shifts.
- Booksy lets clients cancel or reschedule on their own without a fee until your No-Show Protection window closes, so a moved client may still pick another time in the Booksy app.

reschedule\_appointment asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [Booksy: The New Booksy FAQ (time off, Unavailability, Shifts)](https://biz.booksy.com/blog/the-new-booksy-frequently-asked-questions) · [Booksy: Worry-free booking (client alerts on changes)](https://biz.booksy.com/en-us/blog/worry-free-booking) · [Booksy: Reduce no-shows and cancellations (waitlist, No-Show Protection)](https://biz.booksy.com/blog/use-booksy-to-reduce-no-shows-and-cancellations)

REST

## Call reschedule\_appointment from a script

curl

```
curl https://cotlet.dev/api/v1/booksy/reschedule_appointment \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"appointment_id":"apt_58213904","start":"2026-10-16T10:00:00-04:00","staff_id":"stf_2291"}'
```

Example response

```
{
"appointment_id": "apt_58213904",
"status": "confirmed",
"service": "Haircut",
"staff": "Tom",
"start": "2026-10-17T11:30:00-04:00",
"end": "2026-10-17T12:15:00-04:00"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is booksy\_reschedule\_appointment. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/booksy-api-mcp-server#automations)

Tools

## Booksy tools this automation uses

__Cotlet Booksy tools used to bulk reschedule Booksy appointments when a staff member is out__
| Tool | Parameters |
| ----------------------- | --------------------------------- |
| list\_staff | none |
| add\_time\_off | staff\_id, start, end, reason |
| list\_appointments | from, to, staff\_id, cursor |
| get\_appointment | appointment\_id |
| list\_services | none |
| find\_open\_slots | service\_id, date, staff\_id |
| reschedule\_appointment | appointment\_id, start, staff\_id |

[All 13 Booksy tools with descriptions](https://cotlet.dev/integrations/booksy-api-mcp-server#tools)

## More Booksy automations

- [Weekly Booksy staff revenue report, delivered on Monday](https://cotlet.dev/integrations/booksy-api-mcp-server/weekly-staff-revenue-report)
- [Win back lapsed Booksy clients with a Message Blast](https://cotlet.dev/integrations/booksy-api-mcp-server/win-back-lapsed-clients)
- [Booksy API and MCP server: every tool](https://cotlet.dev/integrations/booksy-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Booksy.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Booksy.

[Request access](https://cotlet.dev/app/signup?app=booksy)
