CRM migration
Field-level mapping, validation, and rollback between Dentally and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Dentally
Source
HubSpot
Destination
Compatibility
9 of 10
objects map 1:1 between Dentally and HubSpot.
Complexity
BStandard
Timeline
24–72 hours
Overview
Dentally and HubSpot serve different operational layers. Dentally is practice-management software built for dental clinicians — it stores patient demographics, clinical notes, tooth-chart diagrams, appointment schedules, treatment plans, and invoices in a single operational record. HubSpot is a CRM that organises customer data as contacts, companies, and deals with a pipeline model for tracking sales motion. The migration from Dentally to HubSpot therefore requires separating dental clinical data from what belongs in a CRM context. FlitStack AI maps Dentally patient records to HubSpot contacts and associated companies, preserving original create dates and contact owner assignments. Treatment history migrates as HubSpot deals with line items — each completed procedure appears as a line item within the deal so the full clinical record remains visible on the contact. Appointment data, practitioner identifiers, and Dentally's custom fields (such as medical alerts, NHS number, or referral source) become HubSpot custom properties that your team configures post-migration. Dentally's multi-site and practitioner hierarchies do not map natively to HubSpot's user and team model and require custom field and ownership resolution setup. We do not migrate clinical attachments (X-rays, tooth-chart exports, intra-oral photos) as those are binary files tied to Dentally's imaging viewer. Appointment reminders and recall workflows built in Dentally do not transfer — HubSpot's automation tools (workflows, sequences, and the Breeze AI layer) must be rebuilt. We handle the data migration; your team handles the automation rebuild with our exported definitions as a reference guide.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Dentally object lands in HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Dentally
Patient
HubSpot
Contact
1:1Dentally patient records map to HubSpot contacts. We preserve original patient create dates as a custom datetime field since HubSpot Createdate reflects the migration date. Email and phone parities are direct. Patients without an email address are flagged for manual review — HubSpot requires an identifier for contact creation.
Dentally
Patient
HubSpot
Company
many:1Dentally patient records do not have a standalone company object. We create a HubSpot company record for the dental practice (or the patient's employer if the contact is a corporate patient) and link the contact to it via the primary company association. Multi-site practices generate one HubSpot company per site using a custom site_name property.
Dentally
Treatment Plan
HubSpot
Deal + Line Items
1:1Dentally treatment plans (proposed procedures with tooth number, surface, material, and fee) become HubSpot deal line items. Each treatment plan item is a line item under a deal named after the patient and creation date. Completed treatments are deal-stage changes; proposed treatments are open-stage deals that your team manages post-migration.
Dentally
Appointment
HubSpot
Ticket + Custom Properties
1:1HubSpot has no native appointment object at any plan tier including Enterprise. We migrate Dentally appointments as HubSpot tickets with the following custom properties: Appointment_Date__c stores the appointment date, Appointment_Time__c stores time in HH:MM format, Practitioner__c stores the assigned practitioner name, Appointment_Type__c stores the type (check-up, hygiene, extraction), Surgery__c stores the surgery or chair identifier, and Duration_Minutes__c stores the duration. Your team links migrated tickets to contacts post-migration using the patient name or source system ID.
Dentally
Invoice
HubSpot
Deal + Custom Properties
1:1Dentally invoices have no direct HubSpot equivalent. We map invoice records to deal-level custom fields (Invoice_Number__c, Invoice_Date__c, Total_Amount__c, Balance_Due__c, Payment_Status__c) on the deal. If Dentally stores line-item invoices, those map to deal line items. The Xero or accounting integration must be rebuilt separately from HubSpot.
Dentally
Practitioner
HubSpot
HubSpot User / Owner + Custom Properties
1:1Dentally practitioner profiles (name, GDC number, specialisms, email) do not map natively to a HubSpot object. We resolve practitioner by email to a HubSpot user/owner for contact and deal ownership assignment. The GDC number and specialism fields migrate as custom contact properties (GDC_Number__c, Specialism__c) so the clinical identifier is preserved on the record.
Dentally
Patient Custom Fields (medical alert, NHS number, referral source, recall interval)
HubSpot
Contact Custom Properties
1:1Dentally custom fields on patient records vary by practice. Common examples — Medical_Alert__c, NHS_Number__c, Referral_Source__c, Recall_Interval_Months__c — are read from Dentally's custom field API and created as HubSpot contact properties. Practices with more than 50 custom fields per patient may require HubSpot Enterprise for the custom property quota.
Dentally
Treatment Item Custom Fields (material, surface, lab, fee)
HubSpot
Deal Line Item Properties
1:1Dentally treatment items support custom fields (material type, lab used, surface codes). These map to custom line item properties in HubSpot (Material__c, Lab__c, Surface__c) on the deal. HubSpot line items do not natively support all property types — long text fields and checkbox fields may need custom field creation if your HubSpot plan supports them.
Dentally
Clinical Notes / Tooth Chart
HubSpot
Contact Custom Long Text Properties
1:1Dentally clinical notes (per-tooth notes, BPE scores, periodontal chart data) are stored as structured text in the patient record. These migrate as long-text custom contact properties (Clinical_Notes__c, Tooth_Chart_Summary__c, Periodontal_Data__c). Tooth-chart diagrams and radiograph links do not migrate — those binary assets are linked in Dentally's imaging viewer with no HubSpot equivalent.
Dentally
Site / Location
HubSpot
HubSpot Company + Custom Properties
1:1Multi-site Dentally practices store site/location data per patient visit. We create one HubSpot company record per site (Site_Name__c, Site_Address__c) and associate patients to the correct site company via HubSpot's company-contact association. If Dentally stores a primary site per patient, that maps to the primary company link; secondary site visits are noted in a custom property.
| Dentally | HubSpot | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient | Companymany:1 | Fully supported | |
| Treatment Plan | Deal + Line Items1:1 | Fully supported | |
| Appointment | Ticket + Custom Properties1:1 | Fully supported | |
| Invoice | Deal + Custom Properties1:1 | Fully supported | |
| Practitioner | HubSpot User / Owner + Custom Properties1:1 | Fully supported | |
| Patient Custom Fields (medical alert, NHS number, referral source, recall interval) | Contact Custom Properties1:1 | Fully supported | |
| Treatment Item Custom Fields (material, surface, lab, fee) | Deal Line Item Properties1:1 | Fully supported | |
| Clinical Notes / Tooth Chart | Contact Custom Long Text Properties1:1 | Fully supported | |
| Site / Location | HubSpot Company + Custom Properties1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Dentally gotchas
API rate limits are undocumented and require a support request
Dentally manages inbound migrations rather than offering self-service export
Final migration runs the day before go-live, leaving a narrow correction window
Dentally Vision imaging requires separate product setup
Tier-gated features may be inactive in the migrated environment
HubSpot gotchas
Marketing Contacts billing model is migration-critical
Feature tier gating is not visible until onboarding
Mandatory onboarding fees inflate year-one cost
HubSpot CSV importer cannot migrate engagements or attachments
Custom objects require Enterprise and a pre-existing schema
Pair-specific challenges
Migration approach
Audit Dentally data export and assess scope
FlitStack AI reads Dentally's API endpoints to enumerate all patient records, treatment plans, appointments, invoices, custom fields, and practitioner profiles. We check Dentally's custom field configuration per patient and per treatment item, count record volumes per site for multi-location setups, and identify any binary asset references (imaging links, tooth-chart data) that cannot migrate. We deliver a scoping report listing every object, field, and custom property with a data-quality flag before any transformation begins.
Design HubSpot schema — custom properties, pipelines, and ticket queues
Based on the Dentally data audit, FlitStack AI designs the HubSpot target schema: custom contact properties (NHS_Number__c, Medical_Alert__c, GDC_Number__c, Recall_Interval_Months__c), a deal pipeline with stages mapped from Dentally treatment statuses, a ticket queue for appointment data, and custom line item properties for treatment tooth numbers and materials. We deliver a schema setup plan that your HubSpot admin creates before data lands — or we create the properties via API if you grant access. Multi-site setups get a site_name__c property design.
Extract and transform Dentally data, preserving original timestamps and owner assignments
We extract patient records from Dentally via API, preserving original create dates and last-modified timestamps. Email-to-owner resolution maps Dentally practitioner records to HubSpot users by email match — unrecognised practitioners are flagged for your team to invite or assign to a fallback owner. Treatment plans become deals with line items. Appointments become tickets with appointment-specific custom properties. We validate field-level data (postcode formats, date formats, pick-list value coverage) before loading.
Run sample migration with field-level diff
A representative slice of 100–500 records migrates first — spanning patients from different sites, patients with and without email addresses, completed treatments, proposed treatments, and a sample of appointments. We generate a field-level diff showing source value versus destination field for every mapped property. You verify that tooth numbers, treatment fees, practitioner assignments, and NHS numbers appear correctly in HubSpot before the full run commits.
Execute full migration with delta-pickup window and rollback plan
The full Dentally dataset migrates to HubSpot. A delta-pickup window (typically 24–48 hours) captures any patient records, treatments, or appointments created or modified in Dentally during the cutover. FlitStack AI captures an audit log of every record created and updated. If reconciliation fails — a field is missing, a deal is not linked to the correct contact, or a practitioner assignment is wrong — one-click rollback reverts the HubSpot instance to its pre-migration state so the issue can be diagnosed and the run re-executed.
Platform deep dives
Dentally
Source
Strengths
Weaknesses
HubSpot
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Dentally and HubSpot.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Dentally: Not publicly documented; practices requiring higher limits must request them via Dentally support.
Data volume sensitivity
Dentally doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Dentally to HubSpot migration scoping. Not seeing yours? Book a call.
Walk through your Dentally to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Dentally
Other ways to arrive at HubSpot
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.