CRM migration

Migrate from Dentally to HighLevel

Field-level mapping, validation, and rollback between Dentally and HighLevel. We move data and schema; workflows are rebuilt natively in HighLevel.

Dentally logo

Dentally

Source

HighLevel

Destination

HighLevel logo

Compatibility

100%

11 of 11

objects map 1:1 between Dentally and HighLevel.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Dentally structures its data around a dental practice management model: patients with clinical notes, practitioners, appointments, treatment plans, and invoices. HighLevel is a general-purpose CRM with standard objects for contacts, companies, opportunities, tasks, and custom objects — but no native dental-specific schema. FlitStack AI migrates Dentally patients and practitioners into HighLevel contacts, maps appointments to tasks or calendar events, and uses HighLevel's Custom Objects API to carry treatment plans, clinical notes, and custom dental fields. Any Dentally custom fields on patients or treatment items become custom fields on the corresponding HighLevel objects. Because HighLevel has no built-in billing or invoicing module, Dentally invoices do not migrate — those financial records stay in Dentally or your accounting tool. Workflows, automations, and sequences do not transfer; they must be rebuilt in HighLevel's workflow builder using exported definitions as a reference. We use Dentally's API for structured data export, map every entity to its HighLevel equivalent, and run a sample migration with field-level diff before committing the full cutover. A 24–48-hour delta pickup window captures any records modified during the switchover window.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Dentally logo

Dentally

What's pushing teams away

  • Multi-site practices report hitting API rate limit ceilings that are not publicly documented and require raising a support ticket to negotiate higher thresholds.
  • Tier-gated advanced features such as full imaging integration and enhanced NHS workflows push growing practices toward the highest pricing tier sooner than expected.
  • Limited public API documentation makes it difficult to scope custom integrations or assess data portability before committing to the platform.
  • Dentally's own migration team manages inbound data transfers, meaning practices cannot self-service an export or cross-check their data independently.
  • Smaller practices on the starter tier report that the 5-user cap becomes restrictive as the team grows, creating pressure to upgrade before the software justifies the cost.

Choosing

HighLevel logo

HighLevel

What's pulling them in

  • Agencies choose HighLevel to consolidate CRM, email, SMS, scheduling, and funnels into one subscription, eliminating monthly bills for five to ten separate SaaS tools they previously stitched together.
  • The flat-rate pricing model bills per sub-account rather than per contact, so growing a contact database from 1,000 to 100,000 records does not trigger a billing surprise—a common pain point avoided by migrating customers.
  • White-label and sub-account capabilities let agencies resell HighLevel access to their own clients, turning a software cost center into a recurring revenue stream that justifies the subscription.
  • The platform ships a 14-day free trial with no credit card required, giving teams a low-friction entry point to validate fit before committing to the $97/month Starter tier.
  • Marketing agencies managing multiple client accounts use sub-accounts to maintain data isolation per client while operating under a single agency billing relationship with HighLevel.

Object mapping

How Dentally objects map to HighLevel

Each row shows how a Dentally object lands in HighLevel, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Dentally

Patient

maps to

HighLevel

Contact (and DentalPatient custom object)

1:1
Fully supported

Dentally patients map to HighLevel contacts for contact information (name, email, phone, address). Clinical fields (medical history, allergies, clinical notes) do not have a HighLevel native equivalent — these migrate to a DentalPatient custom object linked to the contact via a relationship field, preserving all original values.

Dentally

Practitioner

maps to

HighLevel

Contact

1:1
Fully supported

Dentally practitioner records map to HighLevel contacts with the role stored as a custom tag (e.g., Dentist, Hygienist, Receptionist). Practitioner-specific fields such as GDC number are mapped to a custom PractitionerDetails__c field on the contact record for regulatory reference and audit trail purposes.

Dentally

Appointment

maps to

HighLevel

Task / Calendar Event

1:1
Fully supported

Dentally appointment records — including date, time, duration, practitioner, surgery, and status — map to HighLevel tasks with the appointment type stored as a custom pick-list field (AppointmentType__c). If the practice uses HighLevel's calendar integration, appointments are created as calendar events linked to the contact record for practitioner and patient visibility.

Dentally

Treatment Item

maps to

HighLevel

Custom Object: DentalTreatment

1:1
Fully supported

Dentally treatment items (restorations, extractions, hygiene, etc.) map to a DentalTreatment custom object in HighLevel. This object is linked to the patient contact and includes treatment name, date, practitioner, status, and any custom fields set on the treatment item in Dentally's Settings > Treatments & Plans.

Dentally

Treatment Plan

maps to

HighLevel

Custom Object: DentalTreatmentPlan

1:1
Fully supported

Treatment plans in Dentally — grouping multiple treatment items under a single plan with status and notes — migrate as a DentalTreatmentPlan custom object. Each plan links to the patient contact and has a one-to-many relationship with DentalTreatment records, preserving the plan structure in HighLevel.

Dentally

Invoice

maps to

HighLevel

No equivalent in HighLevel

1:1
Fully supported

