CRM migration

Migrate from Core Practice to HubSpot

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

Core Practice logo

Core Practice

Source

HubSpot

Destination

HubSpot logo

Compatibility

92%

11 of 12

objects map 1:1 between Core Practice and HubSpot.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Core Practice structures data around dental-practice workflows: patient records, appointment schedules, treatment plans, clinical notes, and billing. HubSpot's model centers on contacts, companies, deals, tickets, and activities. The migration maps Core Practice patient contacts to HubSpot contacts, practice locations to HubSpot companies (since dental practices may track multiple offices), treatment plans to HubSpot deals with custom properties capturing procedure codes and clinical notes, and appointment history to HubSpot engagements (calls, meetings, notes). Core Practice custom properties — procedure codes, insurance carriers, treatment statuses — migrate as HubSpot custom properties. We preserve original create dates and owner assignments throughout. What does not migrate: Core Practice's appointment scheduling engine, billing workflows, clinical imaging, and treatment-plan templates — those require manual reconfiguration in HubSpot's workflow builder and Ops Hub. The migration runs via HubSpot's native import API for standard objects and bulk API for large record volumes. During the discovery phase, we inventory all custom fields and determine the exact mapping required for each unique property type.

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

Core Practice logo

Core Practice

What's pushing teams away

  • Excessive clicks and overcomplicated workflows frustrate staff and slow down appointment booking.
  • Patients are reported lost due to poor data integrity and unreliable patient record management.
  • The platform scores poorly on ease of use, value for money, and customer service compared to competitors.
  • Low review volume (6 verified reviews) suggests limited adoption and a lack of community resources.
  • Users report the software is useless at making appointments, directly undermining core dental practice operations.

Choosing

HubSpot logo

HubSpot

What's pulling them in

  • Lowest barrier to entry of any major CRM — the free tier with unlimited contacts lets teams validate fit before committing to a paid plan, according to G2 and Capterra reviewers.
  • Native integration between the CRM and sales engagement tools (sequences, email tracking, dialer) means no separate sync configuration, a theme across G2 Sales Hub reviews.
  • Pipeline visualization, deal tracking, and automated workflows are consistently praised as intuitive and easy to set up without developer involvement.
  • Strong onboarding for new team members — reviewers on Capterra and G2 highlight how quickly new reps become productive without formal training.
  • The HubSpot platform ecosystem (Marketing, Sales, Service, CMS hubs) allows growing companies to consolidate tools without building new integrations.

Object mapping

How Core Practice objects map to HubSpot

Each row shows how a Core Practice 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.

Core Practice

Patient Record

maps to

HubSpot

Contact

1:1
Fully supported

Core Practice patient records map 1:1 to HubSpot contacts. Patient name, date of birth, contact information, and insurance details transfer as contact properties. The patient's primary provider assigns as the HubSpot contact owner via email matching. We also preserve the original Core Practice patient ID as a custom property for traceability and future delta-sync operations.

Core Practice

Patient Record (Guarantor)

maps to

HubSpot

Company

many:1
Fully supported

For patients who are also practice owners or for multi-location practices, the responsible party (guarantor) maps to a HubSpot company record. This handles the dental-practice model where the practice entity may need separate representation from patient contacts. The guarantor company links to patient contacts via HubSpot's association system.

Core Practice

Practice Location

maps to

HubSpot

Company

1:1
Fully supported

Each Core Practice location (office address, NPI number, taxonomy code) creates a HubSpot company record. Practices with multiple offices generate multiple company records linked to patient contacts via associations. The NPI and taxonomy codes store as custom properties on each company for compliance and specialty reporting.

Core Practice

Treatment Plan

maps to

HubSpot

Deal

1:1
Fully supported

Core Practice treatment plans become HubSpot deals. The treatment plan total value maps to deal amount. Treatment phases become deal stages within a HubSpot pipeline. Custom properties carry CDT codes, procedure descriptions, and treatment-phase status. The deal owner resolves from the provider assigned in Core Practice.

Core Practice

Appointment

maps to

HubSpot

Meeting / Note

1:1
Fully supported

Core Practice appointments with provider, date, duration, and type map to HubSpot meetings (engagements) with original timestamps preserved. Appointment notes and clinical observations attach as HubSpot notes linked to the contact record. Each meeting engagement links to both the patient contact and the provider user in HubSpot.

Core Practice

Clinical Note

maps to

HubSpot

Note / Engagement

1:1
Fully supported

Core Practice clinical notes (per-visit observations, diagnoses) migrate as HubSpot notes attached to the contact. Rich-text formatting preserves. Provider and timestamp metadata transfers for audit continuity. We map the original created date to the HubSpot note timestamp to maintain the clinical record timeline.

Core Practice

Insurance Carrier

maps to

HubSpot

Custom Property (Contact)

1:1
Fully supported

Insurance carrier name and policy details from Core Practice become custom contact properties in HubSpot (insuranceCarrier, policyNumber, groupNumber). HubSpot requires these custom fields created before migration. We configure field types (text, number) to match the source data format.

