CRM migration

Migrate from The Dental System to Nutshell

Field-level mapping, validation, and rollback between The Dental System and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.

The Dental System logo

The Dental System

Source

Nutshell

Destination

Nutshell logo

Compatibility

100%

10 of 10

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

Complexity

BStandard

Timeline

24–48 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

The Dental System is a dental practice management platform centered on patient records, clinical appointments, treatment plans, insurance tracking, and provider schedules. Nutshell CRM organizes data around Contacts (People), Accounts (Companies), Leads, and Deals, with Events for activities and custom fields for extension. These are structurally different data models: The Dental System stores appointments under providers and links treatment plans directly to patient records, while Nutshell requires Contacts to resolve through an AccountId lookup and Events to carry an ownerId. FlitStack AI sequences the migration so that Contacts and Accounts resolve first, then Events and Notes attach to the correct records by email-matched owners. Custom fields for insurance carrier, policy number, group number, treatment plan procedure codes, ADA codes, and tooth numbers are created on Nutshell's Person (Contact) object before data lands. A sample migration with field-level diff runs first to surface any data-quality issues in patient records, provider email gaps, or appointment-owner mismatches. One-click rollback and a 24–48h delta-pickup window are included so the practice can cut over without losing any appointments modified after the initial export.

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

Nutshell logo

Nutshell

What's pulling them in

  • Lowest cost entry point among mid-market CRMs—Foundation plan starts at $13/user/month, making it accessible for teams validating CRM fit before committing.
  • Integrated sales automation and email sequencing on Pro plans without requiring a separate email marketing platform, per verified Capterra reviews.
  • Consistently praised for intuitive interface and fast onboarding, with case studies reporting 100% team adoption rates within initial deployment periods.
  • Strong customer support responsiveness cited across G2 reviews, with dedicated support tiers available on Enterprise plans.
  • Native integrations with WhatsApp, Facebook Messenger, Instagram, and Slack reduce reliance on third-party middleware for common communication channels.

Object mapping

How The Dental System objects map to Nutshell

Each row shows how a The Dental System object lands in Nutshell, 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

maps to

Nutshell

Contact (Person)

1:1
Fully supported

The Dental System patient records map to Nutshell People (Contacts). The patient's name, email, phone, address, and date of birth transfer directly. Since Nutshell People require an AccountId for full functionality, a primary Account is created from the practice name or the patient's employer — or a default 'Individual' account is used when no company association exists.

The Dental System

Patient.insurance

maps to

Nutshell

Contact (Person) — custom insurance fields

1:1
Fully supported

Insurance carrier, policy number, group number, subscriber relationship, subscriber name, effective date, and termination date have no native Nutshell equivalent. We create custom Person fields (Insurance_Carrier__c, Policy_Number__c, Group_Number__c, Subscriber_Relationship__c) before migration so each contact carries their coverage details. During migration, insurance values populate these fields directly on the patient Contact, and any insurance record lacking a corresponding patient is flagged for manual review before the full run commits.

The Dental System

Appointment

maps to

Nutshell

Event

1:1
Fully supported

Appointments in The Dental System carry a date, time, duration, type, provider, and operatory. These map to Nutshell Events with the same start and end timestamps, subject from the appointment type (e.g., 'Comprehensive Exam', 'Root Canal'), and owner set to the Nutshell user matched by provider email. Nutshell Events require an ownerId — unmapped providers are flagged before migration so the practice can create their Nutshell user accounts in advance.

The Dental System

Treatment Plan

maps to

Nutshell

Note / Custom fields on Contact

1:1
Fully supported

Treatment plans in The Dental System bundle multiple procedures with ADA codes, tooth numbers, surfaces, fees, and a status (proposed, accepted, completed). We split this into two migration targets: plan-level fields (plan name, status, total fee, provider notes) migrate as custom fields on the Contact; procedure-level line items (ADA code, description, tooth, surface, fee) migrate as a structured Note attached to the contact so the full treatment outline is preserved and readable in Nutshell.

The Dental System

Provider / Doctor

maps to

Nutshell

Nutshell User (owner resolution)

1:1
Fully supported