Dentally invoices and payment records do not migrate. HighLevel has no native billing, invoice, or payment module — these financial records remain in Dentally or must be transferred to a dedicated accounting tool. Patient billing history is documented as a note on the contact record for reference only.

Dentally

Patient Custom Fields

maps to

HighLevel

Custom fields on DentalPatient custom object

1:1
Mapping required

Dentally allows custom fields on patient records (text, tick boxes, preset options). These custom fields are created as matching custom fields on the DentalPatient custom object in HighLevel before migration. Custom field definitions are exported from Dentally and replicated in HighLevel's custom object schema.

Dentally

Treatment Item Custom Fields

maps to

HighLevel

Custom fields on DentalTreatment custom object

1:1
Mapping required

Treatment items in Dentally support custom fields configured via Settings > Treatments & Plans. These are replicated as matching custom fields on the DentalTreatment custom object in HighLevel. Field types such as text fields, pick-list selections, and checkbox options are all matched to HighLevel's equivalent field type options.

Dentally

Document / Attachment

maps to

HighLevel

Files (HighLevel native)

1:1
Fully supported

Patient documents and clinical images stored in Dentally are downloaded and re-uploaded to HighLevel Files, associated with the corresponding contact record. File size limits in HighLevel apply; large imaging files may need to remain in Dentally's imaging system with a reference link stored on the contact.

Dentally

Practice Settings (custom fields)

maps to

HighLevel

Custom fields on Patient / Practitioner / Appointment objects

1:1
Fully supported

Dentally's Other settings section includes practice-level custom fields for security, IP restrictions, and region-specific data. These are mapped to the relevant HighLevel objects — patient contact, practitioner contact, or task — and replicated as custom fields with the original values preserved.

Dentally

Patient Tags / Groups

maps to

HighLevel

Tags (HighLevel native)

1:1
Fully supported

Any patient tags, recall groups, or recall status labels used in Dentally map to HighLevel tags on the contact record. Tags are preserved as a flat list; nested recall groups may need to be converted to a custom recall-group custom field or represented as separate tags per patient.

Gotchas + challenges

What specifically takes care here

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 logo

Dentally gotchas

High

API rate limits are undocumented and require a support request

High

Dentally manages inbound migrations rather than offering self-service export

Medium

Final migration runs the day before go-live, leaving a narrow correction window

Medium

Dentally Vision imaging requires separate product setup

Low

Tier-gated features may be inactive in the migrated environment

HighLevel logo

HighLevel gotchas

High

Sub-account architecture creates isolated data silos per client

High

Usage-based telecom and AI costs are not in the subscription price

Medium

Workflows have no native equivalent in most destination CRMs

Medium

API rate limits cap bulk migration throughput at 100 requests per 10 seconds per sub-account

Low

White-label configuration and branding assets do not export via API

Pair-specific challenges

  • No native dental patient model in HighLevel — clinical data requires a custom object schema built before migration

    HighLevel has no built-in concept of a patient with medical history, allergies, clinical notes, or NHS number. FlitStack AI creates a DentalPatient custom object with fields matching every Dentally patient property and custom field before migration begins. Without this schema in place, clinical data has nowhere to land — contacts carry only standard CRM fields. The custom object definition must be agreed upon with the practice during planning so field creation in HighLevel precedes the first data import attempt.

  • Dentally appointment and recall workflows do not migrate to HighLevel's workflow builder

    Dentally automates appointment reminders, patient recalls, and clinical alerts based on appointment dates and recall intervals. HighLevel's workflow builder is a completely separate trigger-action system — there is no export or translation of Dentally automation logic into HighLevel workflows. FlitStack AI exports the Dentally workflow definitions as a written reference document so the practice admin can rebuild each sequence in HighLevel's workflow builder. The rebuild work is manual and must be scoped separately from the data migration.

  • Dentally invoice and payment records have no equivalent destination in HighLevel

    Dentally's invoicing module — including NHS submissions, private billing, payment status, and outstanding balances — does not map to any HighLevel standard or custom object. HighLevel has no billing, invoice, or accounts-receivable construct. We preserve a reference note on each patient contact record with the last invoice date and outstanding balance, but the full financial history remains in Dentally. Practices must continue using Dentally for billing or migrate to a dedicated accounting platform for financial records.

  • Dentally API rate limits may require staged export for large patient databases

    Dentally's API enforces per-account rate limits that vary by subscription tier; practices with multiple sites can request higher limits through Dentally support. For practices with more than 50,000 patient records, a staged export — moving records in batches to stay within Dentally's API quota — extends the export timeline. We coordinate with Dentally's migration team to schedule the managed backup export, which bypasses the API for the initial dataset, then use the API only for the delta pickup window before cutover.

  • Patient recall groups collapse to flat tags — nested recall logic requires custom field

    Dentally supports recall groups with interval-based scheduling (e.g., 6-month hygiene recall). HighLevel tags are a flat list — a patient can have N tags but there is no native recall-group with associated interval logic. We migrate recall group membership as tags on the patient contact (e.g., HygieneRecall, 6MonthRecall) and store the recall interval as a custom field (recallInterval__c) so the practice can rebuild recall automation in HighLevel's workflow builder using the interval as a trigger condition.

