A dental practice front desk managing appointments and patient records

NexHealth API: Patient Workflows Carly Can Run

A cancellation opens tomorrow’s schedule; Carly can reach the waitlist, handle the replies, and give the front desk the result. Through NexHealth, the same assistant can coordinate appointment requests, missing forms, schedule briefs, and sync alerts across Dentrix, Eaglesoft, Open Dental, and 12 other dental and medical systems.

You can sign up for the NexHealth Synchronizer API right now, get a sandbox key in a minute, and be reading real records from a demo dental system the same day. No sales call, no partner agreement, no approval queue.

That’s worth saying first because healthcare APIs usually don’t work that way — and because the systems NexHealth sits in front of very much don’t. Dentrix charges $5,000 to read and another $5,000 to write, plus monthly royalties. Open Dental requires you to email vendor relations and wait for approval. NexHealth’s actual product is absorbing those negotiations, and that’s the reason to look at it.

The catch isn’t the credentials. It’s the per-call price and the fact that every practice has to actively let you in.


Patient and front-desk workflows Carly can run

The jobs worth the setup are the ones Carly can carry from the practice-management record through the inbox, calendar, task list, and front desk:

  • Appointment requests confirmed in minutes, not hours. A request comes in after close and sits until the front desk opens — by which point the patient has often booked elsewhere.
  • Unfilled slots offered to the waitlist the moment a cancellation lands, instead of the chair sitting empty.
  • New patient forms chased automatically so they arrive before the appointment rather than eating fifteen minutes of it.
  • Sync failures noticed the same day. The connection to your practice system goes red and nobody knows until someone spots that no appointments came through — a genuinely useful alert given how much depends on the sync staying up.

Because calls are billed and webhook events cost half as much, reacting to these is also meaningfully cheaper than checking for them.

For example:

When an appointment is cancelled, find appropriate patients on the waitlist, offer the opening in priority order, confirm the first acceptance, update the schedule, and send the front desk a summary.

Or:

Every evening, email tomorrow’s schedule with new patients, missing forms, unconfirmed appointments, open chairs, and any NexHealth sync problem that could affect the day.


What it fronts

This breadth is why NexHealth is useful to Carly: the workflow can stay consistent even when different practices run different record systems.

Fifteen health record systems, per NexHealth’s supported systems table:

Athena · Cloud9 · Curve Hero · Denticon · Dentrix G6.2+ · Dentrix Ascend · Dentrix Enterprise · Dolphin · Eaglesoft 18+ · eClinicalWorks v11.53+ (cloud only) · Modernizing Medicine · Open Dental V17+ · OrthoTrac · PracticeWorks · NextGen Office

You’ll see “15+” and “20+” in NexHealth’s own marketing. The documented table lists exactly fifteen — that’s the number to trust.

The value is concentrated in three of them. Going direct to Dentrix means the Developer Program’s $5,000 read fee, $5,000 write fee, and monthly royalties by API category — with no trial and no free tier. Dentrix Ascend is separately $5,000 up front plus $47 per location per month. Open Dental isn’t priced that way but is vendor-gated: you email vendor.relations@opendental.com with your company details and what you intend to build, and wait one to three business days.

One integration reaching all three is a genuinely different proposition from three integrations.

Pricing: $0.10 per call is the headline number

Pricing changes how Carly should run the workflow—webhooks for real events, scheduled reads only where a recurring check is actually useful.

From NexHealth’s published Synchronizer tiers:

  • Starter — $0/month. 30,000 free API calls, 10,000 free webhooks, an Open Dental demo environment, HIPAA-compliant sandbox.
  • Builder — $0.10 per API call, $0.05 per webhook. HIPAA-compliant production, full sync, email and live chat support.
  • Scale — custom. Multi-practice, SOC 2, BAAs, audit logging, a solutions engineer, an SLA.

No contracts, no fixed fees, and free calls don’t roll over.

Ten cents a call is unusually expensive for a REST API, and it should drive your architecture. Against the documented 1,000 requests-per-minute limit, a sustained burst runs $100 a minute. Anything poll-based is financially unviable at this rate — which is exactly why NexHealth’s own docs tell you to “consider replacing cron jobs with webhook subscriptions.” Webhooks are half the price per event, and they’re the design the pricing is steering you toward.

There’s no per-practice fee and no revenue share published anywhere.

Credentials: sandbox yes, production unclear

Sandbox signup asks for your name, email, company, and how you heard about them. NexHealth auto-creates a demo institution with sample data and you generate the key yourself.

