HubSpot + Open Dental integration

Open Dental holds every appointment, recall and empty chair in a practice, on a server in the back office rather than in a browser tab.

Scope this integration Book a scoping call

Is there a native Open Dental + HubSpot integration?

No. Open Dental has no app published in the HubSpot App Marketplace, as of September 2026, though fuzzy matches surface in a search and healthcare automation tools connect it from outside the marketplace. The route is a keyed service against the Open Dental API, driven by its subscription events, with only contact and scheduling data leaving the practice. Budget 10 to 20 hours of discovery and 70 to 150 hours of build.

Recommended route
Custom middleware
Build effort
70 to 150 hours
In the HubSpot App Marketplace?
No listed app
Typical elapsed time
4 to 8 weeks

Marketplace checked September 2026.

Why teams connect Open Dental to HubSpot

Dentistry has an inventory problem that has nothing to do with teeth. Chairs are the inventory, and an empty chair on Tuesday afternoon cannot be sold on Wednesday. Open Dental knows every gap in the book, every overdue hygiene recall and every patient who cancelled and never rebooked. None of that reaches the people running campaigns, because the practice system sits on a server in the office and marketing sits in a browser tab.

Multi-location groups feel it hardest. A practice manager can work a recall list by hand for one office. A group with six offices cannot, so it either buys a point solution per practice or sends the same generic message to everybody on file. Neither approach knows which patient is genuinely due, or whether they have already booked.

Moving the scheduling layer into HubSpot turns those lists into workflows. A recall due date becomes an enrolment trigger. An appointment that moves to broken pulls the patient back into a rebooking sequence. New patient enquiries from a web form stop dying in an inbox, because the form can create the patient and the appointment request in the practice system directly. One constraint shapes everything else, which is that the chart stays in Open Dental.

What syncs

Five record types leave the practice and one category never does. Patients become contacts, carrying contact details and the practice record number. Appointments become a custom object associated to the patient, holding the date, the office, the provider and the status. Recalls become their own custom object, because a due date is the trigger a campaign actually needs. Appointment types and providers come across as small reference objects so a workflow can route by chair and by office without guessing.

Procedures, treatment plans, charting, imaging and claims stay in Open Dental. They are all reachable through the same API, which is exactly why the field list has to be written down rather than assumed. A practice that wants any of it in HubSpot needs the sensitive data settings turned on and an agreement that says so.

Everything keys on the Open Dental record number, written to a unique HubSpot property. Households share email addresses constantly in dentistry: parents book for children and spouses share an inbox. Email as a match key merges a family into one contact almost immediately.

Objects that sync between Open Dental and HubSpot
Source object HubSpot object Direction Match key Notes
Patient Contact Two way Patient number in a unique property on the contact Households share email addresses, so email merges families within a week.
Appointment Custom object Two way Appointment number, associated to the patient
Recall Custom object Into HubSpot Recall number, associated to the patient The due date is the trigger. Nothing about the treatment comes with it.
Appointment type Custom object Into HubSpot Appointment type number The type name only, never the procedure detail behind it.
Provider Custom object Into HubSpot Provider number, used to route follow-up to the right chair

Architecture

Open Dental offers something most practice systems do not: a subscription that pushes. An API subscription names a table to watch, a polling interval for the practice side to check it against, and an endpoint of your choice to call when something changes. Events arrive at a small receiver we host, land on a queue, and a worker performs the HubSpot write. The queue earns its place because the practice’s own software is what polls its database, so a burst of edits arrives together.

Writes are idempotent batch upserts keyed on the source record number, followed by a separate associations pass linking appointments and recalls back to the patient. HubSpot API paths are pinned to the 2026-03 version, so a platform change never arrives unannounced.

The queue also absorbs the API’s pacing. Requests for one customer key are processed in order, and a key holding read-only permission is throttled harder than one with write access. The worker drains at a rate the practice tolerates rather than as fast as the queue fills.

The source system raises a webhook, the service queues the event and writes the HubSpot record, so a change lands in seconds and a failed event is retried rather than lost.

What the API allows

API style
REST
Authentication
API key
Webhooks
Partial
Changed-since filter
Unknown
Sandbox
Unknown
Rate limit
One request per second per customer key, or one per five seconds for read-only permissions

Developer documentation opendental.com

Three ways to connect

What decides here is whether you need the events. A healthcare automation platform can read patients and appointments on a schedule, and two of them connect Open Dental today from outside the HubSpot App Marketplace. If the practice wants a nightly list of who is due, that is a sensible answer, it arrives quickly, and there is nothing to maintain.

It stops being enough when timing matters. A broken appointment that should trigger a rebooking sequence within the hour, a web form that should create the patient before the caller hangs up, or a group routing by office and provider: each needs the subscription events and somewhere to put the logic. Control is the other deciding factor. A practice under a business associate agreement has to state what left the building, and a service with a signed field list answers that on one page.

  • Automation platform

    Possible

    Healthcare automation platforms connect Open Dental on a schedule without any software of your own. That suits a practice that wants a nightly recall list and nothing time sensitive.

  • HubSpot Data Sync

    Avoid

    HubSpot Data Sync has no Open Dental connector, and a fixed mapping cannot express the field restraint a practice under a business associate agreement needs.

