CRM migration

Migrate from The Dental System to Freshsales

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 logo

The Dental System

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

12 of 12

objects map 1:1 between The Dental System and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

The Dental System logo

The Dental System

What's pushing teams away

  • No public pricing means every evaluation requires a sales demo, slowing comparison against transparent competitors like DentiMax ($169/month) or MOGO ($250/month flat).
  • Newer product without the multi-decade install base of Dentrix or Open Dental, so the integration ecosystem with imaging vendors, payment processors, and lab partners is shallower.
  • Modern cloud-first design means it does not run offline; practices with unreliable internet (rural, multi-op high bandwidth needs) may prefer Open Dental's local-install model.
  • Limited third-party review presence on G2 and Capterra makes independent quality assessment harder than for legacy market leaders.
  • Marketing claims around AI/clinical intelligence ('thinks like a dentist') are not independently validated; capabilities depth must be confirmed during demo rather than from public materials.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How The Dental System objects map to Freshsales

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

maps to

Freshsales

Contact

1:1
Fully supported

The 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

maps to

Freshsales

Contact Email

1:1
Fully supported

Patient 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

maps to

Freshsales

Contact Phone / Mobile Number

1:1
Fully supported

Phone 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

maps to

Freshsales

Account

1:1
Fully supported

The 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

maps to

Freshsales

Custom fields on Contact

1:1
Fully supported

Insurance 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

maps to

Freshsales

Opportunity Pipeline Stage

1:1
Fully supported

The 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

maps to

Freshsales

Opportunity

1:1
Fully supported

Proposed 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

maps to

Freshsales

Opportunity OwnerId

1:1
Fully supported

The 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

maps to

Freshsales

Task (Activity)

1:1
Fully supported

Free-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

maps to

Freshsales

Freshsales Files

1:1
Fully supported

File 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

maps to

Freshsales

Contact Address Fields

1:1
Fully supported

Patient 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

maps to

Freshsales

Contact Custom Field

1:1
Fully supported

Referral 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.

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.

The Dental System logo

The Dental System gotchas

High

No documented public API

Medium

Custom field discovery requires manual audit

Medium

Insurance carrier and payer data may require re-credentialing

Medium

Document storage may not be directly accessible for bulk export

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Freshsales Contact API requires email — patients without email need pre-migration preparation

    The Freshsales Create Contact API enforces a valid email address on every Contact record. The Dental System frequently stores patient records without email addresses — this is standard for practices that collect phone but not digital contact at intake. FlitStack flags all patients with missing email before migration commits. The recommended path is a pre-migration front-desk enrichment sprint to collect emails for active patients, or landing those records with an Email_Missing__c flag for post-migration follow-up. Records without email cannot be created via Freshsales API and will block the migration batch if not handled.

  • Clinical tooth-chart data and procedure codes have no native Freshsales equivalent

    The Dental System clinical object model includes tooth-chart observations, ADA procedure codes, x-ray classifications, and per-tooth clinical notes that are deeply specific to dental practice workflows. Freshsales is a sales CRM — it has no native clinical field types. Every clinical data point from The Dental System becomes a custom field on the Freshsales Contact record (or a custom dental record object if your team wants procedure history tracked separately). We can migrate all clinical custom fields faithfully, but your Freshsales admin will need to decide how to surface them on the Contact layout and whether to build Freshsales Workflows that trigger on specific procedure codes.

  • Freshsales API rate limits vary by plan — migration speed caps at 1,000–5,000 records per hour

    Freshsales enforces API rate limits per plan: 1,000 requests/hour on Growth, 2,000/hour on Pro, 5,000/hour on Enterprise. The Dental System export rate is typically the bottleneck, but on the Freshsales load side, large patient databases with 20+ custom fields per record can hit rate-limit 429 errors during the migration run if your plan's ceiling is lower than the record volume. We pace API calls and re-queue on 429 responses, but the cutover window extends proportionally. We surface the expected load duration against your plan's rate limit in the pre-flight report so there are no surprises at go-live.

  • The Dental System export method determines migration sequencing and cost

    The Dental System is an older-generation practice management platform — not all editions expose a REST API for programmatic export. Many practices on this platform rely on CSV exports from the built-in reporting module, and some data (clinical notes, x-ray attachments) may require manual export steps. FlitStack handles both API pull and structured CSV import, but CSV-only exports affect how we sequence relationships: patient demographics export separately from appointment history, which means the migration sequencing plan (demographics → clinical notes → attachments) must be confirmed with your team before the run. We include an export-assistance guide with The Dental System screenshots in the pre-migration kickoff.

Migration approach

Six steps for a successful The Dental System to Freshsales data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Context on both ends of the pair

The Dental System logo

The Dental System

Source

Strengths

  • Covers core dental practice workflows including scheduling, charting, and billing in one system
  • Patient record structure aligns with standard dental data conventions (CDT codes, insurance carriers)
  • Supports document attachments linked to patient records
  • Includes basic reporting for production and collections
  • Practice configuration is stored at the location level, making scoping straightforward

Weaknesses

  • No publicly documented API limits direct integrations and automated migration tooling
  • Limited public information on custom object schema and field-level definitions
  • Pricing and feature tiers are not publicly published, requiring direct inquiry
  • Smaller market footprint means fewer third-party migration resources and community references
  • No published rate-limit or bulk-export documentation found in research
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 The Dental System and Freshsales.

  • Object compatibility

    B

    2 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

    The Dental System: Not publicly documented.

  • Data volume sensitivity

    B

    The Dental System doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your The Dental System to Freshsales 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 The Dental System to Freshsales data migrations

Answers to the questions buyers ask most during The Dental System to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most The Dental System to Freshsales migrations complete in 48–72 hours for practices with fewer than 10,000 patient records. The longest step is typically the pre-flight export review from The Dental System — confirming which data is accessible via API versus CSV. Larger practices with 50,000+ records, multiple locations, or more than 30 custom clinical fields extend to 7–14 days. The Freshsales API rate limit on your plan (1,000/hour on Growth, 2,000/hour on Pro, 5,000/hour on Enterprise) determines how fast records load during the cutover window.

Adjacent paths

Related migrations to explore

Ready when you are

Move from The Dental System.
Land in Freshsales, 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