Dental mirror and probe tools on a dark background, cover image for a Loncom Consulting blog post on integrating Dentally with HubSpot CRM.

From Practice Management to Pipeline: Integrating Dentally with HubSpot CRM

In brief: Dentally runs practice operations. HubSpot runs the pipeline. Loncom Consulting built a one-way sync that copies non-clinical patient, appointment, treatment, and payment data from Dentally into HubSpot every two hours - never the reverse, never clinical records.

This post is a Loncom Consulting case study - what we built, how a Dentally HubSpot integration actually works under the bonnet, and the safeguards that keep the data trustworthy. No programming knowledge required.

Why Connect Them at All?

Dentally has become the practice management system of choice for a large share of UK dental practices, and for good reason: it keeps scheduling, charting, treatment planning, and billing in one clean, cloud-based system. What it was never built to do is tell you why a lead went cold, which treatment plans are sitting unaccepted, or how three practices under the same group are performing against each other.

That's the gap this project closes. A HubSpot implementation built around Dentally doesn't replace the practice management system - it sits alongside it, turning the day-to-day operational record into something a sales, marketing, or operations team can actually act on. This case study walks through the integration we built for a CRM for dental groups in the UK: what data moves, how the software works, and the safeguards that keep it trustworthy.

What Dentally Is Built For (And Where It Stops)

Dentally covers the operational core of running a practice: appointment scheduling, clinical charting, treatment plan documentation, insurance and billing workflows, and patient records. For a single practice focused on clinical delivery, that's most of what's needed day to day.

Where it stops is everything upstream and downstream of the chair:

  • Capturing and qualifying new patient enquiries from the website, ads, or referral partners
  • Running multi-step follow-up sequences for patients who haven't booked or haven't accepted a treatment plan
  • Giving a practice manager or group operations lead a pipeline view - which treatment plans are pending, at what value, at which stage
  • Reporting on marketing performance or patient acquisition cost across more than one location

None of that is a criticism of Dentally - it isn't a CRM, and it was never marketed as one. It's a reason to pair it with something that is.

Dentally vs. HubSpot: Who Handles What

A quick side-by-side of where each system does the work.

Function Dentally HubSpot
Appointment scheduling & charting
Treatment planning & clinical notes
Billing & insurance claims
Lead capture from web forms & ads
Multi-channel follow-up sequences
Treatment plan pipeline visibility Single practice only Yes, across locations
Marketing attribution & ROI reporting

 

The Project: A Purpose-Built Sync Engine

Dentally publishes a documented API, but it does not build or support custom integrations for individual practices - API access is granted through scoped keys, and integration work is expected to go through a partner. Off-the-shelf connectors into HubSpot are thin on the ground, so we built the bridge ourselves: a small, dedicated piece of software - a sync engine - that does one job extremely carefully, reading recent changes from Dentally and writing them into HubSpot as part of a custom system integration.

It runs in two modes. First, a one-off back-fill migrated up to four years of history into HubSpot, so reporting was meaningful from day one. Then an automatic scheduled run every two hours keeps HubSpot current: anything created or changed in Dentally - a new patient, a rebooked appointment, an updated treatment plan, a payment - appears in HubSpot within two hours, without anyone lifting a finger.

What Moves Where

HubSpot organises information into "objects" - contacts, deals, and custom objects. Each Dentally record maps to a matching home in HubSpot.

Dentally record HubSpot object
Patients Contacts
Appointments Custom object
Treatment plans Custom object
Payments Deals

After the records themselves are written, the sync links them together: every appointment, treatment plan, and payment is attached to the right patient's contact card, and family members are linked to each other. Opening a patient in HubSpot shows their whole story on one screen.

How Does a Dentally HubSpot Integration Actually Work?

Every two hours, the server starts a run. Here's what happens, step by step:

  • Check the lock. If a previous run is still in progress, the new run stands down - two runs can never trample each other. A stale lock from a crashed run is cleared automatically.
  • Decide how far back to look. Each successful run leaves a "watermark" timestamp. The next run picks up from there, minus a deliberate one-hour overlap, so nothing changing at the exact moment of the previous run can fall through the cracks.
  • Read from Dentally, politely. The engine requests everything created or updated in that window, in pages of 100 records, capped at 30 requests per minute so the sync never slows down the system the front desk relies on.
  • Translate and check. Each record passes through a translation layer mapping Dentally fields to their agreed HubSpot property (around thirty fields for a patient alone), then a validation gate before it's sent.
  • Write to HubSpot - create or update, never duplicate. Records go in batches of 100. Each carries its original Dentally ID, so the engine always knows whether it's new or already known.
  • Connect the dots. New records are linked to the right patient contact, and family relationships are processed - the trickiest part of the build, covered below.
  • Sweep for anything missed. A final "delta scan" catches appointments, treatment plans, and payments that changed without the patient record itself changing, and re-syncs those patients too.
  • File the paperwork. The run logs how many records were created, updated, skipped, or failed, saves the new bookmark, and alerts the team if anything failed.

