CRM migration

Migrate from PracticeHub to Nutshell

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

PracticeHub logo

PracticeHub

Source

Nutshell

Destination

Nutshell logo

Compatibility

91%

10 of 11

objects map 1:1 between PracticeHub and Nutshell.

Complexity

BStandard

Timeline

24–48 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

PracticeHub and Nutshell occupy fundamentally different problem spaces: PracticeHub is a healthcare practice-management platform centered on patient appointments, clinical notes, and clinic-facing workflows, while Nutshell is a sales CRM built around People, Companies, Leads, and multi-pipeline Deal management. When migrating from PracticeHub to Nutshell, the core CRM objects — people records and company records — map directly. Appointment summaries, patient library references, and any clinical context stored in PracticeHub custom fields become Nutshell Notes attached to the corresponding People record, preserving the original content without forcing it into a schema that was never designed for clinical data. FlitStack AI extracts data from PracticeHub via its REST API, respecting the 1 request per second rate limit by pacing export runs. We build a pre-migration field map against Nutshell's custom-field model (People, Company, Lead tabs), create any missing custom fields in your Nutshell account before the load, then push records through Nutshell's JSON-RPC API. Workflows, automations, and patient-library binaries (images, exercise routines) do not have equivalents in Nutshell — we export definitions for rebuild reference but they cannot be transferred. Files and attachments re-upload to Nutshell Files or attach to the relevant record. A sample migration with field-level diff runs first so you can verify the People/Company split and note-style storage of appointment data before the full cutover commits.

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

PracticeHub logo

PracticeHub

What's pushing teams away

  • The 1 request per second API rate limit makes bulk data extraction painfully slow for practices with thousands of patient records to migrate.
  • Limited public pricing transparency and vague enterprise sales process frustrate small practices seeking quick cost comparisons.
  • Some users report that advanced billing and insurance claim workflows are less mature than dedicated EHR platforms.
  • Support responsiveness varies; smaller customer accounts report slower ticket resolution times.
  • The platform's breadth across compliance, scheduling, and patient engagement means no single feature set is as deep as purpose-built alternatives.

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

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

PracticeHub

Person (patient)

maps to

Nutshell

Person

1:1
Fully supported

PracticeHub person records (patients) map one‑to‑one to Nutshell People, preserving first name, last name, email address, phone numbers, and street details as native fields. Patient‑specific attributes such as date of birth, medical notes, or insurance identifiers are transferred to pre‑created custom fields on the Person object, keeping the core contact profile clean while retaining clinical context.

PracticeHub

Company (clinic or referring practice)

maps to

Nutshell

Company

1:1
Fully supported

PracticeHub clinic and referring‑organisation records map directly to Nutshell Companies, carrying over company name, primary address, website domain, and industry classification as standard fields. When the source includes a parent‑clinic relationship, we link the child record to the parent via Nutshell's Parent Company field, preserving multi‑location hierarchies and ensuring that organisational structure is reflected in the CRM.

PracticeHub

Appointment

maps to

Nutshell

Note (attached to Person)

1:1
Fully supported

Each appointment (date, time, practitioner, type, status) becomes a Note attached to the corresponding Nutshell Person. We preserve the original appointment date as a formatted line inside the note body. If appointments are numerous, we can consolidate them into a single summary note per person with a table of all appointment dates.

PracticeHub

Patient library (images, exercise routines)

maps to

Nutshell

File attachment on Person

1:1
Fully supported

PracticeHub's patient library stores clinical images and exercise routines. Nutshell has no clinical document concept. We download each file, re-upload it to Nutshell Files, and attach it to the corresponding Person record. Your team decides which files to keep for non-clinical reference.

PracticeHub

Practitioner / staff member

maps to

Nutshell

Person (tagged with role custom field)

many:1
Fully supported

Practitioners and staff members are contacts in PracticeHub but not clinical patients. We migrate them as Nutshell People with a Role custom field set to 'Practitioner' or 'Staff'. Owner resolution (which Nutshell user maps to each practitioner) uses email matching.

PracticeHub

Lead (referral source)

maps to

Nutshell

Lead

1:1
Fully supported

