CRM migration

Migrate from Dentally to Freshsales

Field-level mapping, validation, and rollback between Dentally and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

Dentally logo

Dentally

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

12 of 12

objects map 1:1 between Dentally and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Dentally logo

Dentally

What's pushing teams away

  • Multi-site practices report hitting API rate limit ceilings that are not publicly documented and require raising a support ticket to negotiate higher thresholds.
  • Tier-gated advanced features such as full imaging integration and enhanced NHS workflows push growing practices toward the highest pricing tier sooner than expected.
  • Limited public API documentation makes it difficult to scope custom integrations or assess data portability before committing to the platform.
  • Dentally's own migration team manages inbound data transfers, meaning practices cannot self-service an export or cross-check their data independently.
  • Smaller practices on the starter tier report that the 5-user cap becomes restrictive as the team grows, creating pressure to upgrade before the software justifies the cost.

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 Dentally objects map to Freshsales

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

maps to

Freshsales

Contact

1:1
Fully supported

Dentally 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

maps to

Freshsales

Account

1:1
Fully supported

When 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

maps to

Freshsales

Sales Activity (Task/Event)

1:1
Fully supported

Dentally 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

maps to

Freshsales

Deal

1:1
Fully supported

Dentally 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

maps to

Freshsales

Deal Product

1:1
Fully supported

Individual 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

maps to

Freshsales

Deal + Account

1:1
Fully supported

Dentally 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

maps to

Freshsales

Note

1:1
Fully supported

Dentally 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

maps to

Freshsales

File

1:1
Fully supported

Dentally 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)

maps to

Freshsales

Custom Field (Contact)

1:1
Fully supported

Dentally 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

maps to

Freshsales

User

1:1
Fully supported

Dentally 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

maps to

Freshsales

Workflow

1:1
Fully supported

Dentally 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

maps to

Freshsales

Deal Stage

1:1
Fully supported

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

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.

Dentally logo

Dentally gotchas

High

API rate limits are undocumented and require a support request

High

Dentally manages inbound migrations rather than offering self-service export

Medium

Final migration runs the day before go-live, leaving a narrow correction window

Medium

Dentally Vision imaging requires separate product setup

Low

Tier-gated features may be inactive in the migrated environment

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

  • Dentally recall and appointment automations cannot migrate to Freshsales

    Dentally recall reminders (e.g., 6-month hygiene recall) and automated appointment confirmations are scheduling-layer constructs that have no Freshsales equivalent. Freshsales has no native appointment book or recall scheduler — these must be rebuilt as Freshsales Workflows using Contact custom date fields (Recall_Date__c) as triggers, or via the Freshworks ecosystem (e.g., Freshdesk for service-side recall tickets). FlitStack exports your Dentally recall rules as a plain-language reference document so your Freshsales admin can rebuild them. This is not a data-loss risk but a process-rebuild requirement that must be budgeted separately.

  • Multi-site Dentally accounts require pre-migration consolidation planning

    Dental groups running separate Dentally accounts per practice site end up with multiple isolated databases. Freshsales has one org per group, so the migration engineer must decide whether to consolidate all sites into one Freshsales Account hierarchy or create separate Freshsales accounts per site. The decision affects how Contact-to-Account linking works, how Deal ownership is scoped, and whether territory management in Freshsales Pro/Enterprise applies. We deliver a consolidation map before migration runs so the group admin can validate the structure.

  • Freshsales does not support clinical imaging or chart notes as native records

    Dentally stores X-rays, intraoral photos, and tooth-chart data as patient attachments and clinical notes. Freshsales Files support document uploads but cannot render DICOM imaging formats or display tooth-chart visualizations natively. We migrate clinical attachments as Files and clinical notes as Notes — they are preserved and searchable, but viewing requires the original file format and a clinical viewing tool. If clinical image review is mission-critical post-migration, a separate clinical viewing tool integration is required.

  • Dentally treatment plan products must pre-exist in Freshsales Product Catalog

    Dentally procedure items (e.g., 'Composite Filling - Surface 1', 'Root Canal - Molar') need to exist as Freshsales Products before deal line items can import. If Dentally contains 200 or more distinct procedure codes, your Freshsales admin must bulk-create those Products before migration day. FlitStack generates a Product import CSV from your Dentally fee schedule so the admin can upload in one step rather than creating each product manually.

  • Freshsales Contact Lifecycle Stages are not Dentally patient statuses

    Dentally patient status (Active, Inactive, Archived) and recall eligibility are practice operations concepts reflecting clinical workflow. Freshsales Contact Lifecycle Stages (Subscriber, Lead, MQL, SQL, Customer, Evangelist) are marketing-automation concepts reflecting the buyer journey. We map Active patients to Customer stage and inactive or archived to a custom stage, but the semantic meaning differs between systems. Review Freshsales Lifecycle Stage documentation before accepting the default mapping so the marketing team understands what each stage means in their CRM context.

Migration approach

Six steps for a successful Dentally to Freshsales data migration

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

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

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

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

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

Context on both ends of the pair

Dentally logo

Dentally

Source

Strengths

  • Strong UK market presence with over 12,000 subscribed practices providing peer credibility and local support networks.
  • Consolidates appointment scheduling, clinical records, NHS referrals, and payments in a single cloud-based platform without on-premise hardware.
  • Native integrations with Xero, DenGro, and NHS e-referrals reduce the need for middleware or manual data re-entry.
  • Patient-facing Dentally Portal and integrated Dentally Vision imaging add capability without requiring separate vendor contracts.

Weaknesses

  • API rate limits are not publicly documented and practices with multi-site or high-volume integrations report needing to request increases through support.
  • Public API documentation is limited, making custom development and third-party integration scoping difficult before commitment.
  • Advanced features including full imaging and enhanced NHS workflows are gated behind higher pricing tiers, increasing cost as practices grow.
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 Dentally 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

    Dentally: Not publicly documented; practices requiring higher limits must request them via Dentally support.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Dentally 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 Dentally to Freshsales data migrations

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

Can't find your answer?

Walk through your Dentally to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Dentally-to-Freshsales migrations complete in 48-72 hours of clock time for practices with under 50,000 patient records. Multi-site dental groups with 50,000+ records or complex custom field schemas extend to 5-7 days. The longest planning step is creating the Freshsales custom fields and Product Catalog before migration day — allow 3-5 business days for your admin to set those up based on our setup plan.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dentally.
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