Mindbody MCP server Let your AI agent keep your Mindbody classes full.

Connect Mindbody classes, rosters, clients and contracts to Claude or ChatGPT. Ask in plain words to rebook a cancelled class, list clients who stopped coming or report fill rates. Cotlet hosts it, with no API key and no developer setup.

  • Free 7-day trial, no card
  • Hosted 24/7, one account for many apps
  • Independent, not affiliated with Mindbody
Mindbody logo Mindbody Cloud Browser

13 tools Read and write

Classes to contracts

What can your AI agent do in Mindbody? Front desk chores, done in one sentence.

  • Rebook a cancelled class

  • Read rosters and waitlists

  • Find clients who stopped coming

  • Check stalled contracts

  • Add new leads as clients

  • Report weekly fill rates

API after approval

Does Mindbody have an MCP server or an API? An API for approved developers, no MCP server.

Mindbody has an official Public API v6 and a Webhooks API, but live access needs a developer approval, an activation by each studio owner and a metered fee, and it has no official MCP server (checked 6 Nov 2026). Cotlet runs 13 Mindbody tools hosted: no API key, no developer account, and they work inside the ChatGPT and Claude apps.

  • Mindbody's developer FAQ says the API has a limit of 1,000 calls a day, then one third of a cent per call, charged only with live clients. That page is dated 2023, so the current rate sits in the developer portal.
  • Going live takes a developer account, a live-access request that Mindbody approves, and then the studio owner activating the link for the site (Mindbody Webhooks guide).
  • Zapier lists Mindbody as "Not Yet Supported" and n8n has no Mindbody node. The Webhooks API does push class, client and sale events to a URL you host.
The Mindbody Public API, a GitHub MCP server and Cotlet compared
What you need Public API v6GitHub MCP serverCotlet
How you get in Developer account, approval, owner activation Needs the same API credentials Your own staff login
Classes, rosters, clients, contracts Yes, once live Yes, through the API Yes
Book, cancel, add a client Yes, once live Some servers, behind flags Yes, after your OK
Use it in the ChatGPT or Claude app You build it Runs on your own computer Hosted, runs 24/7
Cost Metered per call Free, plus API calls Credits per call, no API meter

Checked 6 Nov 2026. Sources: Mindbody Developer FAQs · Mindbody Public API V6.0 · Mindbody Webhooks API Documentation · Zapier: Mindbody not yet supported

Set up once

How does the Mindbody MCP server work? Three steps, no developer account.

  1. 1Sign in to Mindbody

    Use your staff login in its Cloud Browser.

  2. 2Connect your AI agent

    Paste one address, approve the sign-in.

  3. 3Ask in plain words

    Your agent calls the Mindbody tools.

We never keep your Mindbody password, and no booking, cancel or contract change goes through until you approve it. Who can see your session

Any MCP client

How to connect Mindbody to your AI agent

Add one address to your agent. Chat apps sign in with Cotlet, editors and scripts use an API key.

  1. 1

    Enable Mindbody for agents. Sign up, sign in to Mindbody in its Cloud Browser with your staff login, then press Enable for agents.

  2. 2

    Add the Cotlet address. Paste https://cotlet.dev/mcp/v1 into your agent as an MCP server or connector.

  3. 3

    Approve the connection. Chat apps open a Cotlet sign-in. Editors, n8n and scripts take an API key from the console.

One shared address, https://cotlet.dev/mcp/v1, carries Mindbody along with your other apps. If you enable Mindbody after connecting, refresh the connector and the new tools appear.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-mindbody \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-mindbody": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet-mindbody]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: mindbody_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: mindbody_write
8 read, 5 write

All 13 Mindbody MCP tools

Classes and rosters2

