CRM migration

Migrate from Visual Practice to Nutshell

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

Visual Practice logo

Visual Practice

Source

Nutshell

Destination

Nutshell logo

Compatibility

100%

11 of 11

objects map 1:1 between Visual Practice and Nutshell.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Visual Practice stores CRM data in a proprietary object model optimized for healthcare-adjacent practices: people with contact records, organizations with hierarchical structures, deals tied to pipeline stages, and a lead management queue. Nutshell CRM models the same entities as Person, Organization, Deal, and Lead with its own field-naming conventions, pick-list values, and activity threading. The migration carries all standard objects, custom fields, activity history (calls, emails, notes, meetings), and file attachments into Nutshell's JSON-RPC API using type-aware field mapping. The key divergences are: Visual Practice's deal-stage statuses require value-by-value mapping to Nutshell's deal status pick-list; Visual Practice owner assignments resolve by email match to Nutshell user accounts; and any Visual Practice custom fields that have no Nutshell equivalent are created as custom fields on the appropriate Nutshell object before migration. FlitStack sequences the migration in dependency order — organizations first, then people, then leads and deals — so foreign-key relationships resolve correctly in Nutshell. Workflows, automation rules, email templates, and integration connections do not migrate and must be rebuilt in Nutshell.

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

Visual Practice logo

Visual Practice

What's pushing teams away

  • Pricing is sales-led with no public tier table, making procurement comparison against mainstream dental PMS (Dentrix, Eaglesoft, Open Dental) opaque.
  • Limited public review and community footprint outside dental marketplace listings.
  • API documentation is not publicly published, limiting custom integration options without vendor engagement.
  • Imaging modality coverage requires confirmation per practice — not all 3D scanners, intraoral sensors, and X-ray sources may have native bridges.
  • Cloud-native architecture may not suit practices with strict on-premise data residency requirements (less common in dentistry but exists in some jurisdictions).

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 Visual Practice objects map to Nutshell

Each row shows how a Visual Practice 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.

Visual Practice

Person

maps to

Nutshell

Person

1:1
Fully supported

Direct 1:1 map. Visual Practice person records migrate to Nutshell Person objects. The email field is the unique identifier — FlitStack uses it to detect duplicates and skip re-importing records that already exist in Nutshell. The mapping also preserves original create timestamps and owner assignments for each person record.

Visual Practice

Organization

maps to

Nutshell

Organization

1:1
Fully supported

Direct 1:1 map. Visual Practice organization records migrate to Nutshell Organization objects. Parent-child organization hierarchies in Visual Practice are preserved using Nutshell's parent Organization lookup if the destination schema has been configured for hierarchical orgs. This ensures that organizational relationships are maintained and reporting structures remain intact after migration.

Visual Practice

Person.organization_link

maps to

Nutshell

Person.organization_id

1:1
Fully supported

Visual Practice embeds the company reference on the person record. In Nutshell, persons link to organizations via a separate PersonLink object (Person.organization_id lookup). FlitStack resolves the organization ID first, then writes the person record with the correct lookup ID. The process also validates that the resolved organization exists before linking to avoid orphaned references.

Visual Practice

Lead

maps to

Nutshell

Lead

1:1
Fully supported

Direct 1:1 map. Visual Practice leads migrate to Nutshell Leads. Status values (New, Contacted, Qualified, Unqualified) map to Nutshell's Lead status pick-list (New, Working, Bad) using a value-mapping table delivered in the migration plan. This mapping ensures that lead routing and follow-up workflows can be replicated accurately in Nutshell after the data transfer.

Visual Practice

Deal

maps to

Nutshell

Deal

1:1
Fully supported

Visual Practice deals map to Nutshell Deals. Nutshell does not use a multi-stage pipeline model — the source deal stage (Prospecting, Proposal, Negotiation) maps to a custom deal stage field that Nutshell admins configure as a pick-list on the Deal object.

Visual Practice

Deal.amount

maps to

Nutshell

Deal.value

1:1
Fully supported

Direct map. Numeric deal value migrates to Nutshell Deal.value as a currency field. If Visual Practice stores value in a non-USD currency, FlitStack applies the exchange rate at migration time as a transformation step. The converted amount appears in the target Deal.value field, preserving historical deal size information for reporting and forecasting.

