Thryv automation
Book Thryv appointments from client messages with an AI agent
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.
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
- 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.
- 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.
- 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.
- 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.
- 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. - 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.
- 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.
- 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.
- 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.
- 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 · Thryv Help: Managing Your Messages · Thryv Help: Add a New Client · Thryv Help: Email and SMS Campaign Compliance Requirements
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 cronTools
Thryv tools this automation uses
| 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 |
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.