Dates are read in the studio's time zone. The roster lists the waitlist apart from the booked clients.

  • list_classes Scheduled classes in a date range with time, teacher, booked count and capacity. read

    Reads the class schedule for the dates you give, in start time order. Each class has a class_id for get_class_roster and book_client_into_class, the class name, teacher, start and end time, how many are booked and the maximum. A class that was cancelled is marked cancelled. Dates are read in the studio's time zone. The login needs the staff permission to view the schedule.

    MCP callmindbody_read → list_classes

    REST endpointGET https://cotlet.dev/api/v1/mindbody/classes

    Parameters

    Parameters: list_classes
    NameTypeDescription
    start_date date required date First day to list.
    end_date date date Last day to list. Default: the same day as start_date.
    teacher string string Only classes of this teacher, by name.

    Example input

    {
      "start_date": "2026-10-01"
    }

    Example response

    {
      "classes": [
        {
          "class_id": "c_48121",
          "name": "Morning Vinyasa",
          "teacher": "Dana Reyes",
          "starts_at": "2026-11-10T07:00:00",
          "ends_at": "2026-11-10T08:00:00",
          "booked": 18,
          "capacity": 20,
          "status": "scheduled"
        },
        {
          "class_id": "c_48122",
          "name": "Lunch Pilates",
          "teacher": "Sam Okafor",
          "starts_at": "2026-11-10T12:15:00",
          "ends_at": "2026-11-10T13:00:00",
          "booked": 12,
          "capacity": 14,
          "status": "scheduled"
        }
      ]
    }
  • get_class_roster Clients booked into one class, and its waitlist. read

    Returns the people on the roster of one class and, below them, the waitlist in the order clients joined it. Each person has a client_id and the booking_id you pass to cancel_client_booking. The count of the roster matches booked in list_classes. The waitlist is empty when the class has no waitlist or it is not full.

    MCP callmindbody_read → get_class_roster

    REST endpointGET https://cotlet.dev/api/v1/mindbody/class/{class_id}/roster

    Parameters

    Parameters: get_class_roster
    NameTypeDescription
    class_id string required string Class ID from list_classes.

    Example input

    {
      "class_id": "class_8c41d2"
    }

    Example response

    {
      "class_id": "c_48121",
      "name": "Morning Vinyasa",
      "roster": [
        {
          "client_id": "100234",
          "name": "Ana Lopez",
          "booking_id": "b_90311"
        },
        {
          "client_id": "100871",
          "name": "Tom Becker",
          "booking_id": "b_90314"
        }
      ],
      "waitlist": [
        {
          "client_id": "101552",
          "name": "Maria Silva"
        }
      ]
    }

Clients, visits and contracts6