Visual Practice

Activity (Call / Email / Meeting / Note)

maps to

Nutshell

Activity

1:1
Fully supported

Visual Practice activities (calls, emails, meetings, notes) migrate to Nutshell Activities linked to the corresponding Person or Organization record. Original timestamps, activity type, duration, and owner are preserved in the migration. This ensures that the full communication history is available for follow-ups and audit trails in Nutshell.

Visual Practice

Attachment / File

maps to

Nutshell

File Attachment

1:1
Fully supported

Visual Practice file attachments on person, organization, or deal records are re-uploaded to Nutshell's file storage and linked back to the target record. Nutshell's file size limits apply — files exceeding the limit are flagged before the migration runs. The team can choose to exclude oversized files or host them externally to stay within Nutshell's storage constraints.

Visual Practice

Custom Field (Person-level)

maps to

Nutshell

Person Custom Field

1:1
Fully supported

Visual Practice custom fields on Person records that have no direct Nutshell equivalent are created as custom fields on the Nutshell Person object before migration. FlitStack delivers a custom field creation plan specifying field name, type, and pick-list options. This plan also includes validation rules and default values to maintain data consistency after import.

Visual Practice

Custom Field (Deal-level)

maps to

Nutshell

Deal Custom Field

1:1
Fully supported

Visual Practice deal-level custom fields (internal order numbers, custom priorities, deal sources) are created as custom fields on the Nutshell Deal object. Nutshell's allowed custom field types (Text, Number, Date, Choice, Checkbox) guide which type is used per field. Each custom field is also reviewed for pick-list options and any dependencies on other fields to ensure proper functionality after migration.

Visual Practice

Owner / User

maps to

Nutshell

Nutshell User

1:1
Fully supported

Visual Practice owner assignments on records resolve by email match against Nutshell user accounts. Unmatched owners are flagged before migration — the team either creates Nutshell accounts for them or assigns records to a fallback user. No record lands without a valid Nutshell owner.

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.

Visual Practice logo

Visual Practice gotchas

High

Clinical imaging files require coordinated binary extraction

High

Electronic claims data has retention and HIPAA constraints

Medium

Specialty module data varies by deployment

Medium

Integrations with imaging hardware require per-device confirmation

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

  • Nutshell has no multi-stage deal pipeline — deal stages require a custom field

    Visual Practice models deals with a multi-stage pipeline (Prospecting, Qualification, Proposal, Negotiation, Closed Won/Lost). Nutshell stores a flat deal status (Open, Won, Lost) without stage-sequence tracking. FlitStack maps each Visual Practice deal stage to a custom pick-list field (Deal_Stage__c) on the Nutshell Deal object. Before migration, the Nutshell admin must create this custom field and define its pick-list values to match the source pipeline stages. Probability values from Visual Practice also need a custom field since Nutshell does not store probability natively on deals.

  • Lead status value mapping requires manual pick-list configuration in Nutshell

    Visual Practice lead status values (New, Contacted, Qualified, Unqualified) do not match Nutshell's Lead status pick-list (New, Working, Bad). FlitStack creates a value-mapping table that routes each Visual Practice value to the closest Nutshell equivalent — for example, Visual Practice 'Qualified' maps to Nutshell 'Working'. Nutshell's Lead status field is a standard pick-list with no custom options UI for non-admin users; a Nutshell admin must add the pick-list values to the Lead status field in Settings before the migration runs, or FlitStack creates them via the API.

  • Person-to-Organization links require org records to migrate first

    Visual Practice stores the organization reference as a field on the person record. Nutshell separates persons and organizations into distinct objects linked by a PersonLink (person.organization_id lookup). FlitStack sequences the migration so all organizations migrate first, then all persons — this ensures the organization_id lookup resolves for every person record. Circular or orphaned organization references (persons linked to organizations that were deleted in Visual Practice) are flagged in the pre-migration audit and assigned to a default 'Unknown Organization' placeholder.

  • Custom field types in Nutshell are more limited than in Visual Practice

    Visual Practice custom fields support text, number, currency, date, date-time, checkbox, pick-list, multi-select pick-list, and formula fields. Nutshell's custom field types are more constrained: Text, Number, Date, Choice (single-select pick-list), and Checkbox. Visual Practice multi-select pick-list fields, currency fields, and formula fields that have no direct Nutshell type are converted to the closest available type — multi-select becomes a text field with comma-separated values; currency migrates as a number field; formula fields migrate their last-calculated value as a read-only number field.

  • File attachments inherit Nutshell's file size limits at migration time

    Visual Practice file attachments of any size attached to persons, organizations, deals, or leads are re-uploaded to Nutshell's file storage during migration. Nutshell enforces file size limits that may be lower than the attachments stored in Visual Practice. FlitStack scans all attachments before migration, flags any file that exceeds Nutshell's size limit, and reports the count and total size so the team can decide whether to rehost those files externally or exclude them from the migration.