What breaks and how we prevent it

Access, the practice’s connector service, the per-key throttle and duplicate families are what go wrong, and access costs a project time before it starts.

Waiting on the developer key

A developer key is issued per application after a request naming every resource needed and whether it is read, create or update, and that takes one to three business days. The customer key is separate, enabled by the practice on a setup screen, and revocable by them. Projects that treat this as a formality lose a week to it. We submit the request before the kickoff call.

An office that goes quiet

The remote API answers only while the office is running Open Dental’s connector service, so a practice that reboots a server on a Friday evening stops sending events without anyone noticing. We alert on a missing heartbeat rather than on an error, because an office that has gone quiet never sends one.

The five-second read-only throttle

Throttling bites next. Requests for a customer key are processed sequentially, an integration holding read-only permission is limited to one request every five seconds, and excess queued requests are rejected outright. A first backfill of an established patient list has to be paced rather than parallelised, and it needs its own schedule.

Families sharing an email address

Families share email addresses, and one person existing at two offices of a group is normal rather than exceptional. Keying on the practice record number, and treating the office as an association instead of a property, keeps one person as one contact.

Our approach

  1. Scope. We submit the developer key request and its permission list first, because it is the long pole, and we write the field list with the practice while it is being processed.
  2. Architect. The object model, the identifier property per object, the recall and appointment status maps, and which subscriptions the practice will run.
  3. Build. The event receiver, the queue and the worker, plus a paced backfill that runs on a separate budget from live traffic.
  4. Validate. A sandbox portal first, behind a fail-closed portal allowlist so a misconfigured key cannot write into the wrong portal. Production cutover is a key swap.
  5. Operate. Heartbeat monitoring on the subscription, a replay endpoint that re-runs from a chosen point, and a reconciliation count of patients and appointments on both sides.

Common questions

Is there an Open Dental app in the HubSpot App Marketplace?

No app for Open Dental is published in the HubSpot Marketplace, only fuzzy matches when you search it. Two healthcare automation products connect the system from outside the marketplace, so a practice has a no-code option, but nothing installs from inside HubSpot.

How does the Open Dental API authenticate?

With two keys in one authorization header rather than a token exchange. A developer key identifies the application and a customer key identifies the practice, sent together in a single header value. The practice controls its own key from a setup screen and can disable it, which is a useful property when a vendor relationship ends.

Can Open Dental notify an integration when an appointment changes?

Yes, through API subscriptions. A subscription names a table to watch, such as patient or appointment, a polling interval for the practice side, and an endpoint of your choice. Each event is a REST call to that endpoint. The practice's own software does the watching, so the office must be running for events to flow.

What is the Open Dental API rate limit?

Requests for one customer key are processed in order, so throughput is sequential rather than parallel. An application holding only read-all permission is throttled to one request every five seconds, and other permission sets to one request per second. Too many queued requests are rejected with a 429 response.

Does clinical data have to leave Open Dental to sync with HubSpot?

No, and it should not. Procedures, treatment plans, charting, imaging and claims are all reachable through the API and all stay in the practice system. Contact details, the appointment, the recall due date, the office and the provider are enough to run scheduling and recall campaigns without moving anything clinical.

Do we need a business associate agreement to integrate Open Dental?

Yes. Open Dental's own specification states that API developers should have a business associate agreement in place with their clients. That agreement is also the practical reason the field list gets written down and signed, because it is the document the practice points to when somebody asks what left the building.

How long does it take to get an Open Dental developer key?

One to three business days after the request is submitted, which names the company, the contact details and every resource the application needs with read, create or update marked for each. The customer key is separate and is enabled by the practice afterwards. Start the request before kickoff, because it is the longest lead time on the project.

How many hours does an Open Dental and HubSpot integration take?

Patients, appointments and recalls with booking write-back run 10 to 20 hours of discovery and 70 to 150 hours of build. A read-only recall feed sits well under that. The event receiver, the paced backfill and the duplicate handling for shared household email addresses account for most of the range.

Partnerships and accreditations

  • HubSpot Elite Solutions Partner
  • HubSpot Custom Integration Accreditation
  • HubSpot CRM Data Migration Accreditation
  • HubSpot Solutions Architecture Design Accreditation

HubSpot accreditations

  • HubSpot Onboarding Accreditation
  • HubSpot Academy Accreditations

Industry specializations

  • HubSpot Healthcare Industry Specialist
  • HubSpot Financial Services Industry Specialist
  • HubSpot Manufacturing Industry Specialist
  • HubSpot Quote to Cash Capability

Partnerships

  • Google Partner
  • Anthropic Solutions Partner

Scope a Open Dental integration

Send the systems, the direction and the record volume. We reply with a scope and an effort band within one business day.

  • Open Dental

Press Enter or comma to add another system.

Add more detail (optional)

Optional. A sentence or two about the workflow is enough.

We use these answers to scope the work and for nothing else. Privacy policy.

Prefer to talk it through first? Book a technical scoping call

Talk to the people who build these

  • Nijat
  • Sean
  • Prash

Book a scoping call