The Engineering That Makes the Data Trustworthy

Most of the effort in a data integrity-focused build like this is making sure that when the unexpected happens, the data stays right. These are the details we've had to build for in Loncom's own Dentally-HubSpot integration work - not theoretical best practices, but the failure modes that show up once real patient volume hits the sync.

One Golden Rule: Never Create a Duplicate

Every record carries its original Dentally ID in a dedicated field - a passport number. The sync matches on that number: existing ID means update, no ID means create. Runs are idempotent, so running the sync twice gives exactly the same result as running it once, which makes overlapping windows, retries, and resumed runs all safe. If HubSpot ever reports a conflict ("this record already exists"), the engine reads the existing ID out of the error and updates that record instead of failing.

The Family Problem (Or: Why Shared Emails Are Dangerous)

Parents book for children, couples share one email address, and HubSpot treats email as a unique contact identifier - synced naively, a shared email would silently merge two patients into one person. A pre-scan identifies every shared address before writing, and those patients sync with the email deliberately left blank rather than risk a merge. Duplicate family contacts already in HubSpot are merged into one canonical record (oldest, most-connected copy wins), and missing family contacts are created as placeholders with each member linked to them. Every one of these operations is written to a dedicated family-operations log, so any resulting contact can always be explained.

Built to Fail Safely

Transient errors - rate limits, timeouts - retry automatically up to three times with increasing pauses. A record that still fails lands in a dead-letter queue rather than stopping the run or being silently dropped, and can be replayed with one command once fixed. Long migrations checkpoint their progress, so an interrupted four-year back-fill resumes rather than restarting. A failed run alerts the team's Slack or Teams channel, and every run pings a heartbeat monitor so a silently-stopped schedule also raises an alarm.

Everything on the Record

Every run writes a timestamped audit folder - a progress log, a transaction log of every create and update, the raw data exchanged with each system, and the family-operations log - so any number in HubSpot can be traced back to the data that produced it. A dry-run mode reads and translates everything but writes nothing, which is how every change was tested before going live, alongside separate validation and verification modes.

How the Pieces Fit Together

A simplified view of the sync engine sitting between the two systems.

Dentally Practice management Sync Engine Idempotent writes Family-safe dedup Retry + dead-letter queue Watermark-based sync Full audit trail HubSpot CRM & pipeline every 2 hours non-clinical never writes back - Dentally stays the source of truth

"None of this shows up in a demo. It only shows up at 3am during a 40,000-record migration, when one bad record either stops everything or gets quietly skipped without anyone noticing. Building for that case from day one is the difference between an integration that works in a sales pitch and one that works in production," Stefan Loncar, CEO of Loncom Consulting, says.

