SimplePractice doesn't offer a public API, but it works well alongside BloomText. Most practices run the two side by side, and health plans or EAPs in SimplePractice's SimpleConnect program can pair its scheduling API with the BloomText API.
How it works
Read from SimplePractice
SimpleConnect partners read scheduling and referral data from SimplePractice. Everyone else exports client contacts once to build the mapping.
Match to a conversation
It looks up each patient’s BloomText conversation in a simple mapping your app keeps.
Message in BloomText
It sends reminders and replies with the BloomText API, and hears back through webhooks.
SimplePractice stays your system of record. BloomText handles the conversations, and nothing syncs until your app connects the two.
Example requests
Map the SimpleConnect scheduling and referral data you are approved for to BloomText conversations, then read and post messages with the calls below. SimplePractice shares its request shapes once your access is confirmed.
POSThttps://api.bloomtext.com/v1/conversations/{conversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"We received your referral. Reply here to schedule an intake call."}
Send your API key in the Authorization header on every request. POST requests also need Idempotency-Key and Content-Type headers.
What you can build with SimplePractice and the BloomText API
SimplePractice says plainly that it does not offer a public API for practices. Its only programmatic access is the enterprise scheduling integration now sold as SimpleConnect, for health plans, EAPs, and health systems. So most of what a solo therapist or group practice builds lives on the BloomText side, next to SimplePractice rather than inside it.
A reply path next to one-way reminders
SimplePractice sends text reminders from an unmonitored number, and you are not notified if a client texts back anything besides confirm or cancel. Keep those reminders, and give clients a BloomText conversation for everything else. A webhook on conversation.message.created routes each reply to the right clinician.
Uses no SimplePractice data; it runs beside SimplePractice reminders
EAP and health plan referral follow-up
If your organization is an approved SimpleConnect partner, schedulers can see in-network SimplePractice clinicians’ availability and request an appointment. After a request goes out, message the member in their BloomText conversation so they know what happens next and have somewhere to ask.
Uses SimplePractice Enterprise availability and appointment requests, for approved partners
Group practice intake desk
An intake coordinator fields new inquiries and hands each one to a clinician with an opening. Post the handoff to a team conversation, add the clinician as a participant, and track who picked it up with a reaction. The clinical intake itself stays in SimplePractice.
Uses staff entry of the new client in SimplePractice
Client-to-conversation mapping from an export
The Account Owner can export client contacts from SimplePractice as a vCard file. Your script reads it once, matches each client to the BloomText conversation your team already uses with them, and saves the pair in your own table. Rerun it when you onboard a batch of new clients.
Uses a SimplePractice Contacts data export
Message records for a records request
When a client asks for their records, SimplePractice’s data export covers the chart and its Secure Messages. Export the matching BloomText conversation for the same dates so the text history goes into the same response.
Uses a SimplePractice data export for the same client
Example SimplePractice integration projects
After-hours reply router
Answer client texts that arrive after the practice closes and alert the on-call clinician. SimplePractice isn’t called; this runs on BloomText alone.
Subscribe to conversation.message.created and verify each webhook’s HMAC signature.
Skip messages sent by your own staff, and read the last few messages for context.
Outside office hours, reply in the thread with your after-hours line and crisis resources.
Post a one-line alert in the on-call conversation with the client’s first name only.
POSThttps://api.bloomtext.com/v1/conversations/{conversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"Thanks for your message. The office is closed and we will reply tomorrow morning. If this is an emergency, call 911 or 988.","reply_to_message_id":"{messageId}"}
BloomText · HTTP
POSThttps://api.bloomtext.com/v1/conversations/{onCallConversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"After-hours text from Sam in their client conversation. Auto-reply sent."}
Referral acknowledgement for an EAP care team
For an EAP or health plan with approved SimpleConnect access, confirm each appointment request to the member in BloomText.
Request the appointment through your organization’s approved SimpleConnect integration, using the request shapes SimplePractice gave you.
Look up the member’s BloomText conversation ID in your care-management mapping.
Post a short note that the request is with the clinician.
Watch for the member’s reply so a care coordinator can pick it up.
BloomText · HTTP
POSThttps://api.bloomtext.com/v1/conversations/{memberConversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"We sent your appointment request to the counselor you picked. You should hear back within 2 business days. Reply here with any questions."}
Records-request export
Pull a client’s BloomText message history for a date range to go with a SimplePractice data export.
Start the SimplePractice data export for the client from Settings, as the Account Owner or a permitted practice manager.
Request a BloomText export of the matching conversation for the same dates.
Wait for the export.ready webhook, or check the export by ID.
Download both and send them through your usual records process.
Connect SimplePractice and BloomText to your AI agent
For a therapy practice, an agent on BloomText can triage the messages between sessions: sort scheduling questions from things a clinician must see, draft replies, and keep the on-call clinician informed.
1. Add the BloomText MCP server
Any MCP client, such as Claude, Cursor, or your own agent, can read and send BloomText messages with your API key.
SimplePractice has no public API and no documented MCP server or AI connector, so a practice-level agent can’t read SimplePractice live. It works from BloomText, plus anything staff hand it, such as a short list of tomorrow’s appointment times. Tools that claim to connect SimplePractice to Claude by driving its web app are not SimplePractice products; check your SimplePractice terms before you use one.
3. Tell it what to do
The agent reads new messages in client conversations since the last run.
It labels each one as scheduling, billing, or needs a clinician.
It drafts replies to scheduling questions and leaves the rest untouched.
It posts a summary to the clinician’s team conversation and reacts to the messages it handled.
Example prompt
Read every client message in BloomText since 6 PM yesterday. Reply to simple scheduling questions with our booking line, 555-0142. Don’t answer anything else. Post a list of the messages a clinician needs to read in the Clinicians conversation, first names only.
Messages the agent sends appear under its app user’s name, and an organization admin can revoke its key at any time. Read the MCP docs.
SimplePractice API FAQ
Does SimplePractice have an API?
Not for practices. SimplePractice’s help center says it doesn’t currently offer a public-facing API for integrations with other software. The one exception is its enterprise scheduling API, launched in 2022 and now part of SimpleConnect, which lets EAPs and health plans view in-network clinicians’ availability and request appointments.
How do I get SimplePractice API access?
If you are a health plan, EAP, employer, or health system, contact SimplePractice through the SimpleConnect page and confirm eligibility and request details with them. A private practice can’t get API credentials. The documented ways to move practice data out are the data export, run by the Account Owner or a permitted practice manager, and calendar sync.
Does SimplePractice send text messages to clients?
Yes. SimplePractice sends appointment reminders by email, text, or voice, with an optional confirm or cancel link, on its Essential and Plus plans. The texts come from an unmonitored number, so you aren’t notified about other replies. For two-way conversations it offers Secure Messaging in the Client Portal, where clients get an email when a new message arrives.
Can I connect SimplePractice to ChatGPT or Claude?
Not directly through anything SimplePractice publishes. You can connect BloomText to Claude, ChatGPT, or any MCP client with the BloomText MCP server, and have the agent work on your client messages. SimplePractice data reaches the agent only through what staff give it or an approved enterprise integration.
Can I use BloomText without a SimplePractice integration?
Yes. Most therapy practices run the two side by side: SimplePractice for the chart, billing, and reminders, BloomText for texting clients and chatting with the team. The BloomText API is there when you want to automate the BloomText side.
Is it HIPAA compliant to text therapy clients?
It can be, when the texting service signs a BAA and you keep texts to logistics. BloomText issues API keys only to organizations with a signed BAA. Leave session content, diagnoses, and anything else a client wouldn’t want on a lock screen out of texts, and move those conversations to a session or the portal.
Getting SimplePractice API access
SimplePractice says it doesn't offer a public-facing API. Its SimpleConnect scheduling API is for health plans, EAPs, and health systems.
If you're a health plan, EAP, or health system, contact SimpleConnect about scheduling access.
Otherwise, run SimplePractice and BloomText side by side, and use the BloomText API for your own automation.
Export your client contacts from SimplePractice to set up your conversation mapping.
Get a BloomText API key
API keys are issued to organizations with a signed BAA. Book a short call, tell us what you’re building, and we’ll set up your key. Don’t include PHI when you book.