Nutshell does not have a native Doctor or Provider object. The Dental System's provider records are resolved by email match against Nutshell users — if a provider has a Nutshell login, their contacts and events receive their userId as owner. If no match exists, records are assigned to a fallback owner (typically the admin) and flagged for post-migration reassignment.

The Dental System

Recall

maps to

Nutshell

Task

1:1
Fully supported

The Dental System recall records (next appointment due date, recall type, provider assigned) map to Nutshell Tasks attached to the patient Contact. The task subject carries the recall type (e.g., '6-Month Hygiene Recall'), the due date maps from the recall date, and the assigned Nutshell user is resolved from the provider's email.

The Dental System

Referral Source

maps to

Nutshell

Custom field on Contact

1:1
Fully supported

Many dental practices track where patients came from (referral, external campaign, walk-in, etc.). The Dental System stores this in a patient property or note. We create a Referral_Source__c custom pick-list field on the Nutshell Person object and map the existing values so the practice retains referral analytics in Nutshell reporting.

The Dental System

Clinical Notes / Medical History

maps to

Nutshell

Attachment (compliance-flagged)

1:1
Fully supported

The Dental System may store periodontal chart data, medical history flags, and clinical treatment notes that are sensitive under HIPAA and inappropriate for a standard CRM field. These are exported as attachments and linked to the patient contact with a HIPAA_Compliance_Flag__c note. The practice admin reviews and decides whether to retain, remove, or move these to a compliant EHR system. This is disclosed upfront and is never migrated into a free-text CRM field without flagging.

The Dental System

Custom Patient Properties

maps to

Nutshell

Custom fields on Contact (Person)

1:1
Fully supported

The Dental System allows custom properties on patient records beyond the standard fields. Each custom property is evaluated by type — text, number, date, pick-list — and a corresponding Nutshell Person custom field is created before migration. Pick-list custom properties require value-by-value mapping when the options differ between systems.

The Dental System

Practice / Clinic

maps to

Nutshell

Account (Company)

1:1
Fully supported

For multi-location dental practices, The Dental System stores a clinic or practice record with name, address, and phone. These map to Nutshell Accounts (Companies) and become the primary account for all patients associated with that location. Each Account in Nutshell carries the practice name, phone, and full address, enabling patient-to-location grouping and location-based reporting across the practice's patient roster.

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

Nutshell logo

Nutshell gotchas

High

Contact tier limits enforced on import

Medium

No bulk API endpoint requires paginated extraction

Medium

Email sequences not exportable via API

Medium

Foundation plan disables key sales features

Pair-specific challenges

  • Clinical notes cannot migrate into free-text CRM fields without a compliance flag

    The Dental System stores periodontal chart data, medical history flags, and clinical treatment notes that are sensitive under HIPAA. Nutshell is a standard CRM without a HIPAA-compliant clinical notes module. FlitStack AI exports clinical notes as attachments on the patient Contact and sets a HIPAA_Compliance_Flag__c custom field to 'Review Required.' The practice admin reviews these attachments post-migration and decides whether to retain, remove, or move them to a compliant EHR system. This is disclosed upfront — clinical notes are never silently dropped, but they also never land in an unflagged free-text CRM field.

  • Appointment-owner resolution requires provider email match or a fallback

    Nutshell Events require an ownerId field — the appointment does not land without one. The Dental System appointments are assigned to a Provider or Doctor record. If that provider has not been created as a Nutshell user with a matching email address, the appointment gets a placeholder owner (typically the admin) and the record is flagged. We surface all unresolved provider-to-user mappings before migration so the practice can create Nutshell user accounts for every provider before data lands. This is the most common cause of delayed cutover on dental migrations.

  • Treatment plan multi-procedure bundling collapses into Notes and custom fields

    A single The Dental System treatment plan can contain 5–20 procedure line items (ADA codes, tooth numbers, surfaces, individual fees). Nutshell has no native treatment plan object — there is no standard way to represent a multi-row treatment plan as a structured set of Opportunity products. FlitStack AI maps the plan-level summary (name, total fee, status) to custom Contact fields and stores the procedure line items as a structured Note body attached to the Contact. The practice should verify this representation meets their needs during the sample migration review before the full run commits.

  • Nutshell API rate limits affect large find queries but not add/edit operations

    Nutshell's JSON-RPC API rate-limits find requests (getLeads, findPeople) when responses are non-stub. Add and edit requests are not rate-limited. For large patient databases, FlitStack AI batches find queries using stub responses for pagination, then retrieves full record detail in subsequent calls within rate-limit windows. The migration timeline accounts for this batching strategy — practices with 50,000+ patient records see longer export phases than the timeline estimate suggests if the API requires backoff between large pages.

  • Inactive patients with no email cannot become active Nutshell Contacts without a data-enrichment step

    The Dental System may contain patient records with no email address — these are common for inactive patients or records created before digital intake was standard. Nutshell Contacts with no email cannot receive email sequences, tasks, or Nutshell Engagement features, though they can exist as records. FlitStack AI flags all email-less contacts before migration and can optionally enrich them via a third-party data provider. The practice chooses whether to enrich, leave them as-is, or suppress them from the migration.

