Yes. eClinicalWorks publishes free FHIR APIs for reading patient data, and the BloomText API sends the messages. Your app matches each eClinicalWorks patient to a BloomText conversation, and scheduling data comes through eClinicalWorks' separate healow portal.
How it works
Read from eClinicalWorks
Your app reads patients, plus appointments through healow through eClinicalWorks’s API.
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.
eClinicalWorks stays your system of record. BloomText handles the conversations, and nothing syncs until your app connects the two.
Example requests
Read the patient from eClinicalWorks, look up the matching BloomText conversation in your app’s own mapping, then post the message. Your app owns the mapping from an eClinicalWorks patient ID to a BloomText conversation ID; nothing maps automatically.
POSThttps://api.bloomtext.com/v1/conversations/{conversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"Reminder: you have an appointment tomorrow at 9:30 AM."}
Send your API key in the Authorization header on every request. POST requests also need Idempotency-Key and Content-Type headers.
eClinicalWorks splits its developer access in two: provider-facing FHIR APIs on the Open Developer portal, and patient-facing and scheduling APIs on the healow Developer Portal. Read APIs are documented openly. Write APIs, such as adding a note to the chart, need a contract with eClinicalWorks.
Phone-verified patient linking
The eClinicalWorks Patient search accepts last name, first name, and a 10-digit phone number together. When staff link a BloomText conversation to a chart, your app runs that search and stores the mapping only if exactly one patient comes back.
Uses eClinicalWorks FHIR Patient search
Outreach notes in the chart
eClinicalWorks documents a Communication create API that adds a note to the patient’s App Data tab as a checklist item. After your app texts a patient, it can leave a one-line note like "Reminder texted 9/22" so the next person who opens the chart knows it was sent.
Uses eClinicalWorks Communication create API (contract required)
Route replies to the patient’s PCP team
The FHIR Patient record carries the patient’s primary care provider. When a patient replies in BloomText, your app looks up that provider and posts a heads-up in the matching team conversation, so a busy multi-provider clinic doesn’t leave replies sitting in a shared queue.
eClinicalWorks lists a create API for Telephone Encounters, the record staff already use to document calls. When a patient asks for a callback over text, your app can open a telephone encounter so the request lands in the usual eCW workflow.
Uses eClinicalWorks Encounter (Telephone Encounters) create API (contract required)
Human follow-up for unconfirmed visits
Many eCW practices already send automated reminders through eClinicalMessenger. Keep those, and use BloomText for the next step: if your healow-approved scheduling integration shows a visit still unconfirmed the day before, a staff member follows up personally in the patient’s conversation.
Uses healow scheduling APIs, if your app is approved for them
Example eClinicalWorks API projects
Link a conversation to the right chart
A small admin screen where staff type a patient’s name and phone, confirm the eCW match, and save the BloomText conversation ID next to it.
Search eClinicalWorks for the patient by last name, first name, and phone.
If more than one patient matches, stop and ask staff to pick. Never guess.
Save the eCW patient ID and the BloomText conversation ID in your own table.
Send a short welcome message so the patient knows the thread is live.
POSThttps://api.bloomtext.com/v1/conversations/{conversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"You’re all set to text our office here. We’ll reply during clinic hours."}
Text, then note it in the chart
Send the reminder in BloomText, then add a checklist note to the patient’s App Data tab in eClinicalWorks.
Post the reminder to the patient’s BloomText conversation.
Build a FHIR transaction Bundle with one Communication, status "preparation", the patient reference, and a one-line note.
POST it to the practice’s FHIR base URL. This needs a Create API contract with eClinicalWorks.
Stay under 250 calls per minute per base URL. eCW returns 429 above that.
BloomText · HTTP
POSThttps://api.bloomtext.com/v1/conversations/{conversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"Reminder: your visit is tomorrow at 10:20 AM."}
POSThttps://api.bloomtext.com/v1/conversations/{pcpTeamConversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"New patient reply waiting in BloomText for Dr. Shah’s panel. Initials: R.M."}
Connect eClinicalWorks and BloomText to your AI agent
In a busy primary care or community health center, an agent connected to eClinicalWorks and BloomText can sort incoming patient texts, route them to the right provider’s team, and draft replies to routine questions like office hours or form links for staff to send.
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.
eClinicalWorks does not document an MCP server, so write your own tools that call its FHIR API with your approved OAuth2 credentials, such as "find patient by name and phone" and "get patient PCP". Put your own throttle in front of them, because eCW limits each base URL to 250 calls per minute.
3. Tell it what to do
The agent reads new messages from BloomText through the MCP server.
For each one, it looks up the mapped eCW patient and their primary care provider with your FHIR tool.
It posts a short routing note to that provider’s team conversation.
For routine questions it drafts a reply in the team thread for a staff member to approve and send.
Example prompt
Check BloomText for patient messages from the last 15 minutes that nobody has answered. For each one, use the eCW tool to find the patient’s PCP and post "<initials> is waiting for a reply" in that PCP’s team conversation. If the question is about hours, directions, or forms, draft a reply there too. Don’t send anything to the patient yourself.
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.
eClinicalWorks API FAQ
Does eClinicalWorks have an API?
Yes. eClinicalWorks publishes FHIR R4 APIs on its Open Developer portal, covering USCDI read APIs such as Patient, Encounter, and DocumentReference, plus create APIs for things like Communication notes and telephone encounters. Each practice has its own base URL under /fhir/r4/{practice_code}. Patient-facing apps use the separate healow Developer Portal.
How do I get eClinicalWorks API access?
Sign up on the Open Developer portal, register your app, test it, publish it to production, and then connect to eClinicalWorks customers who enable it. Server-to-server apps use Backend Services, and practices can enable bulk patient groups for them. Create APIs need a contract, which starts with interop@eclinicalworks.com.
Can I read appointments from the eClinicalWorks API?
Not from the provider FHIR read APIs. The Open Developer documentation sends developers who need scheduling to the healow Developer Portal, which has its own sign-up and review. Plan for that second approval if your project depends on appointment times.
Does eClinicalWorks have patient texting?
Yes. eClinicalMessenger sends automated reminders by voice, secure text, the healow app or patient portal, and email, and appointment confirmations flow back into the eCW schedule. If a practice already runs those reminders, use BloomText for the conversations your own software drives and for staff chat, not a second reminder.
Can I connect eClinicalWorks to Claude, ChatGPT, or another AI agent?
Yes, with tools you build. eClinicalWorks does not document an MCP server, so wrap the FHIR calls your app is approved for as agent tools and add the BloomText MCP server for messaging. Keep the 250 calls per minute limit in mind when an agent loops over many patients.
Is it HIPAA compliant to text patients using eClinicalWorks data?
It can be when each party that touches PHI is covered. BloomText issues API keys only to organizations with a signed BAA, and your access to eClinicalWorks data runs under the practice’s authorization and any eCW contract. Keep texts to logistics like times and links, and leave clinical detail in the chart.
Getting eClinicalWorks API access
eClinicalWorks' Open Developer FHIR documentation is free for certified APIs. Wider production use goes through its partner process, and scheduling APIs live on the healow Developer Portal.
Register on the eClinicalWorks Open Developer portal and test in its sandbox.
Publish your app and connect it to each customer practice.
For appointments, apply separately through the healow Developer Portal.
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.