Referral sources and inbound enquiries stored as leads in PracticeHub transfer directly to Nutshell Leads, preserving the lead’s name, email, phone, source tag, and any custom lead‑specific attributes. We resolve the status pick‑list values against Nutshell’s lead status options during mapping, ensuring that the original lead stage is reflected accurately in the CRM without manual re‑entry.

PracticeHub

Custom field (patient-specific)

maps to

Nutshell

Custom field on Person

1:1
Fully supported

Any custom fields on PracticeHub patient records (for example, insurance provider, emergency contact, preferred language) require pre-created custom fields in Nutshell. We inventory all custom fields during discovery, create them in Nutshell (People tab), then map values field-by-field during the load.

PracticeHub

Clinic messaging thread

maps to

Nutshell

Note (attached to Person)

1:1
Fully supported

PracticeHub's in-app clinic messaging threads are not email-equivalent in Nutshell. We export the full thread as plain text and attach it as a Note to the relevant Person. The note header records the thread date range so context is not lost.

PracticeHub

Intake form submission

maps to

Nutshell

Note (attached to Person)

1:1
Fully supported

Completed intake forms are exported as a formatted note attached to the corresponding Nutshell Person record. Each form field label is paired with its entered value in a clear key‑value layout, allowing your team to review the full intake context directly in Nutshell without needing to refer back to the original PracticeHub system.

PracticeHub

Billing / payment record

maps to

Nutshell

Note (attached to Person)

1:1
Fully supported

Payment history and billing records do not have a native CRM object in Nutshell, so we export a concise billing summary as a Note attached to the Person record. The note captures the invoice date, amount, and payment status, while your primary billing or accounting system continues to hold the authoritative financial record for audit and compliance.

PracticeHub

PracticeHub owner / practitioner

maps to

Nutshell

Nutshell user

1:1
Fully supported

PracticeHub practitioner and admin accounts are matched to Nutshell users using the email address as the unique key. Before the migration begins, any practitioner lacking a corresponding Nutshell user account is flagged for resolution; you can either create the user in Nutshell in advance or assign the records to a designated fallback owner, ensuring no data is left without a responsible user after the cutover.

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.

PracticeHub logo

PracticeHub gotchas

High

1 req/sec API rate limit severely restricts bulk migration speed

Medium

Region-specific API base URLs must be resolved before extraction

Medium

Patient Library assets export as separate binary blobs

Low

Prescription records may reference external Chewy pharmacy integration

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

  • PracticeHub's 1 req/s API rate limit makes large dataset extraction slow

    PracticeHub rate-limits API requests to 1 per second per account. For a practice with 5,000 patient records, a full export takes over 80 minutes of API calls alone — before any transformation or load work begins. We handle this by pacing export runs to respect the limit and batching records client-side so the migration clock runs efficiently. If you have an existing Nutshell account with data already present, we also check for duplicate records using the Source_System_ID__c field to avoid re-importing patients who already exist.

  • Appointment data has no native CRM equivalent in Nutshell

    PracticeHub stores appointment history as a first-class object with practitioner, date, type, and status. Nutshell has no appointment or scheduling object — activities are limited to Tasks and Events (meeting/call). We handle this by converting each appointment into a Note attached to the Person record, preserving the date, practitioner, type, and status in a readable format. For practices with high appointment volumes per patient, we consolidate multiple appointments into a single summary note with a date table so the Person record does not become bloated with hundreds of notes.

  • Patient library files require re-upload to Nutshell Files

    PracticeHub's patient library stores diagnostic images and exercise routines as binary files attached to the patient record. Nutshell does not have a patient-library concept. We download each file from PracticeHub and re-upload it to Nutshell Files, then attach it to the corresponding Person record. File size limits apply (Nutshell's default is 25 MB per file). Files that exceed this limit are flagged for manual handling. Note that Nutshell's native file viewer is designed for sales documents — your team should test access to medical images after migration.

  • Custom fields must be pre-created in Nutshell before the load

    Nutshell custom fields (date of birth, preferred language, insurance provider, emergency contact) must exist in your Nutshell account before we can write data into them. We create these fields during the discovery phase using Nutshell's Settings > Custom Fields interface, mapping each PracticeHub custom field to the appropriate Nutshell field type (text, date, or choices). If a custom field in PracticeHub uses a data type that Nutshell does not support (for example, multi-select), we flag it and store the value as a JSON string in a text field.

  • Intake forms and billing records have no Nutshell equivalent

    PracticeHub intake form submissions and billing records carry clinical and financial context that does not map to any Nutshell object. We export both as formatted Notes attached to the Person record. The authoritative financial record must remain in your billing or accounting system — Nutshell is not a practice-management billing module. We document the export format so your billing team can cross-reference migrated notes against the source record if needed.