How the production key gets issued isn’t documented anywhere. The portal guide says each developer organization can have one sandbox key and one production key, but only documents a create button for sandbox. The legacy auth page still says you’ll be provided a key “after requesting access,” and that request URL now redirects to synchronizer.io, which markets self-serve provisioning. The most likely reading is that production provisions when you move onto the paid tier — but NexHealth hasn’t written it down, so treat it as unconfirmed.

What is documented and unambiguous: “Only production applications can create onboardings.” Sandbox apps cannot onboard real practices. That’s the hard boundary.

Every practice has to let you in

This is the real gate before Carly can work with live practice data, and it isn’t on you — it’s on each customer.

  • Server-based systems (Dentrix, Eaglesoft, Open Dental) need the Synchronizer installed on the practice’s own server, with a product key.
  • Cloud systems (Dentrix Ascend, eClinicalWorks) need practice credentials plus a Chrome extension installed and authenticated on every staff workstation. That’s an ongoing operational burden, not a one-time setup, and it’s the most under-advertised cost of the model.
  • If the practice already has a Synchronizer, the portal detects it, you click “Request access,” and the practice must approve by email or in the NexHealth web app before any data flows.

So you can’t reach a practice that hasn’t actively cooperated. Which is appropriate for PHI, but it means your onboarding is gated on someone else’s IT.

Auth and limits

  • Base URL is https://nexhealth.info — not nexhealth.com — for both sandbox and production
  • Two-step auth: POST /authenticates with Authorization: YOUR_API_KEY returns a JWT, then Authorization: Bearer <token> on everything else
  • Tokens last 1 hour in production, 24 hours in sandbox — refresh logic that works in sandbox will break in production
  • Version v3.0.0, also published as v20240412, in a required Nex-Api-Version header. Legacy v2.2.2 is slated for deprecation.
  • Rate limits: 1,000 requests/minute for patients and appointments, 2,000/minute for everything else, per key

Writes, reads, and one marketing claim to ignore

The writable resources are where Carly can complete a NexHealth step; the read-only resources can still inform an email, task, alert, or brief elsewhere.

Writable: appointments (book, update, and create blocks via unavailable: true), patients, working hours with full CRUD, appointment types, payments, adjustments, patient alerts, patient documents.

Read-only: procedures, charges, claims, clinical notes, fee schedules, payment plans, guarantor balances, treatment plans, providers, operatories, locations, recalls, available slots — and all insurance data. There are no insurance write endpoints.

That last point matters because synchronizer.io’s marketing page displays a POST /eligibility_checks tile that doesn’t exist in the API reference. Don’t build around it.

Webhooks, and why they’re the right architecture here

These are the events that let Carly act when the practice needs it rather than waiting for the next scheduled sweep.

Register with POST /webhook_endpoints (HTTPS mandatory — payloads carry PHI), get a secret_key, then create subscriptions scoped per practice subdomain. Signatures are HMAC-SHA256 over timestamp + "." + base64(payload).

The events span appointments (created, updated, requested, insertion), patients, insurance coverage, procedures and procedure codes, payments and payment types, adjustments, charges, claims, fee schedules, treatment plans, conversations and messages, documents, form requests and responses, onboardings, and sync status changes — the last of which tells you when a practice’s connection goes red or green, and is more useful than it sounds.

Retries run 30 seconds, 1.5 minutes, 3.5 minutes, 10 minutes, 30 minutes, 2 hours, 5 hours, 10 hours, 24 hours, 48 hours — then the endpoint’s active flag flips false and deliveries stop entirely.

Subscriptions pin to the API version used to create them, which is easy to forget when you upgrade.

HIPAA: NexHealth signs a BAA, but you’re still a business associate

NexHealth signs BAAs with developers on every tier and lists absorbing “HIPAA compliance & BAAs” and “vendor contracts & negotiations” as core value. That’s real.

It doesn’t remove your obligations. You’re handling PHI, which makes you a business associate, and you’ll separately need BAAs with your own practice customers. Webhook endpoints must be HTTPS for exactly this reason.

