CRM migration
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
Source
Nutshell
Destination
Compatibility
10 of 10
objects map 1:1 between The Dental System and Nutshell.
Complexity
BStandard
Timeline
24–48 hours
Overview
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.
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 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
Nutshell
Contact (Person)
1:1The 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
Nutshell
Contact (Person) — custom insurance fields
1:1Insurance 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
Nutshell
Event
1:1Appointments 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
Nutshell
Note / Custom fields on Contact
1:1Treatment 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
Nutshell
Nutshell User (owner resolution)
1:1Nutshell 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
Nutshell
Task
1:1The 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
Nutshell
Custom field on Contact
1:1Many 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
Nutshell
Attachment (compliance-flagged)
1:1The 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
Nutshell
Custom fields on Contact (Person)
1:1The 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
Nutshell
Account (Company)
1:1For 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.
| The Dental System | Nutshell | Compatibility | |
|---|---|---|---|
| Patient | Contact (Person)1:1 | Fully supported | |
| Patient.insurance | Contact (Person) — custom insurance fields1:1 | Fully supported | |
| Appointment | Event1:1 | Fully supported | |
| Treatment Plan | Note / Custom fields on Contact1:1 | Fully supported | |
| Provider / Doctor | Nutshell User (owner resolution)1:1 | Fully supported | |
| Recall | Task1:1 | Fully supported | |
| Referral Source | Custom field on Contact1:1 | Fully supported | |
| Clinical Notes / Medical History | Attachment (compliance-flagged)1:1 | Fully supported | |
| Custom Patient Properties | Custom fields on Contact (Person)1:1 | Fully supported | |
| Practice / Clinic | Account (Company)1: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
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
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.
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.
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.
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
The Dental System
Source
Strengths
Weaknesses
Nutshell
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 Nutshell.
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 Nutshell migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave The Dental System
Other ways to arrive at Nutshell
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.