Migration approach

Six steps for a successful Dentally to HighLevel data migration

  1. Export Dentally data via managed backup and sandbox review

    FlitStack AI works with Dentally's migration team to schedule a managed backup export of the practice database. Dentally provides this as a sandbox environment review — the practice and our team can inspect the exported data against the live Dentally instance before committing to migration. We document every Dentally entity type (patients, practitioners, appointments, treatment items, treatment plans, custom fields) and flag any fields without a HighLevel destination before schema creation begins.

  2. Build HighLevel custom object schema for dental data

    Before any data moves, we create the DentalPatient and DentalTreatment custom objects in HighLevel with all required custom fields — matching every Dentally patient property and custom field, plus sourceSystemId and originalCreateDate for traceability. We also create the DentalTreatmentPlan custom object and link it to DentalPatient. This schema setup is delivered as a written plan so the practice admin can review and approve field definitions before they are created in the live HighLevel sub-account.

  3. Import practitioners, then patients, then appointments

    HighLevel's custom object relationships require a specific import order: practitioners first (as contacts), then patients (as contacts linked to DentalPatient custom object), then appointments (as tasks linked to patient contacts). We resolve practitioner names to HighLevel user IDs by email match before importing treatment records. Any Dentally custom fields on patients or treatment items are replicated as matching fields on the custom objects before the relevant record type is imported.

  4. Run sample migration with field-level diff

    A representative slice — typically 100–300 patients, their practitioners, and a sample of appointment and treatment records — migrates first. We generate a field-level diff comparing each source field value against the destination field value in HighLevel so the practice can verify custom field mapping, recall group tags, appointment type pick-list values, and practitioner lookup resolution before the full migration commits.

  5. Cut over with delta-pickup window and final reconciliation

    The full migration runs against the live HighLevel sub-account. A delta-pickup window lasting 24–48 hours captures any records created or modified in Dentally during the cutover window — including new patient registrations, updated contact details, or changed appointment statuses. Audit logs record every import operation, and one-click rollback is available if record counts or field accuracy fail the post-migration reconciliation check, ensuring data integrity throughout the transition process.

Platform deep dives

Context on both ends of the pair

Dentally logo

Dentally

Source

Strengths

  • Strong UK market presence with over 12,000 subscribed practices providing peer credibility and local support networks.
  • Consolidates appointment scheduling, clinical records, NHS referrals, and payments in a single cloud-based platform without on-premise hardware.
  • Native integrations with Xero, DenGro, and NHS e-referrals reduce the need for middleware or manual data re-entry.
  • Patient-facing Dentally Portal and integrated Dentally Vision imaging add capability without requiring separate vendor contracts.

Weaknesses

  • API rate limits are not publicly documented and practices with multi-site or high-volume integrations report needing to request increases through support.
  • Public API documentation is limited, making custom development and third-party integration scoping difficult before commitment.
  • Advanced features including full imaging and enhanced NHS workflows are gated behind higher pricing tiers, increasing cost as practices grow.
HighLevel logo

HighLevel

Destination

Strengths

  • Consolidates CRM, marketing automation, email, SMS, scheduling, and funnels into one platform at a predictable flat monthly rate.
  • Supports unlimited contacts and unlimited users on all paid tiers, removing per-record billing anxiety as databases grow.
  • Offers white-label and sub-account capabilities that let agencies resell access and manage multiple client environments under one billing relationship.
  • Includes built-in review management, reputation monitoring, and AI agents as native features rather than third-party add-ons.
  • Exports Contacts and Companies via a scalable async bulk CSV system that handles multi-million-row datasets without blocking the UI.

Weaknesses

  • The breadth of features creates a steep learning curve; advanced automations and Workflow configuration require significant time investment that smaller teams may not recover.
  • The platform charges usage-based fees for telecommunications and AI features that are not included in the base subscription, leading to bill surprises.
  • Recurring user reports on Reddit and G2 describe bugs, errors, and slow support response times that disrupt live marketing and sales operations.
  • Sub-account architecture, while powerful for agencies, adds migration complexity when identifying which client data lives in which isolated environment.
  • The platform is designed for agencies and SMBs; larger enterprises requiring deep reporting, custom objects at scale, or complex role-based access may outgrow its capabilities.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Dentally and HighLevel.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Dentally: Not publicly documented; practices requiring higher limits must request them via Dentally support.

  • Data volume sensitivity

    B

    Dentally doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Dentally to HighLevel migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Dentally to HighLevel data migrations

Answers to the questions buyers ask most during Dentally to HighLevel migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Dentally to HighLevel migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Dentally-to-HighLevel migrations complete in 48–72 hours of clock time for practices under 50,000 patient records. The longest step is building the DentalPatient and DentalTreatment custom object schema in HighLevel before data starts moving — this takes 1–2 days of planning and setup. Practices with over 200,000 records, extensive treatment histories, or multiple sites extend to 5–7 days. The delta-pickup window after the main cutover adds another 24–48 hours.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dentally.
Land in HighLevel, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day