CRM migration
Field-level mapping, validation, and rollback between Core Practice and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Core Practice
Source
Salesforce Sales Cloud
Destination
Compatibility
14 of 15
objects map 1:1 between Core Practice and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
24–72 hours
Overview
Core Practice is a dental-specific practice management platform built around patients, appointments, practitioners, treatment plans, and billing records. Salesforce Sales Cloud is a general-purpose CRM built around Accounts, Contacts, Leads, Opportunities, Tasks, and Products — with a relational object model connected by lookup IDs, junction objects, and record types. The two data models diverge significantly: Core Practice stores appointments as a flat list with chair and operator fields; Salesforce has no native appointment object — FlitStack AI maps appointment data to Salesforce Tasks with custom fields for appointment type, operator, and location. Core Practice treatment plans, medical history records, and insurance policies have no direct Salesforce equivalent and migrate as custom objects or custom fields. The migration carries patient contacts, practice accounts, appointments, treatment plans, medical history, practitioner assignments, insurance policies, and billing records into Salesforce. Core Practice workflows — appointment reminders, prescription alerts, treatment-plan notifications — do not migrate because they are platform-specific configuration, not data. FlitStack AI sequences the migration so patient records land before appointments, practitioners resolve to Salesforce Users by email, and treatment plan procedures map to Salesforce Products. A 24–48h delta-pickup window captures records modified during cutover before Salesforce goes live.
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 Salesforce Sales Cloud, 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
Salesforce Sales Cloud
Contact
1:1Core Practice patient records map directly to Salesforce Contacts. Every patient becomes one Contact. FlitStack AI maps first name, last name, email, phone, date of birth, address fields, and gender directly. The Core Practice patient ID (e.g., PAT-00421) migrates as a custom field (Core_Patient_ID__c) for traceability. Unmatched patients are flagged before migration commits.
Core Practice
Practice Account
Salesforce Sales Cloud
Account
1:1The dental practice itself — the business entity — maps to a Salesforce Account record. Practice name, address, phone, and website fields map directly. For multi-location practices, each location is a separate Account with the corporate entity as a Parent Account via the ParentId field.
Core Practice
Appointment
Salesforce Sales Cloud
Task (custom fields)
1:1Core Practice appointments have no native Salesforce equivalent. FlitStack AI maps appointments to Salesforce Tasks with custom fields: Appointment_Type__c (pick-list: checkup, cleaning, root canal, emergency, etc.), Operator__c (lookup to Practitioner__c), Chair__c (text), Location__c (text), and Appointment_DateTime__c (datetime). Tasks link to the Contact (patient) and Account (practice).
Core Practice
Practitioner
Salesforce Sales Cloud
User / Practitioner__c (custom object)
1:manyCore Practice staff with a Salesforce license (associate dentists, office managers) resolve to Salesforce Users by email match. Staff without a Salesforce license — hygienists, assistants — map to a Practitioner__c custom object so their names can still be linked to appointments via the Operator__c custom field on Tasks.
Core Practice
Treatment Plan
Salesforce Sales Cloud
Treatment_Plan__c (custom object)
1:1Core Practice treatment plans include procedure code, description, status, estimated cost, and notes. FlitStack AI creates a Treatment_Plan__c custom object in Salesforce with custom fields for each element. Procedure codes map to Product2 so Salesforce Products carry the treatment catalog. Plan status uses a custom pick-list matching Core Practice values.
Core Practice
Treatment Procedure
Salesforce Sales Cloud
Product2
1:1Core Practice procedure codes (D#### ADA codes or custom codes) and descriptions migrate to Salesforce Product2 records. The Product Name carries the procedure description, and the Product Code field carries the ADA code. UnitPrice on the Product2 represents the standard fee for the procedure.
Core Practice
Medical History
Salesforce Sales Cloud
Medical_History__c (custom object)
1:1Core Practice stores medical and dental history as structured text blocks per patient. FlitStack AI creates a Medical_History__c custom object with a lookup to Contact (patient), plus custom textarea fields for conditions, medications, allergies, and notes. Each patient gets one Medical_History__c record.
Core Practice
Insurance Policy
Salesforce Sales Cloud
Insurance_Policy__c (custom object)
1:1Core Practice insurance records include carrier name, policy number, group number, subscriber name, relationship, effective date, and termination date. FlitStack AI creates an Insurance_Policy__c custom object with a lookup to Contact, plus custom fields for each data element. Active vs. inactive status maps to a custom pick-list.
Core Practice
Billing Record
Salesforce Sales Cloud
Billing_Record__c (custom object)
1:1Core Practice invoice records — invoice number, amount, date, payment method, balance — map to a Billing_Record__c custom object with a lookup to Contact and an optional lookup to Treatment_Plan__c. Payment status uses a custom pick-list matching Core Practice values (Paid, Partial, Outstanding, Written Off).
Core Practice
Prescription
Salesforce Sales Cloud
Prescription__c (custom object)
1:1Core Practice prescriptions include medication name, dosage, frequency, prescribing practitioner, and date. FlitStack AI creates a Prescription__c custom object with a lookup to Contact and to Practitioner__c. Dosage and frequency map to custom text fields. Prescriptions link to the relevant Treatment_Plan__c when available.
Core Practice
Document / Attachment
Salesforce Sales Cloud
ContentDocument / Salesforce Files
1:1Core Practice file attachments — X-rays, consent forms, treatment images — re-upload to Salesforce Files. Files attach to the relevant Contact or custom object record via ContentDocumentLink. File size limits of 25MB per file in Salesforce apply; larger files are flagged before migration. Inline images in notes are downloaded and rehosted.
Core Practice
Appointment Reminder Workflow
Salesforce Sales Cloud
Not migratable
1:1Core Practice appointment reminder sequences are platform-specific workflow configurations. Salesforce has no direct equivalent — appointment reminders require Salesforce Flow with time-based workflow actions or a third-party app from AppExchange. FlitStack AI exports the workflow definitions as a rebuild reference document for your Salesforce admin.
Core Practice
Prescription Alert Workflow
Salesforce Sales Cloud
Not migratable
1:1Core Practice prescription alert and recall workflows are platform configurations that do not exist in Salesforce. These automations must be rebuilt in Salesforce Flow. FlitStack AI provides a workflow audit export listing every configured alert, its trigger condition, and its action so your team can reproduce each sequence in Flow.
Core Practice
Custom Property (non-standard fields)
Salesforce Sales Cloud
Custom fields on relevant object
1:1Core Practice custom properties — fields created by the practice outside the standard schema — map to Salesforce custom fields on the appropriate object. Each custom property requires a custom field created in Salesforce before migration (Label, API Name, data type, and pick-list values). FlitStack AI delivers a custom field creation plan as part of the migration package.
Core Practice
Core Practice User / Owner
Salesforce Sales Cloud
User (email match)
1:1Core Practice staff records (practitioners, admin) resolve to Salesforce Users by email address match. Unmatched staff — those without a Salesforce User record — are flagged in the pre-migration audit. Your team decides whether to create Salesforce User accounts for each or map them to the Practitioner__c custom object.
| Core Practice | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Practice Account | Account1:1 | Fully supported | |
| Appointment | Task (custom fields)1:1 | Fully supported | |
| Practitioner | User / Practitioner__c (custom object)1:many | Fully supported | |
| Treatment Plan | Treatment_Plan__c (custom object)1:1 | Fully supported | |
| Treatment Procedure | Product21:1 | Fully supported | |
| Medical History | Medical_History__c (custom object)1:1 | Fully supported | |
| Insurance Policy | Insurance_Policy__c (custom object)1:1 | Fully supported | |
| Billing Record | Billing_Record__c (custom object)1:1 | Fully supported | |
| Prescription | Prescription__c (custom object)1:1 | Fully supported | |
| Document / Attachment | ContentDocument / Salesforce Files1:1 | Fully supported | |
| Appointment Reminder Workflow | Not migratable1:1 | Fully supported | |
| Prescription Alert Workflow | Not migratable1:1 | Fully supported | |
| Custom Property (non-standard fields) | Custom fields on relevant object1:1 | Fully supported | |
| Core Practice User / Owner | User (email match)1: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
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Stand up Salesforce schema first
Before any data moves, FlitStack AI delivers a schema setup plan listing every custom object, custom field, pick-list value set, and field-level security requirement needed in Salesforce. Your admin (or our team) creates Treatment_Plan__c, Practitioner__c, Medical_History__c, Insurance_Policy__c, and Billing_Record__c in the target org via Setup Object Manager. Appointment custom fields on the Task object — Appointment_Type__c, Operator__c, Chair__c — are created at the same time. We validate the schema in a Salesforce sandbox before the production migration begins.
Resolve practitioners and staff by email
FlitStack AI matches Core Practice practitioner email addresses against existing Salesforce User records. Practitioners with a match become Salesforce Users and can own records and log activities. Unmatched practitioners are flagged in a pre-migration report — your team either creates Salesforce User accounts for them or accepts that they map to the Practitioner__c custom object. No appointment operator assignment commits without an explicit resolution decision from your team.
Sequence the migration: accounts, patients, then appointments
Salesforce requires Accounts before Contacts (via AccountId lookup) and Contacts before Tasks (via WhoId). Treatment_Plan__c records need Contact lookups before they can link. FlitStack AI sequences the migration so Practice Accounts land first, then Patients (Contacts) split by insurance status or practitioner, then Treatment Plans and Medical History with Contact lookups resolved, then Appointments (Tasks) with WhoId and AccountId resolved, then Insurance Policies and Billing Records. This dependency order prevents foreign-key failures during data loads.
Run a sample migration with field-level diff
A representative slice migrates first — typically 200–500 records spanning patients, appointments, treatment plans, and practitioners. FlitStack AI generates a field-level diff between the source Core Practice export and the destination Salesforce records, showing every mapped field, transformed value, and dropped field. You verify that appointment types map correctly to the custom pick-list, that practitioner names resolve to the right User or Practitioner__c record, and that treatment plan costs land in the Estimated_Cost__c custom currency field before the full run commits.
Cut over with delta-pickup for in-flight records
The full migration loads into Salesforce. A delta-pickup window of 24–48 hours captures any Core Practice records modified during the cutover — new patients booked in the final day before switchover, updated treatment plans, or changed appointments. Audit logs record every insert, update, and skip. If reconciliation identifies missing or mismatched records, FlitStack AI provides a one-click rollback that reverts the Salesforce org to its pre-migration state so the team can investigate and re-run.
Platform deep dives
Core Practice
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Salesforce Sales Cloud.
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 Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Core Practice to Salesforce Sales Cloud 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 Salesforce Sales Cloud
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.