Run search_clients before add_client to avoid a duplicate. How far back visits go follows the studio's Client History Windows setting.

  • search_clients Find clients by name, email or phone. read

    Searches the studio's clients and returns up to 25 matches with client_id, name, email and membership status. Use the client_id in the other client tools. An empty result means no client matches, so it is the check to run before add_client. The login needs the staff permission to view client info.

    MCP callmindbody_read → search_clients

    REST endpointGET https://cotlet.dev/api/v1/mindbody/clients/search

    Parameters

    Parameters: search_clients
    NameTypeDescription
    query string required string Name, email address or phone number.

    Example input

    {
      "query": "query"
    }

    Example response

    {
      "clients": [
        {
          "client_id": "100234",
          "name": "Ana Lopez",
          "email": "ana@example.com",
          "membership_status": "Active"
        }
      ]
    }
  • get_client One client's Client Info: contact details, birthday, membership status and last and next visit. read

    Returns what the Client Info screen shows in its Account section: contact details, birthday, client ID, the membership status (for example Active, Expired, Terminated or Suspended), the memberships with their end dates and sessions left, and the date of the last and the next visit. Read only.

    MCP callmindbody_read → get_client

    REST endpointGET https://cotlet.dev/api/v1/mindbody/clients/{client_id}

    Parameters

    Parameters: get_client
    NameTypeDescription
    client_id string required string Client ID from search_clients.

    Example input

    {
      "client_id": "client_8c41d2"
    }

    Example response

    {
      "client_id": "100234",
      "name": "Ana Lopez",
      "email": "ana@example.com",
      "birthday": "1990-04-12",
      "membership_status": "Active",
      "memberships": [
        {
          "name": "Unlimited Monthly",
          "ends_on": "2026-12-31",
          "sessions_left": null
        }
      ],
      "last_visit": "2026-10-02",
      "next_visit": "2026-11-11"
    }
  • list_client_visits A client's past visits, newest first. read

    Returns the visits on the client's Visits screen, newest first, with the class or appointment, the date and the visit status. How far back it goes follows the studio's Client History Windows setting unless you pass a start date. Use it to see how often someone comes.

    MCP callmindbody_read → list_client_visits

    REST endpointGET https://cotlet.dev/api/v1/mindbody/client-visits

    Parameters

    Parameters: list_client_visits
    NameTypeDescription
    client_id string required string Client ID from search_clients.
    since date date Only visits on or after this date.

    Example input

    {
      "client_id": "client_8c41d2"
    }

    Example response

    {
      "client_id": "100234",
      "visits": [
        {
          "date": "2026-10-02",
          "name": "Morning Vinyasa",
          "status": "signed in"
        },
        {
          "date": "2026-09-29",
          "name": "Lunch Pilates",
          "status": "signed in"
        }
      ]
    }
  • list_client_contracts A client's contracts with status, end date and autopay state. read

    Returns the contracts on the client's account with the contract name, status, end date, and the state of the autopay as the Autopay Schedule screen shows it. A month-to-month contract has no end date and runs until it is terminated. A contract paused by a declined autopay says so. Use contract_id with terminate_client_contract.

    MCP callmindbody_read → list_client_contracts

    REST endpointGET https://cotlet.dev/api/v1/mindbody/client-contracts

    Parameters

    Parameters: list_client_contracts
    NameTypeDescription
    client_id string required string Client ID from search_clients.

    Example input

    {
      "client_id": "client_8c41d2"
    }

    Example response

    {
      "client_id": "100234",
      "contracts": [
        {
          "contract_id": "ct_5521",
          "name": "Unlimited Monthly",
          "status": "Active",
          "ends_on": null,
          "autopay": "next payment 2026-12-01"
        }
      ]
    }
  • add_client Create a new client. writeasks first

    Adds a client with the name and email you give and returns the new client_id. The studio's welcome email goes out only if the welcome email is set to send by default or you pass send_welcome_email as true, and then it reaches the client. It needs the staff permission Add Client. Run search_clients first, so you do not create a duplicate. By default you confirm each call; you can switch that off for this tool.

    MCP callmindbody_write → add_client

    REST endpointPOST https://cotlet.dev/api/v1/mindbody/clients

    Parameters

    Parameters: add_client
    NameTypeDescription
    first_name string required string First name.
    last_name string required string Last name.
    email string required string Email address.
    phone string string Mobile phone number.
    send_welcome_email boolean boolean Send the welcome email. Default: the studio's own setting.

    Example input

    {
      "first_name": "first name",
      "last_name": "last name",
      "email": "jane@example.com"
    }

    Example response

    {
      "client_id": "102210",
      "name": "Lena Ortiz",
      "email": "lena@example.com",
      "welcome_email_sent": true
    }
  • update_client Change a client's contact details. write

    Edits the fields you pass on the client's Client Info and leaves the rest as it is. It returns the client as saved. It needs the staff permission to edit client info. It reaches no one and is undone with one more call, so it does not wait for your OK.

    MCP callmindbody_write → update_client

    REST endpointPATCH https://cotlet.dev/api/v1/mindbody/clients/{client_id}

    Parameters

    Parameters: update_client
    NameTypeDescription
    client_id string required string Client ID from search_clients.
    email string string New email address.
    phone string string New mobile phone number.

    Example input

    {
      "client_id": "client_8c41d2"
    }

    Example response

    {
      "client_id": "100234",
      "name": "Ana Lopez",
      "email": "ana.lopez@example.com",
      "phone": "555 0142",
      "updated": [
        "email",
        "phone"
      ]
    }

Bookings and contract changes3

