CRM migration
Field-level mapping, validation, and rollback between Visual Practice and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Visual Practice
Source
Nutshell
Destination
Compatibility
11 of 11
objects map 1:1 between Visual Practice and Nutshell.
Complexity
BStandard
Timeline
48–72 hours
Overview
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.
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 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
Nutshell
Person
1:1Direct 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
Nutshell
Organization
1:1Direct 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
Nutshell
Person.organization_id
1:1Visual 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
Nutshell
Lead
1:1Direct 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
Nutshell
Deal
1:1Visual 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
Nutshell
Deal.value
1:1Direct 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)
Nutshell
Activity
1:1Visual 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
Nutshell
File Attachment
1:1Visual 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)
Nutshell
Person Custom Field
1:1Visual 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)
Nutshell
Deal Custom Field
1:1Visual 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
Nutshell
Nutshell User
1:1Visual 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.
| Visual Practice | Nutshell | Compatibility | |
|---|---|---|---|
| Person | Person1:1 | Fully supported | |
| Organization | Organization1:1 | Fully supported | |
| Person.organization_link | Person.organization_id1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Deal.amount | Deal.value1:1 | Fully supported | |
| Activity (Call / Email / Meeting / Note) | Activity1:1 | Fully supported | |
| Attachment / File | File Attachment1:1 | Fully supported | |
| Custom Field (Person-level) | Person Custom Field1:1 | Fully supported | |
| Custom Field (Deal-level) | Deal Custom Field1:1 | Fully supported | |
| Owner / User | Nutshell User1: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.
Visual Practice gotchas
Clinical imaging files require coordinated binary extraction
Electronic claims data has retention and HIPAA constraints
Specialty module data varies by deployment
Integrations with imaging hardware require per-device confirmation
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 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.
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.
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.
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.
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
Visual Practice
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 Visual Practice 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
Visual Practice: Not publicly documented.
Data volume sensitivity
Visual Practice 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 Visual Practice to Nutshell migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Visual Practice
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.