CRM migration
Field-level mapping, validation, and rollback between Core Practice and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Core Practice
Source
HubSpot
Destination
Compatibility
11 of 12
objects map 1:1 between Core Practice and HubSpot.
Complexity
BStandard
Timeline
48–72 hours
Overview
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.
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 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
HubSpot
Contact
1:1Core 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)
HubSpot
Company
many:1For 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
HubSpot
Company
1:1Each 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
HubSpot
Deal
1:1Core 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
HubSpot
Meeting / Note
1:1Core 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
HubSpot
Note / Engagement
1:1Core 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
HubSpot
Custom Property (Contact)
1:1Insurance 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
HubSpot
Custom Property (Deal)
1:1Current 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
HubSpot
User
1:1Core 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
HubSpot
Custom Property (Deal)
1:1Core 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
HubSpot
Custom Property (Contact)
1:1Referral 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
HubSpot
Custom Properties
1:1Any 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.
| Core Practice | HubSpot | Compatibility | |
|---|---|---|---|
| Patient Record | Contact1:1 | Fully supported | |
| Patient Record (Guarantor) | Companymany:1 | Fully supported | |
| Practice Location | Company1:1 | Fully supported | |
| Treatment Plan | Deal1:1 | Fully supported | |
| Appointment | Meeting / Note1:1 | Fully supported | |
| Clinical Note | Note / Engagement1:1 | Fully supported | |
| Insurance Carrier | Custom Property (Contact)1:1 | Fully supported | |
| CDT Code / Procedure Code | Custom Property (Deal)1:1 | Fully supported | |
| Provider / Staff | User1:1 | Fully supported | |
| Billing Record / Payment | Custom Property (Deal)1:1 | Fully supported | |
| Referral Source | Custom Property (Contact)1:1 | Fully supported | |
| Custom Practice Fields | 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.
Core Practice gotchas
No publicly documented public API for direct data extraction
Proprietary patient archiving logic can silently drop records
Appointment booking reliability is a documented weakness
Limited review volume limits migration confidence
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
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.
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.
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.
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.
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
Core Practice
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 Core Practice 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
Core Practice: Not publicly documented.
Data volume sensitivity
Core Practice 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 Core Practice to HubSpot migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Core Practice
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.