The studio's own rules still apply: a client without a valid pricing option is not booked, and a late cancel follows the studio policy.

  • book_client_into_class Enroll a client in a class. writeasks first

    Adds the client to the class roster, or to the waitlist when the class is full and has a waitlist, and returns the booking and the place. The studio's own rules still apply: a client without a valid pricing option is not booked, and the call returns the reason. The studio's class confirmation email goes to the client if that notification is on. By default you confirm each call; you can switch that off for this tool.

    MCP callmindbody_write → book_client_into_class

    REST endpointPOST https://cotlet.dev/api/v1/mindbody/class/{class_id}/clients/{client_id}/into-class

    Parameters

    Parameters: book_client_into_class
    NameTypeDescription
    client_id string required string Client ID from search_clients.
    class_id string required string Class ID from list_classes.

    Example input

    {
      "client_id": "100234",
      "class_id": "c_48125"
    }

    Example response

    {
      "booking_id": "b_90420",
      "class_id": "c_48125",
      "client_id": "100234",
      "place": "roster",
      "booked": 15,
      "capacity": 20
    }
  • cancel_client_booking Cancel one client's booking in a class. writeasks first

    Cancels one booking from get_class_roster. cancel_type is early or late: Mindbody applies the studio's own policy, so a late cancel can use up a visit or charge a fee. The studio's cancellation email goes to the client if that notification is on. A cancelled booking is put back with book_client_into_class, not with an undo. By default you confirm each call; you can switch that off for this tool.

    MCP callmindbody_write → cancel_client_booking

    REST endpointPOST https://cotlet.dev/api/v1/mindbody/bookings/{booking_id}/client-booking/cancel

    Parameters

    Parameters: cancel_client_booking
    NameTypeDescription
    booking_id string required string Booking ID from get_class_roster.
    cancel_type enum required enum early or late.

    Example input

    {
      "booking_id": "booking_8c41d2",
      "cancel_type": "early"
    }

    Example response

    {
      "booking_id": "b_90311",
      "client_id": "100234",
      "status": "cancelled",
      "cancel_type": "early"
    }
  • terminate_client_contract Terminate a client's contract and stop its autopays. writeasks first

    Terminates the contract from list_client_contracts, which ends its remaining autopays. It needs the staff permission to terminate client contracts. A termination can be cancelled while the contract's end date has not passed; after that the contract has to be sold again. By default you confirm each call; you can switch that off for this tool.

    MCP callmindbody_write → terminate_client_contract

    REST endpointPOST https://cotlet.dev/api/v1/mindbody/contracts/{contract_id}/clients/{client_id}/contract/terminate

    Parameters

    Parameters: terminate_client_contract
    NameTypeDescription
    contract_id string required string Contract ID from list_client_contracts.
    client_id string required string Client ID the contract belongs to.

    Example input

    {
      "contract_id": "contract_8c41d2",
      "client_id": "client_8c41d2"
    }

    Example response

    {
      "contract_id": "ct_5521",
      "client_id": "100234",
      "status": "Terminated",
      "autopays_stopped": true
    }

Reports and staff schedule2

Each report needs the matching staff permission; without it the call names the missing one.

  • get_attendance_report Attendance with revenue for a date range, per class. read

    Reads the Attendance with Revenue report from Insights > Reports for the dates you give, one row per class with the booked and signed-in counts. It needs the staff permission for that report; without it the call fails with a permission error and the agent says which permission is missing.

    MCP callmindbody_read → get_attendance_report

    REST endpointGET https://cotlet.dev/api/v1/mindbody/attendance-report

    Parameters

    Parameters: get_attendance_report
    NameTypeDescription
    start_date date required date First day of the report.
    end_date date required date Last day of the report.

    Example input

    {
      "start_date": "2026-10-01",
      "end_date": "2026-10-01"
    }

    Example response

    {
      "rows": [
        {
          "class": "Morning Vinyasa",
          "date": "2026-11-03",
          "booked": 18,
          "signed_in": 16
        },
        {
          "class": "Evening Spin",
          "date": "2026-11-03",
          "booked": 15,
          "signed_in": 13
        }
      ],
      "totals": {
        "booked": 33,
        "signed_in": 29
      }
    }
  • list_staff_schedule The classes each teacher is scheduled for. read

    Reads the Staff Schedule report (Insights > Reports > Staff > Administrative): the classes each teacher is scheduled for in the dates you give, grouped by teacher. It needs the staff permission Schedule at a Glance/Attendance (Everyone's Schedule).

    MCP callmindbody_read → list_staff_schedule

    REST endpointGET https://cotlet.dev/api/v1/mindbody/staff-schedules

    Parameters

    Parameters: list_staff_schedule
    NameTypeDescription
    start_date date required date First day to list.
    end_date date date Last day to list. Default: the same day as start_date.

    Example input

    {
      "start_date": "2026-10-01"
    }

    Example response

    {
      "teachers": [
        {
          "name": "Dana Reyes",
          "classes": [
            {
              "name": "Morning Vinyasa",
              "starts_at": "2026-11-10T07:00:00"
            }
          ]
        },
        {
          "name": "Sam Okafor",
          "classes": [
            {
              "name": "Lunch Pilates",
              "starts_at": "2026-11-10T12:15:00"
            }
          ]
        }
      ]
    }
Encrypted, revocable

Who can see my Mindbody session, and how do I revoke it?

  • What we store

    The signed-in staff profile, AES-256-GCM encrypted, kept in Finland. Never your password.

  • What your agent gets

    The 13 Mindbody tools, not the session cookie.

  • What the session sees

    What your staff permissions show: schedule, clients, visits, contracts, reports.

  • What no tool touches

    Card payments, selling a pricing option or contract, refunds, staff pay.

  • If you are signed out

    Your agent gets a link and you sign in again yourself.

  • How to cut access

    Disable for agents, reset the browser, or deactivate the staff login in Mindbody.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).

