Yes. Your app reads patients and appointments from athenahealth's API and sends messages with the BloomText API. There's nothing to install: a small app of yours joins the two, and athenahealth reviews each app before it goes live.
How it works
Read from athenahealth
Your app reads patients and appointments through athenahealth’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.
athenahealth stays your system of record. BloomText handles the conversations, and nothing syncs until your app connects the two.
Example requests
Read the patient from athenahealth, look up the matching BloomText conversation in your app’s own mapping, then post the message. Your app owns the mapping from an athenahealth 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":"Your appointment is confirmed for Tuesday at 10:00 AM."}
Send your API key in the Authorization header on every request. POST requests also need Idempotency-Key and Content-Type headers.
athenaOne runs the front desk, schedule, and billing for outpatient practices, and its APIs expose the events a front desk cares about: bookings, cancellations, check-ins, and the waitlist. Most of these ideas use athenaOne APIs, which need a signed contract with athenahealth before they reach production.
Fill cancelled slots from the waitlist
athenaOne keeps a waitlist of patients who want an earlier visit, with the provider, department, days, and hours they prefer. When a Cancel Appointment event comes through, your app reads the waitlist entries for that provider and texts the first match that an earlier time opened up. Staff still book the slot in athenaOne.
Uses athenaOne appointment changed feed and Appointment Waitlist
Check-in pings for the clinical team
Subscribe to the Check In event and post a short note to the care team’s conversation when a patient arrives, using initials and the visit time. Medical assistants see it on their phones without watching the athenaOne schedule.
Uses athenaOne appointment changed feed (Check In event)
Follow-up recalls from appointment ticklers
athenaOne stores follow-up reminders, called appointment ticklers, with an approximate date for the next visit. A weekly job reads the ticklers coming due and texts each patient that it’s time to book their follow-up.
Uses athenaOne Appointment Reminders (ticklers)
Telehealth device-check reminders
For native athenaTelehealth visits, athenahealth asks practices to share its device-check link in patient messaging. Send it the day before so patients test their camera and microphone before the visit starts.
Uses athenaOne Appointment data for telehealth visits
Reschedule confirmations
When the front desk moves a visit, the changed feed reports the update. Your app texts the patient the new date and time in the same conversation they already use, so there is one thread per patient instead of scattered notices.
Uses athenaOne appointment changed feed
Example athenahealth API projects
Cancellation-to-waitlist texter
Poll the appointments changed feed every minute. When a visit is cancelled, offer the opening to the first waitlisted patient for that provider.
Subscribe once to the practice’s appointments changed feed.
Call the changed endpoint at least once an hour, ideally every minute. athenaOne drops queued events after 24 hours.
For each cancellation, read the waitlist for that provider and pick the highest-priority entry.
Look up the patient’s BloomText conversation ID in your mapping and post the offer.
POSThttps://api.bloomtext.com/v1/conversations/{conversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"An earlier opening came up on Thursday at 3:40 PM. Reply YES and our front desk will move your visit."}
Arrival alerts for the care team
Tell the medical assistants when a patient checks in, without anyone refreshing the schedule.
Subscribe to the appointments changed feed, or to Event Notifications if your contract includes webhooks.
Keep only Check In events for the departments this team covers.
Map the department to the team’s BloomText conversation.
Post initials, visit time, and provider. Leave the reason for visit in athenaOne.
POSThttps://api.bloomtext.com/v1/conversations/{careTeamConversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"K.L. checked in for 2:15 PM with Dr. Rao."}
Weekly tickler recall
Turn follow-up ticklers into a friendly nudge to book.
Read the practice’s appointment reminders (ticklers) for each department.
Keep the ones whose approximate date falls in the next two weeks.
Post one recall message per patient and log the date you sent it, so next week’s run skips them.
POSThttps://api.bloomtext.com/v1/conversations/{conversationId}/messagesAuthorization: Bearer bt_live_…Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"It’s time to book your follow-up visit. Reply with a day that works and we’ll find a time."}
Connect athenahealth and BloomText to your AI agent
A front-desk agent that can see the athenaOne schedule and write in BloomText can work the waitlist, answer "when is my visit?" replies, and flag same-day cancellations, while staff approve anything that changes the schedule.
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.
Give the agent a few small tools that call athenaOne APIs with your approved credentials, such as "get changed appointments" and "get waitlist for provider". Keep booking and cancelling out of the toolset until you trust it. athenahealth has said it is building an MCP server for athenaOne and AI platforms like Claude; until that appears in its developer documentation, your own tools are the way in.
3. Tell it what to do
The agent pulls the latest appointment changes through your athenaOne tool.
For each cancellation it reads the waitlist and drafts an offer to the best match.
It posts the offer in the patient’s BloomText conversation and watches for a reply.
When a patient says yes, it posts a summary in the front-desk conversation so staff book the slot in athenaOne.
Example prompt
Every 10 minutes, check athenaOne for cancelled appointments today and tomorrow. For each one, find the highest-priority waitlist entry for the same provider and text that patient the open time. If they reply yes, post "Move <initials> to <time>" in the Front Desk conversation. Never book or cancel anything 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.
athenahealth API FAQ
Does athenahealth have an API?
Yes. athenahealth offers three kinds: athenaOne APIs, its own REST endpoints with write access across scheduling, clinical, and billing work; FHIR APIs for USCDI clinical data; and Certified APIs, the FHIR R4 endpoints required for ONC certification. Production calls go to api.platform.athenahealth.com and testing calls to api.preview.platform.athenahealth.com.
How do I get athenahealth API access?
Create an app in the athenahealth Developer Console. It gets sandbox access to Preview practice 195900 right away, with test patients. Apps that use only Certified APIs can self-onboard, and a practice turns them on from an admin page. athenaOne APIs need a contract through athenahealth Platform Services, then a technical spec, a solution validation demo, and a go-live form before you get production keys. athenaPractice and athenaFlow use a separate developer portal with Microsoft sign-in.
Does athenahealth have patient texting?
Yes. athenaOne sells patient engagement tools that include Patient Conversations, which offers two-way texting and secure chat, plus outreach messaging and waitlist notifications. If a practice already sends reminders from athenaOne, build around them instead of duplicating them. BloomText is useful for the conversations your own software drives and for staff chat.
Can I get real-time appointment updates from athenahealth?
Two ways. Changed Data Subscriptions are a polling feed: you subscribe once and call the changed endpoint, at least hourly, because unread events expire after 24 hours and unused subscriptions are removed after 7 days. Event Notifications push events such as Appointment.cancel and Appointment.check-in to your webhook in seconds, but they carry only IDs and require an updated API contract.
Can I connect athenahealth to Claude, ChatGPT, or another AI agent?
Yes, through tools you write. Wrap the athenaOne endpoints your contract allows as agent tools, and add the BloomText MCP server so the same agent can read and send messages. athenahealth has written that it is building an MCP server for athenaOne, but it is not in the public developer documentation yet.
Is it HIPAA compliant to text patients using athenahealth data?
It can be, if every party handling PHI is covered. BloomText issues API keys only to organizations with a signed BAA, and your use of athenahealth data runs under your contract with athenahealth and the practice. Keep messages to what the patient needs, like a time or a link, and leave clinical detail in athenaOne.
Getting athenahealth API access
athenahealth has free certified FHIR APIs that practices can switch on themselves, and commercial athenaOne APIs that need a contract and an app review.
Create a developer account in athenahealth's Developer Portal and build against its Preview sandbox.
Choose the certified FHIR APIs, or sign an athenaOne API contract if you need more data.
Pass athenahealth's app review, then have each practice turn your app on.
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.