# Book Thryv appointments from client messages with an AI agent

> Your agent reads booking requests in the Thryv inbox, adds new people as clients, checks the calendar for clashes and books each slot after your OK.

Source: https://cotlet.dev/integrations/thryv-api-mcp-server/book-appointments

Texts and emails like "can you come Tuesday morning?" land in the Thryv inbox all day. Each one means opening the thread, creating a client card if the person is new, then switching to the calendar to place the appointment.

Cotlet does it in your own Thryv account with list\_conversations, list\_clients, add\_client, list\_services, list\_appointments and book\_appointment, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

Official options

## Can Thryv do this on its own?

Thryv has no public API for booking (checked 12 Oct 2026). Its Zapier app can create a client or a busy time, not an appointment for a client. Clients can schedule themselves through the Thryv client portal, but a request that arrives as a text or an email is still booked by hand from the calendar.

By hand

## How you do it in Thryv today

1. Open the Thryv inbox and check the Requires Your Attention folder, which holds messages nobody has answered yet; the Sources filter splits them by channel.
2. For someone new, open the Clients tab, click New Client and enter a first and last name; email is optional. Thryv texts appointment reminders to a client once SMS reminders are turned on and the client card has a phone number.
3. Open the Calendar, click New > Appointment, search the client by name, email or tag, then pick the service from your services menu or type a custom title.
4. Set the date and time and choose the staff member. Thryv assigns the primary Admin by default and shows a conflict warning if that person is already booked.
5. Go back to the inbox and repeat for the next request. Every request means switching between the inbox, Clients and the Calendar, and a request answered in the thread but never put on the calendar is easy to miss.

With an agent

## How to book Thryv appointments from client messages with an AI agent

Prompt

```
Go through my Thryv inbox, find everyone asking for an appointment and book them. Add new people as clients first, check the calendar for clashes, and show me each booking before it goes out.
```

1. 01  
### Find the real requests  
The agent reads recent threads with list\_conversations and keeps only the ones asking for a visit or a time. Questions about prices, invoices or directions are left alone, and a thread where you already confirmed a time is skipped.
2. 02  
### Use the existing card, or make one  
The sender's email or name goes into list\_clients. One match means that card is used. Two cards with the same name mean the agent asks you which one. Only a person with no card gets add\_client, with the phone number from the text thread so reminders reach them.
3. 03  
### Turn loose wording into a slot  
Words like "the usual" or "a cleanup" are matched against list\_services. "Tuesday morning" becomes the earliest morning hour with no booking for that staff member, checked with list\_appointments for that day. A message with no day at all gets two suggested times for you to send, not a booking.
4. 04  
### Book one by one, with your OK  
Every book\_appointment call waits for approval and shows client, service, start, staff and price. The confirmation email goes out as soon as Thryv saves the appointment, so this is the moment to catch a wrong day.
5. 05  
### Hand back what does not fit  
Requests with no free slot, an unknown service or an unclear client come back as a list with the original message quoted, so you can answer those people yourself.

### What you get back

Example data

```
Inbox checked: 9 conversations since Friday, 4 booking requests
Booked after your OK: Sam Lee (new client), Lawn treatment, Tue 14 Oct 09:00, Alex
Booked after your OK: Jordan Hale, Edging, Wed 15 Oct 11:00, Alex
Needs you: Priya Nair asked for "Thursday afternoon", Alex is full; suggested Fri 17 Oct 14:00
Needs you: two client cards named Chris Moore, could not tell which one wrote
```

### Other ways to ask

- Only book requests from existing clients. Add new people as clients and list them for me instead.
- Check the inbox every weekday at 8 am and book requests for this week only.
- Book these with Custom Price so the confirmations show no amount.
- Book Maria Ortiz for a lawn treatment every other Tuesday at 9:00 until the end of November.

Before you automate it

## What Thryv allows, and what to know first

- Thryv sends the booking email with an .ics calendar file to the client and to any additional recipients and tells them about later changes, but only the primary contact can be charged.
- A Thryv appointment set to Custom Price shows no price on the appointment or the confirmation, so the client sees the amount only on the invoice.
- Thryv text reminders in the US and Canada need a checked transactional SMS opt-in on the client card for clients created after the rule was enabled; earlier clients are treated as opted in.
- Thryv creates a client card on its own when someone books or writes through the client portal, so a person who used the portal may already have a card before you add one.

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: [Thryv Help: How to Schedule a New Appointment](https://learn.thryv.com/hc/en-us/articles/15785875666317-How-to-Schedule-a-New-Appointment-in-Thryv-Business-Center) · [Thryv Help: Managing Your Messages](https://learn.thryv.com/hc/en-us/articles/10298016342413-Managing-Your-Messages-in-Thryv-Business-Center-to-Stay-on-Top-of-Every-Client-Conversation) · [Thryv Help: Add a New Client](https://learn.thryv.com/hc/en-us/articles/360052512791-Add-a-New-Client) · [Thryv Help: Email and SMS Campaign Compliance Requirements](https://learn.thryv.com/hc/en-us/articles/360000877471-Email-and-SMS-Campaign-Compliance-Requirements-in-Thryv-Business-Center)

REST

## Call book\_appointment from a script

curl

```
curl https://cotlet.dev/api/v1/thryv/book_appointment \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"client_id":"cl_8f2a91","service":"Lawn treatment","start":"2026-10-14T09:00:00-05:00","staff":"Alex","price_type":"fixed","price":"85.00"}'
```

Example response

```
{
"appointment_id": "ap_51c7e0",
"client": "Sample Client",
"service": "Lawn treatment",
"start": "2026-10-13T09:00:00-05:00",
"end": "2026-10-13T10:00:00-05:00",
"staff": "Alex",
"price": "85.00",
"confirmation_sent_to": [
"client@example.com"
]
}
```

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

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

Tools

## Thryv tools this automation uses

__Cotlet Thryv tools used to book Thryv appointments from client messages with an AI agent__
| Tool | Parameters |
| ------------------- | ---------------------------------------------------------------------------------- |
| list\_conversations | client\_id, limit |
| list\_clients | search, tag, limit, cursor |
| add\_client | first\_name, last\_name, email, phone, tags, notes |
| list\_services | none |
| list\_appointments | from, to, staff |
| book\_appointment | client\_id, service, start, end, staff, price\_type, price, additional\_recipients |

[All 14 Thryv tools with descriptions](https://cotlet.dev/integrations/thryv-api-mcp-server#tools)

## More Thryv automations

- [Reply to unanswered Thryv reviews with an AI agent](https://cotlet.dev/integrations/thryv-api-mcp-server/reply-to-reviews)
- [Create Thryv estimates from quote requests in the inbox](https://cotlet.dev/integrations/thryv-api-mcp-server/create-estimates-from-quote-requests)
- [Thryv API and MCP server: every tool](https://cotlet.dev/integrations/thryv-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Thryv.

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

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