What Data Should (and Shouldn't) Move Between Dentally and HubSpot?

Under UK GDPR, health information counts as special category data, which carries a materially higher bar for lawful processing than an ordinary sales contact record. The integration is scoped around that from the start: the field mapping was agreed field by field before the build, and the engine only ever requests the data types it needs.

Synced into HubSpot

  • Contact details: name, email, phone, address
  • Appointment status and booking dates
  • Treatment plan stage, value, and invoice/payment status - for pipeline visibility, not the clinical detail behind it
  • Payment records: amount, date, method, status
  • Practitioner names (which dentist or hygienist), for routing follow-ups and recalls

Stays in Dentally

  • Clinical notes and charting
  • X-rays and diagnostic imaging
  • Detailed treatment history and prescribing records

The sync is also strictly one-way. Nothing is ever written back into Dentally, which removes an entire category of risk: no marketing automation, workflow, or human slip on the HubSpot side can ever touch the clinical system. If a synced field is hand-edited in HubSpot, the next run overwrites it with Dentally's value - Dentally remains the single source of truth, by design.

It's also worth field-mapping the two systems properly before any data flows, not after. We've written before about why CRM and ERP numbers stop matching once two systems are connected without a clear field-level agreement, and the same failure mode applies here: if "treatment plan value" means something slightly different in Dentally than it does in a HubSpot deal stage, the pipeline reporting a practice group relies on quietly stops being trustworthy, long before anyone notices.

If a practice group genuinely needs a more sensitive field inside the CRM, HubSpot's purpose-built Sensitive Data properties add an extra layer of encryption and access control designed to support both HIPAA and GDPR requirements. It doesn't change the recommendation - clinical documentation stays in Dentally - but it's the right tool if a specific field truly needs to live on both sides.

"The integrations we build are only as good as the boundary around them. The value in connecting Dentally to HubSpot isn't in moving as much data as possible - it's in moving exactly the data a sales or marketing team needs, and leaving the clinical record where it belongs," Stefan Loncar, CEO of Loncom Consulting, says.

What the Practice Gets Out of It

  • One card per patient in HubSpot - contact details, appointments, treatment plans, payments, and family links, refreshed every two hours
  • A treatment plan pipeline: what's open, at what value, and whether it's booked, invoiced, and paid - the foundation for automated follow-up on unaccepted plans
  • Up to four years of history from day one, so reporting didn't have to wait for data to accumulate
  • A system nobody has to babysit: it retries, resumes, quarantines failures, and raises its hand when something needs attention

Thinking About Your Own Dentally HubSpot Integration?

Five things worth checking before any technical work starts:

  • Confirm your Dentally plan tier includes API access, and whether you need the Advanced tier for custom integration work
  • Decide whether you're connecting through an existing approved partner/connector or commissioning a custom build
  • Scope any API key to the minimum data types needed - start with read-only appointment and contact data
  • Map exactly which fields move into HubSpot before any data flows, not after
  • Loop in whoever holds data protection responsibility for the practice group before go-live, not as a final sign-off

None of this is unique to dental. We ran into the same sequencing question on a recent Pipedrive-to-HubSpot migration - the technical connection is rarely the hard part; deciding what should move, in what shape, before the first record syncs, is what determines whether the CRM is trustworthy on day one.

Not sure what a Dentally-HubSpot connection would look like for your practice group?

Explore HubSpot CRM Dashboards

In Short

  • Dentally is a UK dental practice management system: scheduling, clinical charting, treatment planning, billing, and insurance claims. HubSpot is a CRM: lead capture, follow-up automation, pipeline visibility, and multi-location reporting. They do different jobs - and pair well.
  • Loncom Consulting built a one-way sync engine that copies non-clinical data - patients, appointments, treatment plans, payments, and family relationships - from Dentally into HubSpot every two hours, plus a one-off back-fill of up to four years of history.
  • Every record is matched on its original Dentally ID, so the sync can run any number of times without ever creating a duplicate.
  • Shared family email addresses are detected before syncing, so HubSpot can never merge two patients into one contact.
  • Failures are retried automatically, quarantined into a replayable queue, and alerted on - and every run leaves a complete audit trail.
  • Clinical notes, imaging, and detailed treatment history never leave Dentally: patient health data is special category data under UK GDPR, and the integration is scoped so it cannot touch it.

Want a second opinion on your Dentally-HubSpot setup before you commit to a build?

Book a Free Consultation

FAQ

What is a Dentally HubSpot integration?

It's a data connection between Dentally, a dental practice management system, and HubSpot, a CRM platform - typically built through an approved Dentally integration partner - that moves non-clinical data such as contact details, appointment status, and treatment plan stage into HubSpot for pipeline visibility and follow-up automation.

Does the sync ever change data in Dentally?

No. The connection is strictly one-way: the engine reads from Dentally and writes only into HubSpot. If someone edits a synced field in HubSpot by hand, the next run overwrites it with Dentally's value - so the clinical system remains the single source of truth and can never be corrupted from the CRM side.

What happens if something fails mid-sync?

Individual failures never stop the run: the affected record is retried automatically and, if it still fails, quarantined in a dead-letter queue that can be replayed with one command. Interrupted migrations resume from a checkpoint rather than starting over, and any run that ends with failures alerts the team automatically.

What's the most common mistake practices make when connecting the two?

Scoping the integration too broadly. Practices often request more API access than the use case needs, which pulls clinical data into a marketing system that was never designed to hold it and creates unnecessary GDPR exposure. The fix is deciding what HubSpot actually needs to see before any technical work starts.

Does this apply to single practices, or only larger groups?

Single practices can benefit, particularly around lead follow-up and treatment plan reminders, but the case is strongest for multi-location groups that need one consistent view across sites rather than a separate Dentally instance per practice with no shared reporting layer.

How can Loncom Consulting help with a Dentally HubSpot integration project?

As a HubSpot Diamond Solutions Partner, Loncom Consulting scopes the data model first - deciding exactly what should move between systems - then handles the CRM build, field mapping, and workflow automation on the HubSpot side. Having designed and built the sync engine described in this case study, we know where the sharp edges are: deduplication, family records, shared emails, rate limits, and failure handling.

Share:
Back to Loncom Work

Leave a comment

Please note, comments need to be approved before they are published.