Six things that will cost you a day

  1. Writes are asynchronous and a 2xx means nothing committed. Payments and adjustments “enqueue a write-back.” Appointment, document, and form inserts resolve later through *_insertion webhooks that fire .complete or .failed. If you don’t handle the failure event, you silently lose writes.
  2. Appointments don’t reach the EHR unless insert_appt_client is on for that location. Created via API, never pushed to the record system, no error. Two siblings: map_by_operatory forces operatory availability, and Cloud9 and ModMed reject any insertion lacking a system-native appointment type.
  3. GET /claims/:id returns HTTP 500 instead of 404 for an unknown claim or one outside your token’s location access. NexHealth documents this rather than fixing it.
  4. GET /procedures isn’t filtered by location access, so it returns IDs that then 404 on the singular fetch.
  5. GET /treatment_plans is ordered by id, not update time. The docs warn explicitly not to assume updated_since comes back in update order — naive cursor logic skips records.
  6. Most list endpoints reject a bare location_id. Procedures, charges, claims, adjustments, insurance balances, and clinical notes all require at least one non-location filter alongside it.

How Carly completes the NexHealth workflow

A requested appointment, a completed form, a sync going red — each fires a webhook, at half the cost of a poll, and in most practices each waits for someone at the front desk to notice.

Handing that to an AI assistant hits a specific limit.

Both ChatGPT and Claude will now do work on a schedule, unattended. Neither reacts to events. A task that runs hourly still finds out an hour late, and one that runs each morning finds out tomorrow — the trigger is the clock, never the thing you actually care about.

“Summarize last month’s no-shows” is well within what ChatGPT or Claude will do with an export. “Confirm the appointment and text the patient the moment the request comes in” is not, because nothing on that side is watching for the request.

Carly is built for that half:

  • Fires on the NexHealth eventappointment_requested, patient_created, form_request_completed, sync_status_read_change
  • Runs the whole response in one flow — read the record, draft the message, send it, log it
  • Actually sends — Gmail and Outlook, with attachments
  • Catches the async failures — handling .failed insertion events is exactly the kind of thing that gets skipped and silently loses writes

Practices handling PHI should scope any assistant’s access deliberately and keep a BAA in place with every vendor in the path, Carly included. Because NexHealth exposes an API, you can connect it natively to Carly from the Integrations tab, then use it in on-demand, recurring, and event-triggered workflows. AI agents start at $35/month, and workflow steps that don’t use AI run free.


Frequently Asked Questions

How much does the NexHealth API cost?

The Starter tier is free with 30,000 API calls and 10,000 webhooks. Production is $0.10 per API call and $0.05 per webhook on the Builder tier, with no contract and no fixed fee. Free calls don’t roll over. Scale pricing is custom.

Can I get NexHealth API credentials without a sales call?

Sandbox access is fully self-serve — sign up and generate a key immediately. How the production key is issued isn’t documented; it most likely provisions with the paid tier, but NexHealth hasn’t published the mechanism. Only production applications can onboard real practices.

Does NexHealth work with Dentrix and Open Dental?

Yes, along with thirteen other systems including Eaglesoft, Denticon, Dentrix Ascend, and eClinicalWorks. Going direct to Dentrix costs $5,000 to read plus $5,000 to write plus royalties, and Open Dental requires vendor approval — which is the main argument for going through NexHealth.

Do I need a BAA to use the NexHealth API?

NexHealth signs BAAs with developers on all tiers. That doesn’t remove your own obligations — you’re handling PHI as a business associate and will need BAAs with your practice customers too. Webhook endpoints must use HTTPS.

Why did my NexHealth appointment never appear in the practice management system?

Most likely insert_appt_client is off for that location, which silently prevents API-created appointments from being pushed into the health record system. Check also that the appointment type is native to the system for Cloud9 and ModMed, which reject insertions without one.

Is the NexHealth API read-only?

No. Appointments, patients, working hours, appointment types, payments, adjustments, alerts, and documents are all writable. Insurance data is read-only, and so are procedures, charges, claims, clinical notes, and treatment plans.


More: Best AI tools for dental practices · Best AI workflow automation tools · Best AI agents for productivity

Ready to automate your busywork?

Carly schedules, researches, and briefs you—so you can focus on what matters.

See what people say

"Before Carly, I relied on a Calendly link, but the whole process felt impersonal and not very professional. Carly changed that by handling all the back-and-forth, so I'm no longer stuck in endless email threads trying to line up schedules.

Now Carly reaches out to candidates, shares my real-time availability, lets them pick a slot, then sends a Zoom link and drops it straight into my calendar. She sends reminders to both of us before each call, which has significantly reduced no-shows and last-minute confusion.

On top of scheduling, Carly acts like a full executive assistant, sending me my schedule the night before so I can prepare for each call. It reminds me of the old x.ai assistant, but Carly is noticeably smarter, faster, and better suited to my healthcare recruitment business."

Gus Ibrahim, Founder & Director, IHR