Migration approach

Six steps for a successful PracticeHub to Nutshell data migration

  1. Inventory PracticeHub records and create Nutshell custom fields

    FlitStack AI exports a full record inventory from PracticeHub via the REST API — people, companies, appointments, leads, and all custom fields. We pace the export to respect the 1 req/s rate limit. Against that inventory, we compare Nutshell's standard field list and create any missing custom fields (date of birth, preferred language, insurance provider, emergency contact, and source system ID) in your Nutshell account under Settings > Custom Fields before the first record is loaded. This pre-creation step is required because Nutshell does not auto-provision custom fields during API inserts.

  2. Map and resolve owner accounts by email

    PracticeHub practitioner and admin accounts are matched against Nutshell users by email address. Any practitioner in PracticeHub who does not have a corresponding Nutshell user is flagged with a pre-migration warning — you either provision the Nutshell user first or assign their records to a fallback owner during the load. No record lands without a resolved owner, which prevents orphaned records in Nutshell's assignment model.

  3. Run a sample migration with field-level diff

    A representative slice — typically 100–300 records across people, companies, and leads — migrates first. We generate a field-level diff showing every PracticeHub field and its resolved Nutshell value. You verify appointment-to-note conversion, custom field population, and owner resolution before we commit to the full run. This is the checkpoint where we confirm that the appointment-summary note format meets your team's readability requirements.

  4. Execute full migration with delta-pickup window

    The full dataset loads through Nutshell's JSON-RPC API. A delta-pickup window (typically 24–48 hours) captures any new or modified records created in PracticeHub during the cutover period. All file attachments are downloaded from PracticeHub, re-uploaded to Nutshell Files, and attached to the corresponding Person record. An audit log records every operation; one-click rollback is available if reconciliation reveals record counts or field-population issues.

  5. Deliver reconciliation report and rebuild reference export

    FlitStack AI delivers a post-migration reconciliation report comparing PracticeHub record counts and key field values against Nutshell. We export PracticeHub workflow definitions and intake-form templates as a structured reference document so your team can rebuild appointment-reminder sequences and intake automations in Nutshell's personal email sequences tool. Reports, dashboards, and billing records are not migrated — the export document captures their structure for manual recreation.

Platform deep dives

Context on both ends of the pair

PracticeHub logo

PracticeHub

Source

Strengths

  • No setup fees and no minimum contract terms reduce upfront commitment for small practices.
  • Multi-region API infrastructure supports UK (Neptune/London) and ANZ (Sydney) deployments with region-specific base URLs.
  • Patient mobile app handles appointment management, reminders, check-in, and payments as a bundled feature.
  • Built-in policy and compliance management reduces third-party tooling for accreditation workflows.
  • Publicly documented migration guide for Cliniko switchers signals active competitive positioning.

Weaknesses

  • API rate limit of 1 request per second is extremely restrictive for bulk data migration of large patient bases.
  • No publicly documented bulk export endpoint; all extraction relies on paginated REST API calls.
  • Limited pricing transparency with no self-serve pricing page found in research.
  • Patient Library binary assets (images, documents) may require separate handling from structured record exports.
  • Region-based URL architecture requires account-domain and region identification before any API calls can be made.
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 PracticeHub 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

    PracticeHub: 1 request per second per account.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most PracticeHub-to-Nutshell migrations complete in 24–48 hours for datasets under 10,000 records. The primary time variable is PracticeHub's API rate limit of 1 request per second, which paces the extraction phase. Larger datasets (50,000+ records) or multi-site practices with extensive appointment histories extend to 5–7 days. We give you a detailed timeline during discovery after counting the total records and custom fields to migrate.

Adjacent paths

Related migrations to explore

Ready when you are

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