Local services & SaaS
Jane App
Schedule, Wait List, intake forms, balances and reports in your Jane clinic.
14 endpoints
ClinicSense publishes no public API and no MCP server (checked 13 Nov 2026). Cotlet runs a hosted ClinicSense MCP server with 16 tools that ChatGPT, Claude and your scripts use in your own ClinicSense account. It covers scheduling, payments, reports and client emails; no tool opens chart notes, and anything a client receives waits for your OK.
16 tools Read and write
ClinicSense publishes no public API. Its site and sitemap show no developer documentation, API keys or API pricing, its support center is not open to the public, and no ClinicSense MCP server or official ChatGPT or Claude connector was verified.
| What you need | ClinicSense official | By hand | Cotlet |
|---|---|---|---|
| Ask ChatGPT or Claude to do the work | No MCP server or connector | Copy and paste | Hosted MCP server |
| Fill a cancellation from the wait list | Automatic notices, rules set in the app | Calendar, then wait list | Agent picks and notifies after your OK |
| Monthly numbers for the accountant | CSV or PDF export, no API | Run and download each report | run_financial_report on a schedule |
| Run from n8n or a script | No public API | Manual only | REST, same key |
Checked 13 Nov 2026. Sources: ClinicSense · ClinicSense features · ClinicSense support center (not public) · Feature: Online booking · Feature: Scheduling · Feature: Appointment reminders · Feature: No-Show Guard · Feature: Wait list · Feature: Invoicing and payments · Feature: Treatment packages · Feature: Gift certificates · Feature: Financial reports · Feature: Email newsletters · Feature: Availability summary · Feature: Wellness check-ins · Feature: Feedback and Google reviews · Feature: Client referrals · Feature: Birthday emails
Once, in a browser we host for you.
One address in its settings.
It finds the client, you approve the notice.
Your agent works in your own signed-in Cloud Browser. Anything a client receives waits for your OK, and no tool opens chart notes or client files. Who can see your session
Sign in to ClinicSense in a Cloud Browser. Open app.clinicsense.com in your Cotlet Cloud Browser and log in with your own ClinicSense user.
Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.
Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.
ClinicSense lives on the shared address https://cotlet.dev/mcp/v1 together with the other apps you switch on, so one connector serves them all. Switched ClinicSense on later? Refresh the connector and its 16 tools show up.
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth 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" // ~/.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: clinicsense_read One tool per ClinicSense feature, leaving out charting and client records. Read tools run at once. Write tools take an `action`; `get` and `list` only read, the rest change ClinicSense and ask first.
The shared calendar, appointments and the rules of your online booking page.
Returns each appointment with client name, service, practitioner, time and status, plus blocked time. It reads the schedule only, never chart notes or client files.
MCP callclinicsense_read → list_appointments
REST endpointGET https://cotlet.dev/api/v1/clinicsense/appointments
| Name | Type | Description |
|---|---|---|
| from string required | string | ISO date. |
| to string | string | ISO date. Defaults to `from`. |
| practitioner string | string | Leave empty for everyone on the shared calendar. |
{
"from": "from"
} {
"date": "2026-11-16",
"appointments": [
{
"time": "09:00",
"client": "Example Client",
"service": "Massage, 60 min",
"practitioner": "Alex",
"status": "Confirmed"
},
{
"time": "11:00",
"client": "Sample Client",
"service": "Massage, 90 min",
"practitioner": "Alex",
"status": "Booked"
}
],
"blocked": [
{
"from": "12:30",
"to": "13:00",
"reason": "Lunch"
}
]
} Services are linked to the practitioners who offer them, so the booking connects the right client to the right person. A booked or moved appointment triggers the reminders you set; a cancellation opens the slot for the wait list. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → manage_appointments
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/appointments/manage
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `create`, `reschedule`, `cancel`, `block_time`. Every action writes. |
| appointment_id string | string | For `reschedule` and `cancel`, from list_appointments. |
| client string | string | Client name, for `create`. |
| service string | string | A service linked to the practitioner. |
| practitioner string | string | Who the appointment is with. |
| start string | string | ISO date and time. |
| repeat string | string | For a recurring appointment, for example `weekly`. |
{
"action": "action"
} {
"appointment_id": "apt_2041",
"client": "Example Client",
"service": "Massage, 60 min",
"practitioner": "Alex",
"start": "2026-11-18T15:00",
"status": "Booked"
} Clients book 24/7 on your booking page, your website, Facebook and Instagram, and see only the times you allow. A change shows on the public booking page at once. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → configure_online_booking
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/online-booking/configure
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `get`, `update`. `get` only reads. |
| availability object | object | Recurring hours per practitioner and one-off blocks. |
| cleanup_minutes number | number | Buffer added after each appointment. |
| services array | array | Services clients may book online, grouped and ordered by category. |
| block_list array | array | Clients who may not book online. |
{
"action": "action"
} {
"cleanup_minutes": 15,
"services_online": [
"Massage, 60 min",
"Massage, 90 min",
"Cupping, 30 min"
],
"block_list": 1
} Reminders go out by email or text, as each client chose when booking, and clients confirm with one click. The message log shows whether each reminder was received. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → configure_reminders
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/reminders/configure
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `get`, `message_log`, `update`. `get` and `message_log` only read. |
| reminders array | array | For `update`: when each reminder goes out before the appointment. |
| date string | string | For `message_log`: ISO date of the appointments. |
{
"action": "action"
} {
"date": "2026-11-16",
"log": [
{
"client": "Example Client",
"channel": "SMS",
"delivered": true,
"confirmed": true
},
{
"client": "Sample Client",
"channel": "Email",
"delivered": true,
"confirmed": false
}
]
} Deposits or card on file at booking, and the wait list that fills a freed slot.
Card payments run through ClinicSense's Square integration. Clients agree to your cancellation policy each time they book online. The tool changes the rule; it never charges a card. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → configure_no_show_guard
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/no-show-guard/configure
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `get`, `update`. `get` only reads. |
| require string | string | `card`, `deposit` or `full_payment`. |
| applies_to string | string | `all`, `new_clients` or `specific_clients`. |
| clients array | array | For `specific_clients`, for example repeat no-shows. |
{
"action": "action"
} {
"require": "deposit",
"applies_to": "new_clients",
"cancellation_policy": "On record at every online booking"
} Clients book straight from the wait list email or text. Same-day cancellations can follow their own rules. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → manage_wait_list
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/wait-list/manage
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `list`, `notify`, `update_rules`. `list` only reads. |
| slot string | string | For `notify`: the open slot, ISO date and time. |
| clients array | array | For `notify`: the clients you hand-picked. |
| priority string | string | For `update_rules`: `first_on_list`, `highest_value` or `everyone`. |
| minimum_notice_hours number | number | For `update_rules`: notice you need before a wait list client books in. |
{
"action": "notify",
"slot": "2026-11-16T14:00",
"clients": [
"Example Client",
"Sample Client"
]
} {
"slot": "2026-11-16T14:00",
"notified": [
"Example Client",
"Sample Client"
],
"channel": "Email and SMS"
} Invoices come from appointments. The agent records payments; card charges stay in ClinicSense with Square.
ClinicSense creates invoices from your appointments. The tool records payments taken; card charges stay in ClinicSense's Square integration and no tool runs them. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → manage_invoices
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/invoices/manage
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `list`, `get`, `record_payment`. `list` and `get` only read. |
| invoice_id string | string | For `get` and `record_payment`. |
| method string | string | Payment method as ClinicSense lists it, for example Cash or Gift Certificate. |
| amount number | number | Amount paid. |
{
"action": "action"
} {
"invoice_id": "inv_7781",
"client": "Example Client",
"service": "Massage, 60 min",
"total": 110,
"paid": 110,
"method": "Cash",
"balance": 0
} Packages bundle several sessions, often at a discount, and clients can share them with family and friends. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → manage_packages
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/packages/manage
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `list`, `create`, `sell`. `list` only reads. |
| package object | object | For `create`: name, services, number of sessions and price. |
| client string | string | For `sell`. |
{
"action": "action"
} {
"package": "Recovery plan, 5 massages",
"sessions": 5,
"price": 495,
"sold_to": "Example Client"
} Clients buy certificates for a service or a dollar value from the Buy Gift Certificate button on your site and get them by email. ClinicSense tracks the balance and refuses a certificate without enough funds. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → manage_gift_certificates
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/gift-certificates/manage
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `list`, `balance`, `redeem`. `list` and `balance` only read. |
| certificate string | string | Certificate code or buyer. |
| invoice_id string | string | For `redeem`: the invoice it pays. |
{
"action": "action"
} {
"certificate": "GC-1042",
"original": 100,
"balance": 0,
"redeemed_on": "inv_7781"
} Same numbers as the Reports screen. Nothing is changed.
MCP callclinicsense_read → run_financial_report
REST endpointGET https://cotlet.dev/api/v1/clinicsense/financial-reports/run
| Name | Type | Description |
|---|---|---|
| report string required | string | `revenue`, `sales_tax`, `appointments`, `payments`, `receivables` or `client_retention`. |
| from string required | string | ISO date. |
| to string required | string | ISO date. |
| format string | string | `json`, `csv` or `pdf`, for your accountant. |
{
"report": "report",
"from": "from",
"to": "to"
} {
"report": "revenue",
"from": "2026-10-01",
"to": "2026-10-31",
"revenue": 9240,
"sales_tax": 462,
"appointments": 84
} Newsletters you send once, and the automatic emails ClinicSense sends for you.
ClinicSense scans your calendar for the next 2 weeks and emails clients your open times with a link to book. Clients who opt out stop getting it. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → configure_availability_summary
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/availability-summary/configure
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `get`, `update`, `turn_on`, `turn_off`. `get` only reads. |
| frequency string | string | `weekly`, `biweekly` or `monthly`. |
{
"action": "action"
} {
"enabled": true,
"frequency": "biweekly",
"next_send": "2026-11-17"
} Set once, the email goes out on its own to every client who passes the gap you chose. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → configure_wellness_check_in
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/wellness-check-in/configure
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `get`, `update`, `turn_on`, `turn_off`. `get` only reads. |
| after_days number | number | Days without a booking before the email goes out. |
| promo_code string | string | Optional code, valid for the time you set. |
{
"action": "action"
} {
"enabled": true,
"after_days": 60,
"promo_code": "WELCOMEBACK10"
} The email goes out the day after an appointment, no more than once a month per client, and asks for a Google review. Clients who were not happy can answer privately, so you can follow up. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → manage_feedback
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/feedback/manage
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `list`, `get_settings`, `update`, `turn_on`, `turn_off`. `list` and `get_settings` only read. |
| since string | string | For `list`: ISO date. |
{
"action": "action"
} {
"since": "2026-11-01",
"feedback": [
{
"client": "Example Client",
"rating": 5,
"comment": "Great session."
},
{
"client": "Sample Client",
"rating": 3,
"comment": "Room was cold."
}
]
} Set once, it goes out to clients after at least 3 appointments. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → configure_referral_email
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/referral-email/configure
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `get`, `update`, `turn_on`, `turn_off`. `get` only reads. |
| exclude array | array | Clients who should not be asked. |
{
"action": "action"
} {
"enabled": true,
"sends_after_appointments": 3,
"excluded": 2
} ClinicSense checks the client list every day and sends your message on each client's birthday. By default you confirm each call; you can switch that off for this tool.
MCP callclinicsense_write → configure_birthday_email
REST endpointPOST https://cotlet.dev/api/v1/clinicsense/birthday-email/configure
| Name | Type | Description |
|---|---|---|
| action string required | string | One of `get`, `update`, `turn_on`, `turn_off`. `get` only reads. |
| message string | string | Your birthday note. |
| promo_code string | string | Optional code for the next treatment. |
{
"action": "action"
} {
"enabled": true,
"message": "Happy birthday from all of us!",
"promo_code": "BDAY15"
} Your signed-in ClinicSense browser profile, AES-256-GCM encrypted, in Finland. Never your password.
The 16 ClinicSense tools. The session cookie stays in the Cloud Browser.
Schedule, payment, report and email data. Client names appear with appointments; chart content never does.
Charting, SOAP notes, intake and consent forms, client files, TELUS eClaims, card charges and your account settings.
You log in again yourself, in the same Cloud Browser.
Disable ClinicSense for agents, reset the browser, or change your ClinicSense password.
You type your ClinicSense password yourself; the agent only uses the session that login leaves behind. Cotlet makes no HIPAA claim and signs no BAA for ClinicSense. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).
The tools follow ClinicSense's own screens, from the No-Show Guard settings to the reminder message log. Cotlet updates the ClinicSense server when those screens move, and your agent keeps the same tool names.
Plan limits stay ClinicSense's: Lite has no wait list or No-Show Guard, and no tool can add a feature your plan does not include.
If ClinicSense logs you out, one click in the Cotlet console reopens the Cloud Browser so you can log in again.
| Action | How to put it right |
|---|---|
| Booking rules, reminders, automatic emails | Call the same tool with the earlier settings, or turn_off |
| Appointment moved by mistake | Reschedule it back; the client gets the reminder you set |
| Payment recorded twice | Correct the invoice in ClinicSense |
| Wait list notice or newsletter sent | Already with your clients: follow up with them directly |
All 14 write tools ask first: by default you confirm each call, and you can switch that off per tool. The 2 read tools, the calendar and financial reports, run at once.
{
"name": "manage_wait_list",
"arguments": {
"action": "notify",
"slot": "2026-11-16T14:00",
"clients": [
"Example Client",
"Sample Client"
]
}
} curl -X POST https://cotlet.dev/api/v1/clinicsense/wait-list/manage \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"action":"notify","slot":"2026-11-16T14:00","clients":["Example Client","Sample Client"]}' {
"slot": "2026-11-16T14:00",
"notified": [
"Example Client",
"Sample Client"
],
"channel": "Email and SMS"
} The example offers the freed 2 pm slot to two hand-picked wait list clients. A cron job or n8n flow can make the same call over REST at /api/v1/clinicsense with the same key and price, in JSON. Failed calls are free.
About $25 a monthfor a solo practitioner with about 80 appointments a month, 4,300 credits. Your ClinicSense plan stays as it is.
| Job | Calls | Credits |
|---|---|---|
| Evening schedule and reminder check | 2 × 22 | 440 |
| Bookings and reschedules | 1 × 80 | 800 |
| Payments and gift certificates | 1 × 100 | 1,000 |
| Cancellations filled from the wait list | 2 × 12 | 240 |
| Package sales | 1 × 8 | 80 |
| Weekly feedback read | 2 × 4 | 80 |
| Client email settings | 1 × 8 | 80 |
| Newsletter: draft, test, send | 3 × 2 | 60 |
| Month-end reports | 2 × 1 | 20 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 280 calls | 4,300 |
The smallest pack, 5,000 credits for $29, covers this month. A clinic with several practitioners books more and uses more calls.
Credit packs are one-time purchases, not a subscription. The month above is built from our own assumptions, not measured customer usage.
| 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 |
|---|---|---|
| ClinicSense automations | Reminders, wait list notices and client emails it sends on rules you set once. | Runs inside ClinicSense; no agent can ask it a question or change a rule. |
| Report export | CSV or PDF of revenue, sales tax, payments and more. | A file per report, downloaded by hand. |
| By hand | Open the calendar and each screen in ClinicSense. | Between treatments, one screen at a time. |
If ClinicSense ever publishes an API that covers your job, use it: it is the vendor's own route. Until then Cotlet is how ChatGPT, Claude or a script reaches your ClinicSense schedule and payments from your own login, with nothing to host.
Cotlet belongs to Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273), working since 2019 under its founders Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev about the ClinicSense tools.
Sign up free at https://cotlet.dev/signup?app=clinicsense, turn on ClinicSense under Integrations in the console and log in at https://app.clinicsense.com/ in your Cloud Browser. Then connect your AI agent and ask it about tomorrow's calendar. The trial needs no card.
ClinicSense publishes no public API: its site and sitemap show no developer documentation, API keys or API pricing, and its support center is not public (checked 13 Nov 2026). No ClinicSense MCP server or official ChatGPT or Claude connector was verified. Cotlet does not need one: it works in your own signed-in ClinicSense account.
No. No Cotlet tool reads or writes charting, SOAP notes, intake and consent forms, client files or TELUS eClaims. The tools cover scheduling, payments, reports and client emails only. Cotlet makes no HIPAA claim for ClinicSense.
The plan that has the feature in ClinicSense. On its pricing, Lite ($39 a month, up to 20 appointments) includes online booking, email reminders and financial reports; No-Show Guard, the block list, the wait list, packages and gift cards start on Standard ($69 a month, up to 200 appointments).
Only when you approve one: a wait list notice, a newsletter, or a change that switches on an automatic email. Reading the calendar, the message log or feedback sends nothing.
Only in how it is called. Both carry the same 16 tools, inputs, answers, API key and price. Agents use MCP; scripts and n8n HTTP steps use REST.
No. Cotlet is independent and not affiliated with ClinicSense.
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