Local services & SaaS
Faire
Orders, inventory, reorders and messages for wholesale brands.
12 endpoints
Appointments, waitlist, clients and reports for your Boulevard salon or spa. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.
15 tools Read and write
Boulevard has GraphQL Admin and Client APIs and no MCP server, and its Support Center says Enterprise customers have API access (checked 31 Oct 2026). Below Enterprise there is no API key to get. Cotlet runs 15 Boulevard tools hosted, over MCP for agents and REST for scripts, in your own dashboard login on any plan.
| What you need | Admin API | Zapier | AI Receptionist | Cotlet |
|---|---|---|---|---|
| Plan you need | Enterprise | Premier or higher | A Boulevard phone number | Any plan |
| Your own AI agent can use it | If a developer builds it | Through Zapier steps | No | Yes, any MCP client |
| Book, move and cancel for you | With custom code | Only what the Zapier app lists | For callers only | Yes, after your OK |
| Read client notes and alerts | Not confirmed | Not confirmed | No | Yes, with your permission |
| Dashboard reports | Not confirmed | Not confirmed | No | Yes, by date range |
| What it costs on top | Enterprise is a custom plan | Zapier tasks | $125 a location from Dec | Credits per call |
Checked 31 Oct 2026. Sources: Boulevard Developer Portal · Support Center: Connect Custom and Public Apps · Support Center: Zapier Integration · Support Center: AI Receptionist Beta Pricing
Use your own account in its Cotlet Cloud Browser.
Connect your agent or create a Cotlet API key.
Ask your agent or send an HTTP request.
We never keep your Boulevard password, and no booking, move, cancellation or waitlist booking is saved before you approve it. Who can see your session
Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.
Log in to Boulevard as yourself. Make a Cotlet account, open Boulevard in its Cloud Browser, log in with your own Boulevard user, then press Enable for agents.
Add the Cotlet address. Paste https://cotlet.dev/mcp/v1 into your agent as an MCP server or connector.
Approve the connection. Chat apps send you to a Cotlet sign-in. Code editors, n8n and scripts take an API key from the console.
One address, https://cotlet.dev/mcp/v1, carries every app on your Cotlet account, Boulevard too. Enable Boulevard after the agent is connected and you need to refresh the connector before its tools show up.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: boulevard_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: boulevard_write Create a Cotlet API key with access to Boulevard and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.
Connect Boulevard in Cotlet and enable it for agents. Account access: Your own Boulevard dashboard user (an Admin, or a staff role with the permission for the task: client notes and reports have their own).
curl "https://cotlet.dev/api/v1/boulevard/appointments?location_id=loc_1&from=2026-11-02&to=2026-11-06" \
-H "Authorization: Bearer $COTLET_API_KEY" A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.
{
"status": "success",
"app": "boulevard",
"tool": "list_appointments",
"result": {
"appointments": [
{
"appointment_id": "ap_903114",
"client": {
"client_id": "cl_48213",
"name": "Jamie Doe"
},
"services": [
{
"name": "Signature Facial"
}
],
"provider": {
"staff_id": "st_207",
"name": "Alex"
},
"start": "2026-11-02T14:00:00-08:00",
"end": "2026-11-02T15:00:00-08:00",
"state": "confirmed"
}
]
}
} Returns the appointments in a date range in start order, each with client, services, provider, start, end and state.
Canceled appointments are not on the calendar. Read them with list_cancelled_appointments.
Replace loc_1 with a location_id from list_locations; multi-location accounts need the correct location selection.
Keep the same selection when continuing a list. Compare changed record values as well as identifiers when refreshing your destination.
| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | List the waitlist entries with client, requested provider and preferred time. Use list_waitlist in your configured business report. |
| Make | HTTP > Make a request | Read the Daily Summary report for a date range. Use get_report in your configured business report. |
| Python or Node.js | REST API | List the canceled appointments to find slots that opened up. Use list_cancelled_appointments in your configured business report. |
Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.
Cotlet reads Boulevard; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.
Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.
The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.
Each location has its own calendar and waitlist. Canceled appointments leave the calendar, so they have their own list.
Returns every location the signed-in user can access. Use the location_id from each item in the other tools. Boulevard bills and configures each location separately, so a multi-location business gets several items.
MCP callboulevard_read → list_locations
REST endpointGET https://cotlet.dev/api/v1/boulevard/locations
No parameters.
{
"locations": [
{
"location_id": "loc_1",
"name": "Downtown",
"address": "412 Alder St, Portland, OR"
}
]
} Returns the appointments in a date range in start order, each with client, services, provider, start, end and state. Filter by provider to read one calendar. Canceled appointments are not on the calendar, so read them with list_cancelled_appointments.
MCP callboulevard_read → list_appointments
REST endpointGET https://cotlet.dev/api/v1/boulevard/appointments
| Name | Type | Description |
|---|---|---|
| location_id string | string | Location ID from list_locations. Default: your first location. |
| from date required | date | First day, inclusive. |
| to date | date | Last day, inclusive. Default: same as from. |
| staff_id string | string | Only this provider. |
{
"from": "2026-10-01"
} {
"appointments": [
{
"appointment_id": "ap_903114",
"client": {
"client_id": "cl_48213",
"name": "Jamie Doe"
},
"services": [
{
"name": "Signature Facial"
}
],
"provider": {
"staff_id": "st_207",
"name": "Alex"
},
"start": "2026-11-02T14:00:00-08:00",
"end": "2026-11-02T15:00:00-08:00",
"state": "confirmed"
}
]
} Returns the appointment details as the preview window shows them: client, services with their times, provider, the appointment note and the Appointment Updates list, which records who rescheduled it and when. Use it before moving or canceling an appointment.
MCP callboulevard_read → get_appointment
REST endpointGET https://cotlet.dev/api/v1/boulevard/appointments/{appointment_id}
| Name | Type | Description |
|---|---|---|
| appointment_id string required | string | Appointment ID from list_appointments. |
{
"appointment_id": "appointment_8c41d2"
} {
"appointment_id": "ap_903114",
"client": {
"client_id": "cl_48213",
"name": "Jamie Doe"
},
"services": [
{
"name": "Signature Facial",
"start": "2026-11-02T14:00:00-08:00",
"end": "2026-11-02T15:00:00-08:00"
}
],
"provider": {
"staff_id": "st_207",
"name": "Alex"
},
"state": "confirmed",
"note": null,
"updates": [
{
"action": "booked",
"by": "Front desk",
"at": "2026-10-29T09:12:00-07:00"
}
]
} Returns the Cancelled Appointments List, newest first, with client, services, provider, the time that opened up and the cancellation reason. Boulevard has no separate cancellation report, so this list is the source. Restore one with restore_cancelled_appointment.
MCP callboulevard_read → list_cancelled_appointments
REST endpointGET https://cotlet.dev/api/v1/boulevard/cancelled-appointments
| Name | Type | Description |
|---|---|---|
| location_id string | string | Location ID from list_locations. Default: your first location. |
{
"cancellations": [
{
"appointment_id": "ap_903210",
"client": {
"client_id": "cl_50122",
"name": "Dana Ruiz"
},
"services": [
{
"name": "Brow Shaping"
}
],
"provider": {
"staff_id": "st_207",
"name": "Alex"
},
"start": "2026-11-03T15:00:00-08:00",
"reason": "client_late_canceled"
}
]
} A booking takes the time off online booking. A move can notify the client or not, and a multi-service appointment stays on one day.
Adds an appointment to the calendar the way New Appointment does. The time must be free for the provider and the appointment takes it off online booking. No card is needed on file. Returns the appointment with start and end. By default you confirm each call; you can switch that off for this tool.
MCP callboulevard_write → book_appointment
REST endpointPOST https://cotlet.dev/api/v1/boulevard/clients/{client_id}/appointments
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from find_client. |
| location_id string | string | Location ID from list_locations. Default: your first location. |
| services string[] required | string[] | Service names exactly as the menu shows them. |
| staff_id string required | string | Provider performing the services. |
| start datetime required | datetime | ISO 8601 with time zone. |
| note string | string | Appointment note. |
{
"client_id": "cl_48213",
"location_id": "loc_1",
"services": [
"Signature Facial"
],
"staff_id": "st_207",
"start": "2026-11-06T14:00:00-08:00"
} {
"appointment_id": "ap_903114",
"status": "booked",
"client": {
"client_id": "cl_48213",
"name": "Jamie Doe"
},
"services": [
{
"name": "Signature Facial"
}
],
"provider": {
"staff_id": "st_207",
"name": "Alex"
},
"start": "2026-11-06T14:00:00-08:00",
"end": "2026-11-06T15:00:00-08:00"
} Moves one appointment, as dragging it on the calendar does. Boulevard asks whether to notify the client, so notify_client decides whether the client hears about the move. Every service of a multi-service appointment must stay on the same day. The change is logged in Appointment Updates. By default you confirm each call; you can switch that off for this tool.
MCP callboulevard_write → reschedule_appointment
REST endpointPOST https://cotlet.dev/api/v1/boulevard/appointments/{appointment_id}/reschedule
| Name | Type | Description |
|---|---|---|
| appointment_id string required | string | Appointment ID from list_appointments. |
| start datetime required | datetime | New start, ISO 8601 with time zone. |
| staff_id string | string | New provider. Default: unchanged. |
| notify_client boolean | boolean | Notify the client about the change. Default: false. |
{
"appointment_id": "appointment_8c41d2",
"start": "2026-10-01T09:00:00Z"
} {
"appointment_id": "ap_903114",
"status": "rescheduled",
"provider": {
"staff_id": "st_207",
"name": "Alex"
},
"start": "2026-11-03T11:00:00-08:00",
"end": "2026-11-03T12:00:00-08:00",
"client_notified": true
} Cancels one appointment with a reason: mistake_or_error, staff_canceled, client_canceled, client_late_canceled or client_no_show. notify_client sends or skips the cancellation email. The tool charges no cancellation fee; charging one stays in the dashboard. The appointment goes to the Cancelled Appointments List. By default you confirm each call; you can switch that off for this tool.
MCP callboulevard_write → cancel_appointment
REST endpointPOST https://cotlet.dev/api/v1/boulevard/appointments/{appointment_id}/cancel
| Name | Type | Description |
|---|---|---|
| appointment_id string required | string | Appointment ID from list_appointments. |
| reason enum required | enum | mistake_or_error, staff_canceled, client_canceled, client_late_canceled or client_no_show. |
| notify_client boolean | boolean | Send the cancellation email to the client. Default: true. |
{
"appointment_id": "appointment_8c41d2",
"reason": "mistake_or_error"
} {
"appointment_id": "ap_903210",
"status": "canceled",
"reason": "client_late_canceled",
"client_notified": true
} Restores a canceled appointment to the calendar, as Restore does in the Cancelled Appointments List. The slot must still be free. Use it when an appointment was canceled by mistake. By default you confirm each call; you can switch that off for this tool.
MCP callboulevard_write → restore_cancelled_appointment
REST endpointPOST https://cotlet.dev/api/v1/boulevard/appointments/{appointment_id}/cancelled-appointment/restore
| Name | Type | Description |
|---|---|---|
| appointment_id string required | string | Appointment ID from list_appointments. |
{
"appointment_id": "appointment_8c41d2"
} {
"appointment_id": "ap_903210",
"status": "restored",
"start": "2026-11-03T15:00:00-08:00"
} Online entries are first-available requests and ignore closures and the requested provider, so the agent checks the day before it books.
Returns the entries of the location waitlist as the Waitlist screen shows them: client name, phone, requested provider, services, preferred time and note. Entries made online are first-available requests and ignore closures and the requested provider. A booked entry leaves the list.
MCP callboulevard_read → list_waitlist
REST endpointGET https://cotlet.dev/api/v1/boulevard/waitlists
| Name | Type | Description |
|---|---|---|
| location_id string | string | Location ID from list_locations. Default: your first location. |
| date date | date | Only entries for this requested day. Default: all entries. |
{
"entries": [
{
"entry_id": "wl_2207",
"client": {
"client_id": "cl_51007",
"name": "Priya Shah"
},
"phone": "+15035550188",
"provider": "Alex",
"services": [
"Signature Facial"
],
"preferred": "Tue 3 Nov, afternoon",
"note": "Added by front desk",
"source": "staff"
}
]
} Books the entry the way Book does on the waitlist: the client gets the appointment and the entry leaves the list. The provider must be free at the start time. By default you confirm each call; you can switch that off for this tool.
MCP callboulevard_write → book_from_waitlist
REST endpointPOST https://cotlet.dev/api/v1/boulevard/entries/{entry_id}/waitlists
| Name | Type | Description |
|---|---|---|
| entry_id string required | string | Waitlist entry ID from list_waitlist. |
| start datetime required | datetime | ISO 8601 with time zone. |
| staff_id string | string | Provider. Default: the one the entry asked for. |
{
"entry_id": "entry_8c41d2",
"start": "2026-10-01T09:00:00Z"
} {
"entry_id": "wl_2207",
"status": "booked",
"appointment_id": "ap_903377",
"client": {
"client_id": "cl_51007",
"name": "Priya Shah"
},
"provider": {
"staff_id": "st_207",
"name": "Alex"
},
"start": "2026-11-03T15:00:00-08:00"
} Notes, allergies and the scheduling alert are internal. Reading and writing them follow your Boulevard permissions.
Searches the client list and returns every match with contact details. Boulevard warns about duplicates by first and last name, email or phone, so two matches are possible; pass the chosen client_id to the other client tools.
MCP callboulevard_read → find_client
REST endpointGET https://cotlet.dev/api/v1/boulevard/clients/find
| Name | Type | Description |
|---|---|---|
| query string required | string | Name, phone number or email. |
{
"query": "query"
} {
"clients": [
{
"client_id": "cl_48213",
"name": "Jamie Doe",
"email": "client@example.com",
"phone": "+15035550142"
}
]
} Returns the Overview of one client profile: Appointments, Show Rate, Average Revisit and Average Revisit Value, the Scheduling Alert and the internal client notes and allergies. Notes need the View Client Notes permission; without it the notes are left out and the rest still returns.
MCP callboulevard_read → get_client_profile
REST endpointGET https://cotlet.dev/api/v1/boulevard/clients/{client_id}/profile
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from find_client. |
{
"client_id": "client_8c41d2"
} {
"client_id": "cl_48213",
"name": "Jamie Doe",
"metrics": {
"appointments": 14,
"show_rate": "93%",
"average_revisit_days": 38,
"average_revisit_value": 142
},
"scheduling_alert": "Prefers fragrance-free products",
"notes": [
{
"tab": "note",
"text": "Color formula 6N with 20 volume, 35 minutes",
"added": "2026-09-14"
}
],
"allergies": [
{
"text": "Lavender oil",
"added": "2026-06-02"
}
]
} Adds text to the Client Notes of a profile, on the NOTE tab or the ALLERGIES tab. Notes are internal and only staff with access to client profiles see them. Needs the Create and Modify Client Notes permission. A note reaches no one and you can delete it in the profile, so add_client_note runs without asking first.
MCP callboulevard_write → add_client_note
REST endpointPOST https://cotlet.dev/api/v1/boulevard/clients/{client_id}/note
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from find_client. |
| text string required | string | Note text. Internal, never shown to the client. |
| tab enum | enum | note or allergies. Default: note. |
{
"client_id": "client_8c41d2",
"text": "text"
} {
"client_id": "cl_51007",
"tab": "note",
"status": "added",
"text": "Formula 6N with 20 volume, 35 minutes. Wants it a shade warmer next time."
} Writes the private Scheduling Alert that shows as a red banner when staff create an appointment for the client and in the appointment preview. A profile holds one alert, so this replaces the old text; read it first with get_client_profile. It reaches no one and you can edit it again at any time, so set_scheduling_alert runs without asking first.
MCP callboulevard_write → set_scheduling_alert
REST endpointPUT https://cotlet.dev/api/v1/boulevard/clients/{client_id}/scheduling-alert
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from find_client. |
| text string required | string | Alert text. Replaces the current alert. |
{
"client_id": "client_8c41d2",
"text": "text"
} {
"client_id": "cl_48213",
"status": "saved",
"scheduling_alert": "Deposit card expired, ask for a new one at booking"
} Daily Summary, Appointments and Client Waitlist, if the new reporting experience has reached your account and you have the permission.
Returns a report from the reporting section as rows. daily_summary rolls up sales, refunds and discounts by day; appointments lists each appointment with its state and forecasted and final net sale; client_waitlist lists every waitlist entry, removed ones included. Needs the matching Data & Reporting permission and the new reporting experience on the account.
MCP callboulevard_read → get_report
REST endpointGET https://cotlet.dev/api/v1/boulevard/report
| Name | Type | Description |
|---|---|---|
| report enum required | enum | daily_summary, appointments or client_waitlist. |
| from date required | date | First day, inclusive. |
| to date required | date | Last day, inclusive. |
| location_ids string[] | string[] | Locations to include. Default: all you can access. |
{
"report": "daily_summary",
"from": "2026-10-01",
"to": "2026-10-01"
} {
"report": "daily_summary",
"from": "2026-10-26",
"to": "2026-10-28",
"currency": "USD",
"rows": [
{
"date": "2026-10-26",
"net_sales": 3120,
"refunds": 45
},
{
"date": "2026-10-27",
"net_sales": 3480,
"refunds": 0
},
{
"date": "2026-10-28",
"net_sales": 2960,
"refunds": 90
}
]
} Your logged-in Boulevard profile, AES-256-GCM encrypted, in Finland. Never the password.
15 Boulevard tools. No cookie, no login.
What your Boulevard user may see: client notes and reports only with their permissions.
Checkout, cards on file, cancellation fees, refunds, memberships, payroll and account settings.
You type it in yourself. We never do.
Disable for agents, reset the browser or delete the key. The next call fails.
Boulevard sells a med spa bundle with HIPAA-ready tools. Cotlet signs no BAA and makes no HIPAA claim, and client notes and allergies can hold health details, so a med spa decides whether to enable get_client_profile. The Cotlet site has A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results); we have no SOC 2 report or third-party pentest yet.
Boulevard's terms of service sit behind a Cloudflare check that blocked our fetch on 31 Oct 2026, so we quote nothing from them and make no claim about what they allow. An AI agent working in your login is automation of a dashboard, and Boulevard's own route for automation is the Enterprise API. Read the agreement your business signed, then decide. In our searches we found no public case of a salon losing Boulevard over automation (31 Oct 2026), which is not proof that none exists.
When a whole day is moved, let the agent go one appointment at a time, so each client notice matches the final time.
Boulevard keeps changing its dashboard: a new reporting experience is rolling out to accounts over time, and its API moves to version 2026-06 for new apps from 17 Aug 2026. When a screen moves, we repair the tool and the tool name stays the same. status.cotlet.dev checks the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Book an appointment | Cancel it with the reason mistake or error; the client is not charged |
| Reschedule an appointment | Move it back; with notify_client on, the client hears twice |
| Cancel an appointment | Restore it from the Cancelled Appointments List with restore_cancelled_appointment |
| Book from the waitlist | Cancel the appointment; the entry leaves the list and does not return by itself |
| Add a client note | Delete it in the client profile; Boulevard asks to confirm and a delete cannot be undone |
| Set a scheduling alert | Edit the text again; a profile holds one alert |
5 of the 7 write tools ask first. add_client_note and set_scheduling_alert run at once, because they are internal and reach nobody. Reads run at once too. For a scheduled run you can switch the wait off per tool.
Boulevard charges a cancellation fee only when you choose to, and only for a late cancellation or a no-show. cancel_appointment charges none; the fee stays in the dashboard.
{
"name": "book_appointment",
"arguments": {
"client_id": "cl_48213",
"location_id": "loc_1",
"services": [
"Signature Facial"
],
"staff_id": "st_207",
"start": "2026-11-06T14:00:00-08:00"
}
} curl -X POST https://cotlet.dev/api/v1/boulevard/clients/cl_48213/appointments \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"location_id":"loc_1","services":["Signature Facial"],"staff_id":"st_207","start":"2026-11-06T14:00:00-08:00"}' {
"appointment_id": "ap_903114",
"status": "booked",
"client": {
"client_id": "cl_48213",
"name": "Jamie Doe"
},
"services": [
{
"name": "Signature Facial"
}
],
"provider": {
"staff_id": "st_207",
"name": "Alex"
},
"start": "2026-11-06T14:00:00-08:00",
"end": "2026-11-06T15:00:00-08:00"
} A cron job, a sheet or the shared booking inbox can call the same tools over REST at /api/v1/boulevard, with one key and one price. A user without report access gets an error from get_report, and a failed call costs nothing. Each tool row above shows its REST path.
About $46 a monthfor one salon or spa location with about 8 providers, 7,860 credits. You keep paying Boulevard for your plan.
| Job | Calls | Credits |
|---|---|---|
| Book requests from texts and DMs | 4 × 60 | 2,400 |
| Morning brief with alerts and allergies | 8 × 22 | 1,760 |
| Fill cancellations from the waitlist | 4 × 22 | 880 |
| Formula or allergy note after a visit | 2 × 50 | 1,000 |
| Monday sales and cancellations report | 3 × 4 | 120 |
| A provider out, 7 clients moved | 10 × 2 | 200 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 7,860 |
The month is our example: one location, about 60 booking requests and 50 notes, a morning brief and a cancellation sweep each weekday, four Monday reports and two days with a provider out. Boulevard publishes no typical size, and its plan prices are not on a page we could read, so we state none. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| austinntowns/blvd-mcp | An MCP server for locations, staff, shift utilization, calendar blocks, appointment queries and turning services on and off. 0 stars, last push 27 Mar 2026. | No license, no books or moves for clients, and it needs an Admin API key, so Enterprise. |
| Boulevard's Zapier app | Triggers and actions for Premier, Prestige and Enterprise, run by an Admin user. | Built from the actions the app lists; your own agent has no way in. |
| Boulevard AI Receptionist | Answers inbound calls and books, reschedules or cancels for the caller. Free minutes to 30 Nov 2026, then $125 a location for 200 minutes. | Works for callers, not for your own requests, and needs a Boulevard phone number. |
If calls go unanswered, the AI Receptionist is Boulevard's own answer. If you are on Enterprise and have a developer, the Admin API is the official route. If your own agent should book, fill the waitlist, write notes and pull reports on a plan below Enterprise, Cotlet does that hosted.
Cotlet belongs to Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273) and working since 2019. Its founders are Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the Boulevard tools go to contact@cotlet.dev.
Sign up free at https://cotlet.dev, open Boulevard under Integrations in the console and log in to Boulevard in its Cloud Browser. The trial starts with your first app and asks for no card.
Sign up at cotlet.dev, log in to Boulevard once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Boulevard account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Boulevard: reschedule appointments when a provider is out; fill cancellations from the waitlist; book an appointment from a text or DM. You ask in plain words, and anything that reaches other people waits for your OK first.
No. Boulevard has no ChatGPT or Claude connector of its own (checked 8 Nov 2026). Cotlet is an independent one that works in ChatGPT, Claude, Cursor and any MCP client, on your signed-in account.
Yes, with Cotlet. ChatGPT finds the client, checks the provider's day and books the appointment in your Boulevard account. Booking waits for your OK by default, which you can switch off per tool.
Yes, with Cotlet. ChatGPT checks the waitlist against the cancelled appointments and books a waiting client into the open slot. Each booking waits for your OK by default.
No. Cotlet works in your own Boulevard dashboard login on any plan. Boulevard gives its GraphQL APIs only to Enterprise customers, and its Zapier app needs Premier, Prestige or Enterprise plus an Admin user.
The ones your own user has. Reading client notes needs View Client Notes and adding one needs Create and Modify Client Notes. The reports need the matching Data & Reporting permission, and the new reporting experience reaches accounts over time.
No. No tool opens checkout, charges a card, refunds or adds a cancellation fee. Those stay at the front desk.
Only the way in differs. Both carry the same 15 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and sheets use REST.
No. Cotlet is independent and not affiliated with Boulevard.
Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy