CRM migration
Field-level mapping, validation, and rollback between My Dental Clinic and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
My Dental Clinic
Source
Freshsales
Destination
Compatibility
8 of 10
objects map 1:1 between My Dental Clinic and Freshsales.
Complexity
BStandard
Timeline
24–72 hours
Overview
My Dental Clinic is a dental-practice-management platform centered on patient records, treatment planning, and appointment scheduling — its data model prioritizes clinical workflow over relationship tracking. Freshsales is a sales-focused CRM built around Leads, Contacts, Accounts, and Deals, with Contact Lifecycle Stages, multiple sales pipelines, and Freddy AI scoring on Pro plans. The migration maps My Dental Clinic patient records to Freshsales Contacts with address and contact fields preserved, clinic/facility data to Accounts, treatment plan summaries to custom fields on Contacts, and appointment history to Tasks and Events with original timestamps. The main structural gap is that My Dental Clinic's clinical data (treatment codes, imaging references, insurance claims) has no native Freshsales equivalent — these become custom fields, Notes, or a custom Treatment_Records object that your team configures after migration. FlitStack AI uses scoped read access on My Dental Clinic, maps fields value-by-value during extraction, and delivers a field-level diff before committing the full run. Automations, workflows, and appointment reminder rules do not migrate and must be rebuilt in Freshsales Workflows or exported as reference documents for your admin.
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 My Dental Clinic object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
My Dental Clinic
Patient Record
Freshsales
Contact
1:1My Dental Clinic patient records map directly to Freshsales Contacts. First name, last name, date of birth, phone, email, and address fields map to Freshsales Contact fields. The patient's primary clinic association maps to Account lookup. Original patient create date is preserved as a custom datetime field since Freshsales CreatedDate reflects migration timestamp.
My Dental Clinic
Patient Record (unscheduled lead)
Freshsales
Lead
1:manyPatients in My Dental Clinic who have inquiry records but no completed appointments map to Freshsales Leads. Incoming referral sources, marketing campaign responses, and phone inquiries become Lead records. When a Lead converts to a booked appointment, Freshsales creates a Contact, Account, and Deal automatically if the conversion workflow is configured.
My Dental Clinic
Clinic / Practice Location
Freshsales
Account
1:1My Dental Clinic stores clinic name, address, phone, and operating hours. These map to Freshsales Account fields (Name, address fields, phone). For multi-location groups, each My Dental Clinic location becomes a separate Account record, and parent-company relationships can be modeled using Account hierarchy if available in the source data.
My Dental Clinic
Appointment / Visit
Freshsales
Task / Event
1:1My Dental Clinic appointments map to Freshsales Tasks (for administrative tasks like treatment plan follow-up) and Events (for scheduled visits with start/end times). The original appointment date, practitioner assigned, and visit type (hygiene, restorative, consultation) are stored as custom fields on the Task or Event. Past appointments become closed Tasks; future appointments become Events.
My Dental Clinic
Treatment Plan / Procedure Record
Freshsales
Custom Object: Treatment_Record
1:1My Dental Clinic treatment plans (procedure codes, tooth numbers, materials used, treatment status) have no direct Freshsales equivalent. We create a Treatment_Record custom object with fields for procedure_code, tooth_surface, treatment_date, status, and provider. Each Treatment_Record links to the patient Contact via association. Your Freshsales admin configures the object schema before migration.
My Dental Clinic
Insurance / Billing Record
Freshsales
Custom Fields on Contact / Deal
many:1Insurance provider, policy number, coverage percentage, and outstanding balance from My Dental Clinic merge into custom fields on the Contact record (Insurance_Provider__c, Policy_Number__c, Coverage_Pct__c) and optionally onto a Deal representing the patient's active treatment plan with estimated billing. Claims history is preserved as Notes attached to the Contact.
My Dental Clinic
Referral Source
Freshsales
Custom Field on Contact
1:1My Dental Clinic tracks referring dentist or physician as a contact property. This maps to a custom field (Referral_Source__c) on the Freshsales Contact. If the referral source is another practice, it can link to an Account record representing the referring practice.
My Dental Clinic
Practitioner / Staff
Freshsales
User (owner assignment)
1:1My Dental Clinic practitioners (dentist, hygienist, assistant) resolve against Freshsales users by email match. Unmatched practitioners are flagged and assigned to a fallback owner (typically the practice admin). Practitioner role (dentist vs. hygienist) maps to a custom Contact field if you need to track provider-level patient history on the Contact record.
My Dental Clinic
Recall / Re-care Record
Freshsales
Deal (treatment pipeline) / Task
1:1My Dental Clinic recall records (6-month hygiene recall, annual exam due) map to Freshsales Deals in a Treatment pipeline with stage values representing recall status (Recall Due, Appointment Scheduled, Completed). Overdue recalls generate Tasks assigned to the front-desk user for outreach. This model leverages Freshsales automation for recall campaigns.
My Dental Clinic
Patient Document / Attachment
Freshsales
Note / Attachment on Contact
1:1Patient documents (consent forms, imaging referrals, insurance cards) stored in My Dental Clinic re-upload as Freshsales Notes and Attachments linked to the Contact record. File size limits apply (Freshsales supports standard attachment limits per plan). PDFs and images are preserved in their original format.
| My Dental Clinic | Freshsales | Compatibility | |
|---|---|---|---|
| Patient Record | Contact1:1 | Fully supported | |
| Patient Record (unscheduled lead) | Lead1:many | Fully supported | |
| Clinic / Practice Location | Account1:1 | Fully supported | |
| Appointment / Visit | Task / Event1:1 | Fully supported | |
| Treatment Plan / Procedure Record | Custom Object: Treatment_Record1:1 | Fully supported | |
| Insurance / Billing Record | Custom Fields on Contact / Dealmany:1 | Fully supported | |
| Referral Source | Custom Field on Contact1:1 | Fully supported | |
| Practitioner / Staff | User (owner assignment)1:1 | Fully supported | |
| Recall / Re-care Record | Deal (treatment pipeline) / Task1:1 | Fully supported | |
| Patient Document / Attachment | Note / Attachment on Contact1: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.
My Dental Clinic gotchas
Dental ledgers are structurally complex to migrate accurately
Tooth-numbering systems differ between dental platforms
Insurance carrier IDs must be re-mapped post-migration
Custom clinical note templates may not map directly
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Export My Dental Clinic patient records and validate schema
FlitStack initiates a scoped API read or structured CSV export from My Dental Clinic covering all patient records, appointments, treatment plans, insurance data, and practitioner profiles. We validate field counts, check for null values in required fields, and flag records missing email addresses (which affect Freshsales user matching). The export produces a manifest of record counts per object so you can verify scope before field mapping begins.
Create Freshsales custom object and fields for dental-specific data
Before data loads, your Freshsales admin creates the Treatment_Record custom object (or confirms FlitStack's schema plan) and all custom Contact fields (Date_of_Birth__c, Insurance_Provider__c, Policy_Number__c, Original_Create_Date__c, Referral_Source__c, Outstanding_Balance__c, Last_Payment_Date__c, Coverage_Pct__c). FlitStack delivers a step-by-step schema setup checklist with field names, types, pick-list values, and validation rules. This preparation runs in parallel with the source export and must be complete before the sample migration. The checklist includes detailed instructions for each custom field type (text, date, currency, picklist) so your admin can pre-configure the Freshsales org without trial and error.
Resolve practitioners to Freshsales users by email match
FlitStack matches My Dental Clinic practitioner records to Freshsales users using email address as the unique identifier. For each practitioner in the source system, FlitStack checks whether a corresponding Freshsales user account exists with a matching email. Unmatched practitioners are flagged in a pre-migration report — your team either invites them to Freshsales with their email address or assigns their records to a fallback owner (such as the practice administrator). No appointment or treatment record loads into Freshsales without a valid user owner; unresolved practitioners are grouped under the practice admin account to ensure data integrity and audit trails remain intact throughout the migration.
Run sample migration with field-level diff
A representative slice (typically 200–500 patient records, 100 appointments, 50 treatment plans) migrates to Freshsales first. FlitStack generates a field-level diff comparing source values to destination field contents — you verify Lifecycle Stage mapping, custom object linkage, and appointment timestamps. You approve the sample before the full run commits. This step catches mapping errors before they affect your full patient base.
Execute full migration with delta-pickup window
The full dataset loads to Freshsales: Contacts (linked to Accounts), Events for appointments, Tasks for follow-ups, Treatment_Record custom object entries, and custom field values. A delta-pickup window (24–48 hours) captures any new patients or appointments created in My Dental Clinic during cutover. FlitStack's audit log tracks every record inserted or updated. If reconciliation fails, one-click rollback reverts the Freshsales instance to its pre-migration state.
Platform deep dives
My Dental Clinic
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 My Dental Clinic and Freshsales.
Object compatibility
2 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
My Dental Clinic: Not publicly documented..
Data volume sensitivity
My Dental Clinic 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 My Dental Clinic to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your My Dental Clinic to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave My Dental Clinic
Other ways to arrive at Freshsales
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.