Core Practice

CDT Code / Procedure Code

maps to

HubSpot

Custom Property (Deal)

1:1
Fully supported

Current Dental Terminology codes from treatment plans migrate as a custom property on HubSpot deals (cdtCodes). Multiple codes per treatment plan stored as comma-separated values or as multiple custom properties based on your reporting needs. We recommend comma-separated for standard reporting and multi-property for advanced filtering.

Core Practice

Provider / Staff

maps to

HubSpot

User

1:1
Fully supported

Core Practice providers (dentist, hygienist, assistant) resolve by email match against HubSpot users. Unmatched providers are flagged before migration for manual resolution. Patient records owned by unmatched providers assign to a fallback HubSpot user to ensure no record lacks an owner post-migration.

Core Practice

Billing Record / Payment

maps to

HubSpot

Custom Property (Deal)

1:1
Fully supported

Core Practice billing data — amounts billed, payments received, insurance payments, outstanding balance — migrate as deal custom properties (billedAmount, paymentReceived, insurancePayment, balanceDue). HubSpot has no native billing object, so these custom properties preserve the financial context for reporting within the deal record.

Core Practice

Referral Source

maps to

HubSpot

Custom Property (Contact)

1:1
Fully supported

Referral source tracking in Core Practice maps to a HubSpot contact custom property (referralSource). This supports post-migration marketing attribution and referral tracking workflows. We configure pick-list options in HubSpot to match the source values for consistent filtering and reporting.

Core Practice

Custom Practice Fields

maps to

HubSpot

Custom Properties

1:1
Fully supported

Any Core Practice custom fields beyond the standard set create HubSpot custom properties on the appropriate object (contact, company, or deal). We inventory all custom fields during discovery and create the HubSpot schema before data loads. Each property receives the correct data type and validation settings during setup.

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.

Core Practice logo

Core Practice gotchas

High

No publicly documented public API for direct data extraction

High

Proprietary patient archiving logic can silently drop records

Medium

Appointment booking reliability is a documented weakness

Medium

Limited review volume limits migration confidence

HubSpot logo

HubSpot gotchas

High

Marketing Contacts billing model is migration-critical

High

Feature tier gating is not visible until onboarding

Medium

Mandatory onboarding fees inflate year-one cost

Medium

HubSpot CSV importer cannot migrate engagements or attachments

Medium

Custom objects require Enterprise and a pre-existing schema