Migration approach

Six steps for a successful Visual Practice to Nutshell data migration

  1. Audit Visual Practice data model and prepare Nutshell custom fields

    FlitStack extracts a full export of the Visual Practice data model — all objects, standard fields, and custom fields with their types and pick-list values. We then cross-reference against Nutshell's standard fields and custom field capabilities. The output is a custom field creation plan: a list of every custom field that needs to be created in Nutshell before migration (with name, type, and pick-list options). The Nutshell admin creates these fields, then FlitStack validates the schema is in place before moving to the next step.

  2. Resolve owner assignments by email match

    Visual Practice owner IDs on every record are matched by email against Nutshell user accounts. FlitStack generates a pre-migration owner report listing every Visual Practice owner, whether a matching Nutshell user exists, and whether the user has API write access. The team creates Nutshell accounts for any unmatched owners — or assigns their records to a fallback user — before the migration runs. No record lands in Nutshell without a valid owner.

  3. Migrate organizations first, then persons, leads, and deals in dependency order

    Nutshell's person-to-organization link requires the organization to exist before the person record can be written with an organization_id. FlitStack sequences the migration: (1) Organizations, (2) Persons with organization links resolved, (3) Leads, (4) Deals with person and organization lookups resolved, (5) Activities linked to the migrated records. This ordering ensures foreign-key integrity — every lookup field in Nutshell resolves to an existing record.

  4. Run a sample migration with field-level diff

    A representative slice of records — typically 100–300 spanning persons, organizations, leads, deals, and a sample of activities — migrates first. FlitStack generates a field-level diff comparing each source record to the destination record, flagging any field that was not written, was truncated, or received a different value. The team reviews the diff and validates the deal-stage mapping, lead status mapping, and owner resolution before the full run commits.

  5. Execute full migration with delta-pickup window and rollback ready

    The full migration runs against Nutshell's JSON-RPC API. A delta-pickup window (typically 24–48 hours) captures any records created or modified in Visual Practice during the cutover. FlitStack maintains a full audit log of every record written, field updated, and error encountered. One-click rollback is available if reconciliation fails — FlitStack reverts all migrated records and the team re-runs from the clean source export.

Platform deep dives

Context on both ends of the pair

Visual Practice logo

Visual Practice

Source

Strengths

  • Cross-platform support across PC, Mac, and web browser.
  • Broad feature footprint covering clinical, financial, and marketing workflows.
  • Specialty modules for multi-specialty group practices.
  • Cloud imaging bridges reduce need for separate PACS.
  • Procedure-triggered reputation surveys for patient acquisition.

Weaknesses

  • Pricing is sales-led with no public tiers.
  • Limited public review and community footprint.
  • API documentation not publicly published.
  • Imaging hardware compatibility requires per-device confirmation.
  • Cloud-only architecture may not suit on-premise residency requirements.
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 Visual Practice 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

    Visual Practice: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Visual Practice 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 Visual Practice to Nutshell data migrations

Answers to the questions buyers ask most during Visual Practice to Nutshell migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

Most Visual Practice to Nutshell migrations complete in 48–72 hours of clock time for under 25,000 records. Larger setups with 200,000+ records or many custom fields extend to 5–8 days. The longest planning step is creating Nutshell custom fields and configuring pick‑list values to match the Visual Practice data model — this happens before any data moves and ensures a smooth field alignment.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Visual Practice.
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