CRM migration
Field-level mapping, validation, and rollback between The Dental System and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
The Dental System
Source
Freshsales
Destination
Compatibility
12 of 12
objects map 1:1 between The Dental System and Freshsales.
Complexity
BStandard
Timeline
48–72 hours
Overview
The Dental System is a practice management platform built for dental clinical and administrative workflows. It stores patient demographics, treatment histories, clinical notes, and insurance records in a schema optimized for chair-side use. Freshsales is a sales CRM built around the Lead-Contact-Account-Opportunity object graph, with Freddy AI for lead scoring and built-in telephony. The two platforms share a relational record model — contacts have accounts, deals have owners — but The Dental System carries clinical data that has no native CRM equivalent: tooth-chart observations, procedure codes, x-ray references, and insurance-benefitremaining fields. FlitStack AI maps the transferable patient record (demographics, addresses, phone numbers, email addresses) into Freshsales Contact and Account objects. Custom clinical fields from The Dental System migrate as Freshsales custom fields so your team retains the reference data. Treatment plan estimates map to Freshsales Opportunities with the estimated dollar amount becoming the deal Amount. Appointment types map to custom pipeline stages in Freshsales so you can track lead volume through the new-patient intake funnel. We handle the API-driven export from The Dental System (CSV export or API pull depending on your export capability), transform each record through field-level mapping, and load into Freshsales via the Freshsales CRM API. Workflows, scheduling rules, and clinical automations from The Dental System do not migrate — those are destination-side constructs that require Freshsales Workflow rules to be built from the exported definitions.
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 The Dental System 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.
The Dental System
Patient / Record
Freshsales
Contact
1:1The Dental System patient record maps directly to Freshsales Contact. Patient demographics (name, date of birth, gender) map to Freshsales standard fields. The Freshsales Create Contact API requires a valid email address — patients stored without an email in The Dental System are flagged for pre-migration email collection or landed in a custom No_Email__c field on Contact for manual enrichment after load.
The Dental System
Patient Email Address
Freshsales
Contact Email
1:1Patient email from The Dental System maps to the Freshsales Contact.email field via direct field mapping. When no email exists in The Dental System, the record is created with Email_Missing__c set to true as a flag for the front desk to complete contact details before outreach sequences begin in Freshsales. This prevents API rejection and surfaces incomplete records for enrichment without blocking the migration batch.
The Dental System
Patient Phone / Mobile
Freshsales
Contact Phone / Mobile Number
1:1Phone and mobile number fields map directly. The Dental System sometimes stores multiple phone numbers per patient (home, cell, emergency contact) — additional numbers beyond the first two map to Freshsales custom text fields rather than overwriting the standard phone fields.
The Dental System
Practice / Location
Freshsales
Account
1:1The Dental System location or practice name maps to Freshsales Account.name. For multi-location groups, each location in The Dental System becomes a separate Account record. If The Dental System stores a parent-company relationship, the Parent Account link in Freshsales preserves the DSO or group structure.
The Dental System
Insurance Carrier / Policy
Freshsales
Custom fields on Contact
1:1Insurance carrier name, policy number, group number, and subscriber relationship from The Dental System have no standard Freshsales equivalent. These migrate as custom text fields on Contact: Insurance_Carrier__c, Insurance_Policy_Number__c, Insurance_Group_Number__c, Insurance_Subscriber_Name__c. Freshsales custom fields are available on all plans without an upgrade.
The Dental System
Recall / Appointment Type
Freshsales
Opportunity Pipeline Stage
1:1The Dental System tracks recall intervals and appointment types (new patient exam, cleaning, restorative, perio maintenance). Each appointment type becomes a Freshsales pipeline stage in a custom New Patient Intake pipeline. Stages map from recall frequency (6-month cleaning → Stage: Recall Due; annual exam → Stage: Annual Checkup Scheduled). The Freshsales Pro plan supports multiple pipelines — required if your practice runs more than one intake funnel.
The Dental System
Treatment Plan / Case Estimate
Freshsales
Opportunity
1:1Proposed treatment plans with estimated costs from The Dental System map to Freshsales Opportunity. The estimated treatment amount becomes Opportunity.amount. Treatment description maps to Opportunity.name (e.g., 'Treatment Plan: Implants + Crowns — $4,200'). Open treatment plans become open Opportunities; completed plans map with Closed Won stage and actual billed amount.
The Dental System
Provider / Treating Dentist
Freshsales
Opportunity OwnerId
1:1The Dental System assigns each patient and treatment plan to a provider. Owner resolution in Freshsales maps the provider name to a Freshsales user by email match. If no matching user exists, the Opportunity is assigned to a fallback owner designated by the practice manager. Unresolved owners are flagged in the pre-flight report before migration runs.
The Dental System
Clinical Notes / Treatment Notes
Freshsales
Task (Activity)
1:1Free-text clinical notes attached to a patient record in The Dental System migrate as Freshsales Tasks linked to the Contact. Each note becomes a completed Task with Subject = 'Clinical Note' and Description = the original note text. Original note timestamp and provider author are preserved in the task metadata. This preserves the clinical record without requiring a custom object.
The Dental System
X-Ray References / Attachments
Freshsales
Freshsales Files
1:1File attachments (x-rays, intraoral photos, consent forms) stored in The Dental System are downloaded and re-uploaded to Freshsales Files attached to the Contact record. Freshsales file storage limits vary by plan: Growth includes 2GB total, Pro includes 5GB per user. We flag any files exceeding Freshsales size limits before the migration commits.
The Dental System
Patient Address
Freshsales
Contact Address Fields
1:1Patient address components (street, city, state, postal code, country) map directly to Freshsales standard address fields on Contact. If The Dental System stores both home and billing address, the billing address maps to a custom address field set rather than overwriting the primary address.
The Dental System
Referral Source
Freshsales
Contact Custom Field
1:1Referral source tracking in The Dental System (e.g., 'New patient referred by Dr. Smith', 'Google Ads', 'Yelp') has no Freshsales standard equivalent. This migrates as a custom pick-list field (Referral_Source__c) on Contact so the practice can run Freshsales reports on lead source effectiveness across providers.
| The Dental System | Freshsales | Compatibility | |
|---|---|---|---|
| Patient / Record | Contact1:1 | Fully supported | |
| Patient Email Address | Contact Email1:1 | Fully supported | |
| Patient Phone / Mobile | Contact Phone / Mobile Number1:1 | Fully supported | |
| Practice / Location | Account1:1 | Fully supported | |
| Insurance Carrier / Policy | Custom fields on Contact1:1 | Fully supported | |
| Recall / Appointment Type | Opportunity Pipeline Stage1:1 | Fully supported | |
| Treatment Plan / Case Estimate | Opportunity1:1 | Fully supported | |
| Provider / Treating Dentist | Opportunity OwnerId1:1 | Fully supported | |
| Clinical Notes / Treatment Notes | Task (Activity)1:1 | Fully supported | |
| X-Ray References / Attachments | Freshsales Files1:1 | Fully supported | |
| Patient Address | Contact Address Fields1:1 | Fully supported | |
| Referral Source | Contact Custom Field1: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.
The Dental System gotchas
No documented public API
Custom field discovery requires manual audit
Insurance carrier and payer data may require re-credentialing
Document storage may not be directly accessible for bulk export
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
Assess The Dental System export capabilities and plan the data pull sequence
Before any data moves, FlitStack reviews your The Dental System edition and export options — API access, CSV reporting module availability, and attachment storage location. We deliver an export checklist with screenshots for your The Dental System admin to run. This step confirms which data (demographics, appointments, treatment plans, clinical notes, attachments) is accessible and which requires manual preparation, so the migration scope is locked before field mapping begins.
Map patient records to Freshsales Contact and Account objects with owner resolution
We run the initial migration batch against Freshsales Contacts and Accounts. Patient demographics map to Freshsales standard fields; clinical custom fields (insurance carrier, recall dates, procedure codes) map to Freshsales custom fields. Owner resolution matches the treating provider in The Dental System to a Freshsales user by email. Any patient without an email is flagged for pre-migration enrichment. The resulting record count and ownership assignment is validated against the source patient list before the next batch runs.
Migrate treatment plans and appointment history into Freshsales Opportunities and Tasks
Treatment plans with estimated amounts load as Freshsales Opportunities linked to the migrated Contact. Appointment types map to custom pipeline stages in the New Patient Intake pipeline so your team can track lead-to-case conversion. Clinical notes attach to Contact records as completed Tasks. All Opportunity owners are resolved from the provider mapping established in Step 2. Foreign-key integrity (Opportunity.ContactId, Task.ContactId) is validated after load.
Run sample migration with field-level diff and reconcile record counts
A representative slice — typically 100–500 records spanning demographics, treatment plans, and clinical notes — migrates first. We generate a field-level diff showing source value versus Freshsales field value for every mapped column. You verify that insurance fields landed in the correct custom fields, that appointment types appear as the intended pipeline stages, and that owner assignment matches the provider list. We resolve any mismatches before the full migration commits.
Execute full migration with delta-pickup window and post-migration audit
The full record set migrates into Freshsales. A delta-pickup window of 24–48 hours after the initial load captures any patient records created or updated in The Dental System during the cutover period. All operations are logged in the FlitStack audit log. We deliver a reconciliation report showing record counts by object, any records that failed to load with error codes, and the delta record count absorbed in the pickup window. One-click rollback is available if reconciliation fails your acceptance criteria.
Platform deep dives
The Dental System
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 The Dental System 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
The Dental System: Not publicly documented.
Data volume sensitivity
The Dental System 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 The Dental System to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your The Dental System 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 The Dental System
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.