Pair-specific challenges

  • Dental scheduling engine has no HubSpot equivalent

    Core Practice includes a built-in scheduling engine with provider calendars, operatory assignments, appointment types, and recall reminders. HubSpot's Meetings tool handles one-off scheduling links but does not replicate the operatory-slot, provider-availability model dental practices rely on. We migrate appointment history as engagement records (meetings with timestamps, providers, and types), but the scheduling engine must be replaced by HubSpot's Meetings tool, a third-party dental scheduling integration (like Lighthouse 360 or OpenDental's HubSpot connector), or rebuilt workflows using HubSpot Operations Hub. Practices should budget for this gap during the migration project.

  • CDT code and insurance data require custom property setup before migration

    Core Practice CDT codes, insurance carrier names, policy numbers, and group numbers are stored as custom fields with no direct HubSpot equivalent. HubSpot's standard contact properties (firstname, lastname, email, phone) cover demographics only. We create custom properties (insuranceCarrier, policyNumber, cdtCodes, billedAmount, balanceDue) in HubSpot during the schema-setup phase before any data loads. Practices with more than 30 custom fields should expect extended setup time because each field requires a HubSpot admin to configure the property type, pick-list values, and field-level visibility before the migration plan finalizes.

  • Billing and payment records cannot auto-reconcile in HubSpot

    Core Practice tracks billed amounts, insurance payments, patient payments, and outstanding balances per treatment plan. HubSpot has no native billing object — deals carry an amount field and optional line items, but payment tracking and aging require custom properties or an external ERP integration. We migrate billing metadata (billedAmount, paymentReceived, balanceDue) as deal properties for reporting continuity, but the practice must rebuild payment-recording workflows in HubSpot Operations Hub or connect a billing tool (like Denticon or CareCredit integrations) post-migration.

  • Multi-location practices need explicit company-association rules

    Dental practices with multiple offices in Core Practice store each location with its own address, NPI number, and provider assignments. HubSpot's company-contact model requires deciding whether each office is a separate HubSpot company linked to patients who visited that location, or whether all patients associate to one parent company. We surface this choice during discovery and apply the agreed rule before migration runs — mismatched associations cause duplicate companies or orphaned patient records in HubSpot.

  • Treatment plan templates do not migrate as reusable objects

    Core Practice treatment plan templates (pre-configured phase sequences for common procedures like crown prep, root canal, or implant restoration) are configuration data, not patient records. HubSpot has no native template object for deal structures — the closest analogue is a HubSpot deal with pre-populated custom properties, which your team would need to recreate manually or script using HubSpot's API after migration. We export the template list as a reference document, but the templates themselves require manual rebuild in HubSpot.

Migration approach

Six steps for a successful Core Practice to HubSpot data migration

  1. Inventory Core Practice schema and custom fields

    FlitStack AI connects to Core Practice via read-only API access to pull a full schema export: all standard and custom patient record fields, treatment plan fields, appointment fields, clinical note fields, and practice location fields. We identify every active custom field, note its data type, and flag any fields that have no HubSpot equivalent and require custom property creation. This inventory becomes the basis for the HubSpot schema setup plan.

  2. Design HubSpot schema with custom properties and pipeline

    Before data moves, we create the HubSpot custom properties (insuranceCarrier, policyNumber, cdtCodes, billedAmount, balanceDue, referralSource, npiNumber, originalCreateDate, sourceSystemId) and configure a treatment plan pipeline with stages matching Core Practice phase values. Practice locations map to HubSpot companies with NPI and taxonomy custom fields. We deliver a schema setup checklist so your HubSpot admin can pre-create the fields or grant FlitStack API access to create them automatically.

  3. Resolve providers to HubSpot users by email

    Core Practice provider records (dentist, hygienist, office manager) match against HubSpot user accounts by email address. We run an owner-resolution pass before migration: matched providers become HubSpot deal owners and contact owners where appropriate. Unmatched providers are flagged for your team to either create HubSpot user accounts or assign their records to a fallback owner. No record migrates without a resolved HubSpot owner.

  4. Run sample migration with field-level diff on 100–500 records

    A representative slice of patient records, treatment plans, and appointment history migrates first — typically 100–500 records spanning multiple providers and locations. We generate a field-level diff comparing source values against destination values so you can verify CDT code mapping, insurance field population, treatment plan amounts, and appointment engagement logging before the full run commits. You approve the sample before we proceed to full migration.

  5. Execute full migration with delta-pickup window

    Full record migration runs against HubSpot's native import API for standard objects and bulk API for large volumes. A delta-pickup window (24–48 hours) captures any new or modified patient records, appointments, or treatment plans created in Core Practice during the cutover. Audit log records every operation. If reconciliation reveals data gaps, one-click rollback reverts the HubSpot environment to its pre-migration state so your team can investigate and re-run without data corruption.

Platform deep dives

Context on both ends of the pair

Core Practice logo

Core Practice

Source

Strengths

  • Cloud-based with no server maintenance or upfront capital costs.
  • No lock-in contracts allow month-to-month commitment.
  • Australian-hosted infrastructure for local data residency compliance.
  • All-in-one bundling of commercial, clinical, and clerical functions.
  • Real-time access from any device for multi-location practices.

Weaknesses

  • Extremely low review rating (2.7/5) indicating widespread user dissatisfaction.
  • Only 6 verified reviews exist, making independent evaluation difficult.
  • Poor ease-of-use scores (3.0/5) reflect overcomplicated workflows.
  • Weak customer service ratings (2.6/5) from the small reviewer base.
  • Minimal third-party integrations and limited API documentation published.
HubSpot logo

HubSpot

Destination

Strengths

  • Genuinely useful free CRM tier with no seat limit on contact records.
  • All-in-one sales engagement layer (sequences, email tracking, calling, dialer) embedded natively in the CRM, eliminating a separate integration.
  • Intuitive interface and fast onboarding for individual reps, per G2 and Capterra reviews.
  • Workflow automation triggers across contacts, deals, and tickets with a visual builder.
  • API coverage for all standard objects including custom objects at Enterprise tier.

Weaknesses

  • Pricing model is contact-based at the marketing layer — importing all records as marketing contacts can multiply the monthly bill by 4×.
  • Feature tier cliffs are frequent surprises: sequences, calling, advanced reporting, and quoting are all gated, often requiring plan upgrades mid-implementation.
  • Mandatory onboarding fees at Professional ($1,500) and Enterprise ($3,500) are not prominently disclosed on the pricing page.
  • API rate limits are restrictive for bulk migration — burst limits of 100-200 req/10sec and search endpoint limits of 4 req/sec require careful job queuing.
  • Custom objects, additional pipelines, and advanced forecasting are Enterprise-only, making cost projections difficult for growing teams.

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 Core Practice and HubSpot.

  • 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

    Core Practice: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Core Practice to HubSpot 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 Core Practice to HubSpot data migrations

Answers to the questions buyers ask most during Core Practice to HubSpot migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

Most Core Practice to HubSpot migrations complete in 48–72 hours of clock time for practices with under 25,000 patient records. Multi-location practices with complex custom properties, CDT code mappings, and appointment history spanning years extend to 7–14 days. The longest step is designing the HubSpot custom property schema to accommodate insurance, billing, and treatment-plan fields before data loads. FlitStack AI sequences the migration so schema setup, owner resolution, and sample testing happen before the full run begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Core Practice.
Land in HubSpot, 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