Your staff login

Which Mindbody login does my agent use? Your own staff login, with its own permissions.

The agent works in Mindbody the way a staff member does, in the same web app, under the login you sign in with. What it can do follows that login's staff permissions: Add Client to add a client, the permission to terminate client contracts to end a contract, the report permissions for the attendance report. A call without the permission fails and names it.

Studios that want the agent apart from the owner create a separate staff login for it and give it only the permissions the jobs need. Mindbody then lists its changes under that name.

How your Mindbody stays in your hands

  • Your own staff login, signed in by you
  • One Cloud Browser with a steady IP and its own cookies
  • Adding a client, booking, cancelling and terminating a contract wait for your OK (4 tools)
  • No tool takes a payment or sells a contract
  • You switch the agent off for Mindbody in one click

The studio's own emails still go out: a booking or cancellation sends the class confirmation or cancellation email to the client if that notification is on. Read the call before you approve it.

Tested every 12 h

What happens when Mindbody changes? We repair the tool; your prompts stay the same.

between tests of the Mindbody reads
12 h
between tests of writes a client would notice
24 h
for a call to a Mindbody tool paused for repair
$0

When Mindbody moves a screen or renames a field, the fix happens on our side and your prompts keep working. status.cotlet.dev checks the site, console and API every 3 minutes.

4 tools ask first

Approvals, undo and mistakes No client hears anything until you say so.

  1. 01 Reads the roster The cancelled class and the later class, with places left.
  2. 02 Checks who fits A client without a valid pricing option is listed, not booked.
  3. 03 Waits for your OK Each booking and cancel sits in your Cotlet console first.
  4. 04 Reports the result Who moved, who did not fit, who is on the waitlist.
Which Mindbody actions can be undone
ActionUndo
Book a client into a classCancel the booking; the studio policy decides whether an early or late cancel costs a visit
Cancel a bookingBook the client again if there is room; the cancel stays in the history
Update a clientCall update_client again with the old details
Add a clientFix the details in Client Info; no tool deletes a client
Terminate a contractCancel the termination while the contract end date has not passed; after that the contract is sold again

4 of 13 tools ask first: add_client, book_client_into_class, cancel_client_booking and terminate_client_contract. update_client reaches no one and one more call undoes it, so it runs at once. You can turn the wait off per tool, for example for a nightly lead import.

Choose cancel_type early or late with care: Mindbody applies the studio's own policy, so a late cancel can use up a visit or charge a fee.