Migration approach

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

  1. Audit source data and profile record volume

    FlitStack AI connects to The Dental System API with read-only credentials and pulls a full data inventory: patient count, appointment volume by provider, treatment plan count, insurance record count, and custom property definitions with their field types. This audit identifies duplicate patient records, patients with no email address, providers without email addresses, and any large binary attachments (clinical images, radiographs) that require separate handling. The audit output shapes the field mapping plan and the migration quote before any data moves.

  2. Create Nutshell custom fields and resolve owners

    Before migration, FlitStack AI creates all required custom fields in Nutshell on the Person, Account, and Lead objects: Insurance_Carrier__c, Policy_Number__c, Group_Number__c, Subscriber_Relationship__c, Treatment_Plan_Name__c, Treatment_Plan_Status__c, Treatment_Plan_Total_Fee__c, Referral_Source__c, HIPAA_Compliance_Flag__c, Original_Create_Date__c, Last_Modified_Source__c, and Source_System_ID__c. In parallel, the owner-resolution step matches The Dental System provider emails to existing Nutshell users — any provider without a match is flagged so the practice can create their Nutshell user before the migration run.

  3. Run sample migration with field-level diff

    A representative slice of 200–500 records migrates first — spanning patients, appointments, treatment plans, and insurance records. FlitStack AI generates a field-level diff comparing source values against the destination Nutshell records, checking that names are correctly mapped, custom field values land without truncation, Event ownerIds resolve correctly, and Note bodies contain the full treatment plan structure. The diff is reviewed with the practice before the full run commits.

  4. Execute full migration with delta-pickup window

    The full migration runs against Nutshell's API in sequenced batches: Accounts (practices) first, then Contacts (patients) with AccountId links resolved, then Events (appointments) with ownerId assigned, then Notes and Tasks. A delta-pickup window of 24–48 hours captures any records created or modified in The Dental System after the initial export. An audit log records every operation, and a reconciliation report compares source record counts against destination record counts. One-click rollback is available if the count reconciliation reveals discrepancies.

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
Nutshell logo

Nutshell

Destination

Strengths

  • Simple, intuitive interface with minimal learning curve for sales teams new to CRM
  • Per-seat pricing is transparent and predictable, with annual billing reducing monthly cost
  • Full data export tool available for all account data including backups
  • Open JSON-RPC API allows programmatic access to all core objects
  • Native multichannel engagement (email, SMS, WhatsApp) without third-party add-ons for communication

Weaknesses

  • Reporting and analytics are considered weak, requiring manual Excel exports for detailed analysis
  • No bulk API endpoint—migration requires paginated API reads that must be rate-limited carefully
  • JSON-RPC API is less common than REST, requiring custom integration code compared to standard REST CRMs
  • Add-on costs (Forms, Nutshell IQ, Email Marketing) are per-company charges that stack on top of per-seat pricing
  • Feature restrictions on entry-level plans mean teams often need mid-tier to get basic automation

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

  • 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 Nutshell 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 Nutshell data migrations

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

Can't find your answer?

Walk through your The Dental System to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most dental practice migrations complete in 24–48 hours for under 10,000 patient records. Larger practices with 50,000+ patient records, multiple treatment plan custom properties per patient, and many inactive records to resolve extend to 5–10 days. The longest planning step is owner resolution — ensuring every provider in The Dental System has a matching Nutshell user account — which the practice completes before the migration run.

Adjacent paths

Related migrations to explore

Ready when you are

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