Meevo automation
Book Meevo appointments from client texts and emails with an AI agent
Booking requests reach the salon after hours by text, email and Instagram DM, in loose words like "a color sometime this weekend, mornings only". The next morning someone at the front desk works through them one by one in Booking Agent before the phones start.
Cotlet does it in your own Meevo account with find_client, get_client, list_services, find_open_slots and book_appointment, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Official options
Can Meevo do this on its own?
Meevo's Public API can create appointments, but only after an access request approved by Millennium, and its developer tools page lists no availability search (checked 12 Oct 2026). In the app, Meevo Online Booking lets clients book the services and employees marked Bookable online, and 2-Way SMS lets clients text the salon while staff answer in Meevo Messenger (help center checked 12 Oct 2026). Neither turns a free-text request from a text, email or DM into a booking: staff still read it and run Booking Agent.
By hand
How you do it in Meevo today
- Open Booking Agent by typing bookingagent in the Convobar or going to Meevo > Appointments > Booking Agent, then pick the location in Location Search; Meevo switches to Agent Mode and marks the location in red.
- Enter the Paying Client, then add the client and each service as rows in the bottom pane; for a color plus toner set Max Wait Between Services, and use Employee Selection when the client asked for someone; its options are Any Female Employee, Any Male Employee and Specific Employee, and none of them excludes one stylist.
- Set Date and Time to the window the client gave and select Scan; openings appear in day and date columns. A new Date, Time or Max Wait needs Rescan, and a different client or service goes back through Edit Details.
- Select an opening and answer Yes to put it in the Appointment Book, or save the request with Add to Wait List or Missed Opportunity when nothing fits.
- Go back to the text or email thread and tell the client the time. Every request is its own scan, so a weekend backlog means one Booking Agent session per message, and a "Saturday or Sunday" request means scanning two windows by hand.
With an agent
How to book Meevo appointments from client texts and emails with an AI agent
Prompt
Jamie Doe texted last night asking for a balayage with toner on Saturday or Sunday, before noon, with anyone but Chris. Find her in Meevo, check what fits and book it, or give me two options to send back. - 01
Match the sender to one Meevo profile
The agent looks the sender up with find_client by the phone number or email the request came from, and only falls back to the name when neither matches. Two profiles with the same name stop the run with a question. No profile at all also stops it, because the agent books existing clients only.
- 02
Check what the client already has
get_client shows upcoming appointments, so a client who already holds a Saturday slot gets a reschedule question instead of a second booking. It also shows remaining package visits, which the agent mentions when the request matches a service in the package.
- 03
Translate the words into services
list_services turns "balayage with toner" into the Balayage service plus the Toner add-on and the total duration. When the words fit several services, for example "a trim" in a salon with three haircut lengths, the agent asks instead of guessing the shortest.
- 04
Scan every window the client named
find_open_slots runs once per window: Saturday and Sunday mornings are two searches. The agent drops openings with a stylist the client ruled out and keeps only starts where the whole service ends by the time the client gave, not just begins before it.
- 05
Book one clear match, otherwise offer choices
With one window and one fitting opening, the agent prepares book_appointment and waits for your OK. With several good openings it drafts a reply with two times for you to send. If the slot was taken between scan and booking, it scans again rather than retrying the same time.
What you get back
Example data
Request: Jamie Doe (text, 9:42 pm): balayage + toner, Sat or Sun before noon, not with Chris
Client found by phone: Jamie Doe, no upcoming appointments, 2 blowouts left in package
Openings that end by 12:00: Sat 18 Oct 09:00 Sam Patel, Sun 19 Oct 09:30 Alex Rivera
Booked after your OK: Sat 18 Oct 09:00 to 11:45, Balayage + Toner, Sam Patel
Meevo sends the booking notification to Jamie
Not booked: Leo Grant (email) asked for "the usual", no matching service, needs you Other ways to ask
- Go through the booking requests I pasted from Instagram, book the ones with a clear time and draft replies for the rest.
- Maria wants a facial and a brow wax back to back next week after 5 pm. Show me the openings, do not book yet.
- Book Jamie with Alex only. If Alex has nothing this weekend, give me Alex's first two openings next week.
- Each morning at 8, check the requests in our booking inbox and prepare the bookings for my approval.
Before you automate it
What Meevo allows, and what to know first
- Meevo sends the Appointment Booked notification 5 minutes after a new appointment is created, and only when the client has no other services booked that day.
- Meevo Scan for Opening, which Booking Agent, Online Booking and the Wait List use, does not search beyond 14 consecutive days, so "sometime next month" covers only its first two weeks.
- Meevo Scan treats Pending appointments as filled and returns an opening only if the whole appointment fits inside the selected time range.
- In Booking Agent the Paying Client receives the notifications for every row booked in that session, which matters when one person books for a friend or a child.
- Meevo 2-Way SMS is a Business Booster: multi-location businesses enable it per location through their MSI sales rep, and outbound texts wait for SMS registration, which can take up to 14 days.
book_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: Meevo Help: Booking an appointment in Booking Agent · Meevo Help: Meevo Scan for Opening logic · Meevo Help: About client notifications · Meevo Help: 2-Way SMS getting started
REST
Call find_open_slots from a script
curl
curl https://cotlet.dev/api/v1/meevo/find_open_slots \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"location_id":"201","service_id":"9a8b7c6d-1e2f-4a3b-8c4d-5e6f7a8b9c0d","from":"2026-10-18","to":"2026-10-19"}' Example response
{
"slots": [
{
"start": "2026-10-17T10:00:00-04:00",
"staff": [
{
"staff_id": "e1d2c3b4-a5f6-4e7d-9c8b-7a6f5e4d3c2b",
"name": "Alex Rivera"
}
]
},
{
"start": "2026-10-17T11:30:00-04:00",
"staff": [
{
"staff_id": "a7b8c9d0-e1f2-4a3b-8c4d-9e0f1a2b3c4d",
"name": "Sam Patel"
}
]
}
]
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is meevo_find_open_slots. Example data.
Schedule it in n8n, Make, Zapier or cronTools
Meevo tools this automation uses
| Tool | Parameters |
|---|---|
| find_client | query |
| get_client | client_id |
| list_services | location_id, category |
| find_open_slots | location_id, service_id, from, to, staff_id |
| book_appointment | client_id, location_id, service_ids, staff_id, start, note |
Frequently asked questions
Can the agent book a client who has no Meevo profile yet?
No. book_appointment needs an existing client profile, so the agent stops and asks. Staff create the profile in Meevo first, for example with the Add Client icon in the MyMeevo employee app, and the agent books after that.
Give your agent access to Meevo.
Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Meevo.