MCP call
{
  "name": "book_client_into_class",
  "arguments": {
    "client_id": "100234",
    "class_id": "c_48125"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/mindbody/class/c_48125/clients/100234/into-class \
  -H "Authorization: Bearer $COTLET_API_KEY"
Tool output
{
  "booking_id": "b_90420",
  "class_id": "c_48125",
  "client_id": "100234",
  "place": "roster",
  "booked": 15,
  "capacity": 20
}

A cron job or script calls the same tools over REST, with the same key and the same price per call. A booking with no valid pricing option fails with the reason, and a failed call is free. Each tool in the table above shows its REST path.

Pay per call

How much does the Mindbody MCP server cost?

About $23 a monthfor one studio's front desk chores, 3,960 credits. Mindbody keeps billing your plan as before.

A month of Mindbody jobs for one studio, in credits
JobCallsCredits
Front desk roster and schedule lookups2 × 30600
Rebook a cancelled class of 1226 × 2520
Find lapsed members, weekly13 × 4520
Attendance and fill-rate report, weekly3 × 4120
Add a new lead as a client2 × 20400
Check stalled contracts2 × 15300
Cloud Browser, 30 days1,500
Total3,960
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • No Mindbody API fees: Cotlet does not use the metered API

Mindbody publishes no per-studio counts, so the month is our example: a studio of about 200 members and 40 classes a week, two cancelled classes, 20 new leads. Mindbody lists plans from $79 a month per location, the higher plans by quote (mindbodyonline.com, 6 Nov 2026). Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
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.

Other options

Mindbody MCP server on GitHub, Zapier or hosted: which to use Community servers need the official API credentials.

Other Mindbody MCP servers and tools, checked 6 Nov 2026
OptionWhat it doesWhere it stops
vespo92/MindbodyMCPA TypeScript MCP server with 50+ tools for classes, clients, sales and staff, 11 stars.Runs on your computer with Public API credentials; last commit 31 Mar 2026.
alex454-byte/mindbody-mcp-serverRead-only by default, masks personal data, writes behind flags, 0 stars.Public API credentials and a local install; last commit 15 Oct 2026.
NoBanks/mindbody-mcpPython server with 5 tools; booking and checkout are switched off by default.Public API credentials; small tool set.
PipedreamA hosted Mindbody MCP address for chat apps.Connects through Pipedream and the Mindbody API route.
ZapierLists Mindbody as not yet supported; paid connectors turn Mindbody webhooks into Zaps.Reacts to events, no agent that reads rosters or books.

The official Public API is the route for a developer who wants a custom integration and is willing to wait for approval and owner activation. Cotlet suits a studio that wants its own agent working this week, in the ChatGPT or Claude app, on the staff login it already has.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. runs Cotlet, a software company registered in Poland, EU (VAT PL6342984273), working since 2019 and founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the Mindbody tools go to contact@cotlet.dev.

Mindbody MCP server: questions

How do I connect Mindbody to ChatGPT or Claude?

Sign up at cotlet.dev, log in to Mindbody 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 Mindbody account through Cotlet, in their phone apps too.

What can ChatGPT do in Mindbody?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Mindbody: rebook clients from a cancelled class; find clients who stopped coming; check clients with a stalled contract. You ask in plain words, and anything that reaches other people waits for your OK first.

How do I get access?

Create a free account at https://cotlet.dev, open Mindbody under Integrations in the console and sign in to Mindbody in its Cloud Browser. The trial starts with your first app, no card asked.

How do I connect Mindbody to ChatGPT or Claude?

Sign up at cotlet.dev, log in to Mindbody 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 Mindbody account through Cotlet, in their phone apps too.

Is there an official ChatGPT or Claude app for Mindbody?

No. Mindbody 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.

Can ChatGPT book a client into a class in Mindbody?

Yes, with Cotlet. ChatGPT finds the client and the class and books them in, or cancels a booking. Each booking waits for your OK by default, which you can switch off per tool.

Can ChatGPT show the class roster in Mindbody?

Yes, with Cotlet. ChatGPT lists the day's classes, reads each roster and pulls the attendance report, in your own Mindbody login. Reading sends nothing to anyone.

What does Mindbody charge for API calls?

Mindbody's developer FAQ says the API has a limit of 1,000 calls a day, then one third of a cent for every call, and that you are charged only with live clients. The FAQ is dated 2023, so check the developer portal for the current rate. Cotlet works in your own Mindbody login and does not use those API calls.

Which login does my agent need?

Your own Mindbody business login, as owner or staff. What the agent can do follows that login's staff permissions: for example, Add Client to add a client and the permission to terminate client contracts to end a contract. A call without the permission fails and names it.

Does the agent take payments?

No. The tools read classes, clients, visits and contracts, book and cancel class bookings, add and edit clients and terminate a contract. Selling a pricing option or contract and charging a card stay in Mindbody.

Does Mindbody have webhooks?

Yes, through its Webhooks API for approved developers. Cotlet has no trigger for new bookings, so run your agent on a schedule, for example a list_classes and get_class_roster pass every morning.

Does it work for a studio with several locations?

It works in the Mindbody site you sign in to, with the schedule and permissions that staff login has.

Is the MCP server different from the REST API?

Only in how you call it. Both have the same 13 tools, inputs, answers, API key and price. Agents speak MCP; scripts and HTTP steps call REST.

Is Cotlet affiliated with Mindbody?

No. Cotlet is independent and not affiliated with Mindbody.

Give your agent the front desk in Mindbody.

Free 7-day trial with 2,000 credits, no card needed.