CRM migration
Field-level mapping, validation, and rollback between Dentally and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Dentally
Source
Freshsales
Destination
Compatibility
12 of 12
objects map 1:1 between Dentally and Freshsales.
Complexity
BStandard
Timeline
48–72 hours
Overview
Dentally stores dental-practice data — patients, clinical notes, appointment schedules, treatment plans, and billing records — in a schema optimized for clinical workflows. Freshsales uses a standard CRM object model: Leads, Contacts, Accounts, Deals, and Products with deal pipelines. FlitStack AI maps Dentally patient records to Freshsales Contacts (linked to Accounts representing households or practices), appointment timestamps to Sales Activity records, treatment plan line items to Deal Products, and Dentally custom fields on patients to Freshsales custom fields on Contacts. Clinical notes and clinical attachments are preserved as Notes and Files in Freshsales. Because Dentally has no native deal or pipeline concept, the migration creates a Freshsales pipeline from scratch based on your treatment-plan stages or a standard sales cycle. We do not migrate appointment-booking automations or recall workflows — those are Dentally scheduling constructs with no Freshsales equivalent and must be rebuilt using Freshsales Workflows post-migration. The migration read-only access to Dentally means your practice team continues working uninterrupted during the migration window, and a delta-pickup window captures final changes before go-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 Dentally 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.
Dentally
Patient
Freshsales
Contact
1:1Dentally patient records map directly to Freshsales Contacts. Each patient becomes one Contact with name, date of birth, contact details, and address fields migrated. Households or family units can be linked via Freshsales Account records representing the family unit. Patient-level custom fields from Dentally are recreated as Freshsales custom fields on the Contact object before migration.
Dentally
Patient Household
Freshsales
Account
1:1When Dentally tracks family relationships such as head of household linked to dependents, these map to Freshsales Account records representing the family unit. The Account stores the household name and primary contact details while individual Contact records represent each family member within that Account hierarchy.
Dentally
Appointment
Freshsales
Sales Activity (Task/Event)
1:1Dentally appointments map to Freshsales Sales Activities with datetime, duration, practitioner, and appointment type (check-up, hygiene, procedure) becoming Task or Event fields. Each activity links to the Contact record for the patient. Freshsales Tasks use due dates rather than a calendar grid, so appointment timing is preserved as activity metadata.
Dentally
Treatment Plan
Freshsales
Deal
1:1Dentally treatment plans map to Freshsales Deals. The plan total amount becomes the Deal amount, plan status (Proposed, Accepted, Completed) maps to Deal stage, and the plan created date becomes the Deal created date. Dentally plan notes migrate as Deal description.
Dentally
Treatment Plan Line Item
Freshsales
Deal Product
1:1Individual procedures within a Dentally treatment plan (e.g., filling, crown, extraction) map to Freshsales Deal Products. Each line item includes the procedure name, fee, and quantity. Products must exist in Freshsales Product Catalog first.
Dentally
Invoice
Freshsales
Deal + Account
1:1Dentally invoices map to Freshsales Deals with payment status tracked via custom fields. Billed amount becomes Deal amount, outstanding balance becomes a custom currency field, and payment date updates the Deal stage. Freshsales does not have native invoicing — consider Freshsales Suite for billing add-ons.
Dentally
Clinical Note
Freshsales
Note
1:1Dentally clinical notes including chart notes and medical history summaries migrate as Freshsales Notes linked to the Contact record. Rich-text formatting is preserved where Dentally supports it. Clinical notes serve as reference documentation in Freshsales — the platform cannot execute clinical workflows based on this data.
Dentally
Patient Attachment
Freshsales
File
1:1Dentally file attachments including X-rays, consent forms, and intraoral imaging are re-uploaded to Freshsales Files attached to the Contact record. Files exceeding the Freshsales 25MB per-file limit are flagged for chunked upload or alternative storage solutions. Clinical imaging formats are preserved as-is during transfer.
Dentally
Custom Field (Patient)
Freshsales
Custom Field (Contact)
1:1Dentally custom fields on patient records (e.g., recall preference, insurance provider, referral source) require corresponding custom fields to be created in Freshsales on the Contact object before migration. Field type matching (text, dropdown, checkbox, date) is done during the mapping phase.
Dentally
Practitioner/User
Freshsales
User
1:1Dentally practitioners and staff users map to Freshsales Users via email address matching. The pre-migration process runs a lookup comparing Dentally practitioner emails against existing Freshsales user emails. Any practitioners without a Freshsales user match are flagged in a resolution report for admin provisioning before migration runs, ensuring all Deals and Activities have an assigned owner.
Dentally
Appointment Reminder/Recall
Freshsales
Workflow
1:1Dentally recall reminders and appointment confirmation automations have no Freshsales equivalent. These must be rebuilt as Freshsales Workflows using Contact Lifecycle Stages or custom date fields as triggers. FlitStack exports the Dentally recall rules as documentation for your Freshsales admin.
Dentally
Treatment Stage/Status
Freshsales
Deal Stage
1:1Dentally treatment plan status values (e.g., Proposed, Accepted, In Progress, Completed, Cancelled) map to Freshsales Deal Stage pick-list values. The mapping is value-by-value for each status in Dentally. Custom stage names in Freshsales must be created before migration begins, and the stage order should reflect your practice workflow from initial proposal through completion.
| Dentally | Freshsales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient Household | Account1:1 | Fully supported | |
| Appointment | Sales Activity (Task/Event)1:1 | Fully supported | |
| Treatment Plan | Deal1:1 | Fully supported | |
| Treatment Plan Line Item | Deal Product1:1 | Fully supported | |
| Invoice | Deal + Account1:1 | Fully supported | |
| Clinical Note | Note1:1 | Fully supported | |
| Patient Attachment | File1:1 | Fully supported | |
| Custom Field (Patient) | Custom Field (Contact)1:1 | Fully supported | |
| Practitioner/User | User1:1 | Fully supported | |
| Appointment Reminder/Recall | Workflow1:1 | Fully supported | |
| Treatment Stage/Status | Deal Stage1: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.
Dentally gotchas
API rate limits are undocumented and require a support request
Dentally manages inbound migrations rather than offering self-service export
Final migration runs the day before go-live, leaving a narrow correction window
Dentally Vision imaging requires separate product setup
Tier-gated features may be inactive in the migrated environment
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
Audit Dentally data model and extract patient record export
FlitStack connects to the Dentally API using scoped read access to enumerate all patient records, custom field definitions, treatment plan templates, practitioner accounts, and appointment history. We generate a data audit report listing record counts per object, custom field names and types, and attachment file sizes. This audit identifies which Dentally data has a Freshsales equivalent and which requires custom field creation or a no-equivalent flag.
Design Freshsales schema: objects, fields, pipelines, and products
Based on the audit, FlitStack delivers a Freshsales setup plan: which Contact custom fields to create, how to structure the Account hierarchy (household model or single Account per patient), how many Freshsales Deal pipelines to create, and how Dentally treatment plan stages map to Deal stages. The plan also includes the Product Catalog CSV generated from the Dentally fee schedule. Your Freshsales admin creates the schema elements before data migration begins.
Resolve practitioners to Freshsales users by email match
Dentally practitioner and staff accounts are matched to Freshsales users by email address. FlitStack runs a pre-flight check: any Dentally practitioner whose email does not match an existing Freshsales user is flagged in a resolution report. Your admin either creates the Freshsales user first or assigns those records to a fallback owner. No Deal or Activity migrates without an owner assigned.
Run sample migration with field-level diff on 100-500 records
FlitStack migrates a representative slice — typically 100-500 records spanning patients, appointments, treatment plans, and a few activities — and generates a field-level diff comparing Dentally source values to Freshsales destination values. You review the diff to verify custom field mapping, lifecycle stage assignment, Deal stage mapping, and product line item linkage. Approval of the sample unlocks the full migration run.
Execute full migration with delta-pickup window and audit log
Full migration runs against Freshsales using the Bulk API for high-volume record creation. A delta-pickup window (24-48 hours) captures any new or modified Dentally records during the cutover period. FlitStack generates an audit log listing every record created, updated, or skipped with reasons. One-click rollback reverts the Freshsales org to its pre-migration state if reconciliation fails. After rollback, a remediation cycle corrects the issue and migration re-runs.
Platform deep dives
Dentally
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 Dentally 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
Dentally: Not publicly documented; practices requiring higher limits must request them via Dentally support.
Data volume sensitivity
Dentally 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 Dentally to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Dentally 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 Dentally
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.