CRM migration

Migrate from Cliniko to Nutshell

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

Cliniko logo

Cliniko

Source

Nutshell

Destination

Nutshell logo

Compatibility

100%

11 of 11

objects map 1:1 between Cliniko and Nutshell.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Cliniko organizes healthcare data around patients, practitioners, appointments, and financial transactions — a model built for clinical workflows rather than sales pipelines. Nutshell's CRM structure centers on People (contacts), Companies (accounts), Leads, and Deals with a visual pipeline view that tracks opportunities through customizable stages. The migration must collapse Cliniko's multi-entity relationships (patient-to-appointments, patient-to-invoices, patient-to-insurance) into Nutshell's flatter People-Companies-Deals hierarchy. We extract Cliniko data via the administrative export tool and REST API, capturing patient demographics, all appointment records, invoice and payment history, product/service billing line items, and practitioner assignments. These map into Nutshell's standard objects with custom fields for healthcare-specific data that has no native CRM equivalent — things like referring practitioner, appointment type classification, insurance carrier, and invoice balance status. Appointment histories become Nutshell Activities (tasks and events) preserving original date, duration, practitioner owner, and patient association. Invoice data migrates as custom fields on the Person record since Nutshell lacks a native billing module. FlitStack sequences the migration so patient records land first, then appointments link via Nutshell's person association, then invoice data attaches to each person record. A 24-48 hour delta window captures any appointments or payments recorded during the cutover window.

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

Cliniko logo

Cliniko

What's pushing teams away

  • API access is tied to individual user permissions, meaning API keys inherit role-based access controls — a practitioner-key may not expose all records a migration requires, complicating bulk export scoping.
  • Cliniko's automation capabilities (e.g. appointment reminders, form-triggered updates) do not export; they must be manually rebuilt in the destination platform, increasing migration effort for workflow-heavy practices.
  • Large data exports generate in the background and can take considerable time during busy hours, which may delay migration cutover timelines for practices with high appointment volumes.
  • The platform lacks a native HubSpot or Salesforce CRM-style pipeline view for tracking patient leads or referral sources — practices that outgrow Cliniko often cite the need for a dedicated CRM layer.

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

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

Cliniko

Patient

maps to

Nutshell

Person

1:1
Fully supported

Cliniko patients map directly to Nutshell People records in a straightforward one-to-one transfer. Core patient fields including name, email address, phone number, physical address, and date of birth carry over as standard Nutshell Person fields. The original Cliniko patient identifier is stored as a custom text field (Cliniko_Patient_ID__c) on each Person record for traceability purposes, enabling reliable delta-run de-duplication during subsequent migration runs and maintaining the link back to the source Cliniko system for reference and audit trail functionality.

Cliniko

Practitioner

maps to

Nutshell

User

1:1
Fully supported

Cliniko practitioners who will use Nutshell as CRM users are matched by email address to existing Nutshell users. Practitioners without Nutshell accounts are flagged — they either need Nutshell user invitations before migration or their appointments reassigned to a fallback CRM owner.

Cliniko

Appointment

maps to

Nutshell

Activity (Task / Event)

1:1
Fully supported

Each Cliniko appointment becomes a Nutshell Activity. Appointment type maps to the Activity subject, original date/time becomes the Task due date or Event start time, duration maps to the Task duration field or Event end time, and the associated patient links via Nutshell's person association. Appointment status (attended, no-show, cancelled) stored as a custom picklist field.

Cliniko

Invoice

maps to

Nutshell

Custom fields on Person

1:1
Fully supported

Cliniko invoices have no direct Nutshell equivalent — Nutshell lacks a native billing module. Invoice total, balance outstanding, and last payment date migrate as custom currency fields on the Person record (Total_Invoiced__c, Balance_Due__c, Last_Payment_Date__c). Individual invoice line items are not separately represented; summarized totals preserve the financial picture.

Cliniko

Payment

maps to

Nutshell

Custom fields on Person

1:1
Fully supported

Individual payments on invoices attach to the patient as custom date and currency fields (Last_Payment_Amount__c, Last_Payment_Date__c). Payment history is summarized — detailed transactional payment log is preserved in the Cliniko export file for reference but does not map to individual Nutshell records.

Cliniko

Product / Service

maps to

Nutshell

Custom field or Deal Line Item

1:1
Fully supported

Cliniko products and services (billable items linked to appointments) have no direct Nutshell equivalent. Frequently billed service types migrate as a custom picklist on the Person record (Primary_Service_Type__c) representing the most common service delivered to that patient. Detailed product catalog does not map into Nutshell's CRM model.

Cliniko

Third-Party Company (Insurance / Referral)

maps to

Nutshell

Company

1:1
Fully supported

Cliniko third-party companies (insurance carriers, referral sources) map to Nutshell Company records. Company name, address, and phone carry over. Insurance carrier-specific data (policy number, group number) stored as custom fields on the associated Person record since Nutshell Companies cannot store patient-specific insurance details.

Cliniko

Appointment Type

maps to

Nutshell

Custom picklist on Activity

1:1
Fully supported

Cliniko appointment types such as Initial Consultation, Follow-up, and Treatment sessions represent distinct service categories within the scheduling workflow. These appointment types require mapping to a custom picklist field (Appointment_Type__c) created on the Nutshell Activity object. During the discovery phase, we enumerate the complete appointment type list from Cliniko and perform value-by-value mapping to ensure each activity lands with the correct classification in Nutshell. This mapping preserves the categorical context of each appointment while adapting it to Nutshell's data model.

Cliniko

Location

maps to

Nutshell

Custom field on Activity

1:1
Fully supported

Cliniko locations (clinic sites, rooms) have no native Nutshell equivalent. Location name migrates as a custom text field on the Activity record (Clinic_Location__c). If Nutshell locations correspond to distinct business units, they can alternatively be modeled as Nutshell Companies for segmentation.

Cliniko

Patient Attachment / File

maps to

Nutshell

Nutshell Attachments

1:1
Fully supported

Files attached to Cliniko patient records including forms, imaging files, and signed documents are downloaded from the Cliniko system and re-uploaded as Nutshell attachments on the corresponding Person record. This preserves the document context alongside the patient record. File size limitations apply as part of Nutshell's platform constraints — the system handles standard document sizes appropriately, but very large files exceeding platform limits are flagged for manual review and alternative handling during the migration process.

Cliniko

Treatment Note / Chart

maps to

Nutshell

Note on Person

1:1
Fully supported

Cliniko treatment notes and chart documentation contain clinical data that has no CRM equivalent in Nutshell. These records are exported as standalone files and attached to the Person record as reference documents. Clinical content is preserved but not searchable within Nutshell's standard fields — this is a known limitation disclosed before migration commits.

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.

Cliniko logo

Cliniko gotchas

Medium

Background export generation delays for large datasets

Medium

Charts export is separate from the main data panel

High

API key permissions gate record visibility

Medium

Form template configurations do not export

Low

The old Appointments export has been deprecated

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

  • Treatment notes and chart documentation have no searchable CRM equivalent

    Cliniko treatment notes and clinical chart documentation contain detailed clinical observations, SOAP notes, and clinical history. Nutshell's CRM data model has no native equivalent for clinical documentation — Notes in Nutshell are free-text and not structured for clinical retrieval. We export treatment notes as file attachments on the Person record and store them as reference documents. The content is preserved but not searchable within Nutshell's standard fields, which is a functional limitation teams must accept before migration commits. For practices requiring clinical documentation access within their workflow tool, this gap may influence the decision to proceed with Nutshell.

  • Invoice and payment detail collapses to summarized custom fields

    Cliniko invoices are transactional records with line items, taxes, payment allocations, and status flags. Nutshell has no native billing or invoicing module — it tracks deals and activities, not receivables. We cannot represent individual invoice line items as separate Nutshell records. Instead, we summarize the financial relationship as custom fields on the Person record (Total_Invoiced__c, Balance_Due__c, Last_Payment_Date__c). The detailed transactional payment log is exported as a standalone file and attached to the Person record. Practices that need to track invoice-by-invoice history within the CRM must plan for a separate billing system or rebuild invoice tracking as Nutshell custom objects post-migration.

  • Appointment type and location require custom field creation before migration runs

    Cliniko appointment types (Initial Consultation, Follow-up, Treatment, etc.) and clinic locations are first-class data points in the scheduling model. Nutshell has no native fields for appointment type or clinic location on Activities — these must be created as custom fields on the Task object before data can map. We create Appointment_Type__c (picklist) and Clinic_Location__c (text) as Nutshell custom fields during the pre-migration schema setup phase. If your Nutshell plan restricts custom field creation (Foundation tier limitations), an upgrade to a higher plan is required before migration can proceed.

  • Practitioners without Nutshell user accounts cannot own records by default

    Cliniko practitioners manage appointments and patient records as system users with scheduling permissions. In Nutshell, only registered users can own records (Tasks, People). If a Cliniko practitioner does not have an email address matching a Nutshell user, their appointment records cannot be assigned to them in Nutshell. We flag all unmatched practitioners before migration runs and provide two options: invite the practitioner as a Nutshell user before migration, or reassign their appointments to a designated fallback owner. Practices with many part-time practitioners often choose the fallback owner approach to avoid user-seat costs.

Migration approach

Six steps for a successful Cliniko to Nutshell data migration

  1. Extract Cliniko data via administrative export and API

    FlitStack initiates the migration by accessing Cliniko's administrative data export tools and REST API. We export patient records (full demographics, custom patient properties, notes, attachments), appointment history (all appointments with type, status, practitioner, location, and timestamps), invoice and payment summaries, product/service catalog, third-party companies, and practitioner user list. Cliniko requires Administrator-role access for full data export. We request export generation during off-peak hours since large exports can take 30-60 minutes for practices with extensive history.

  2. Create Nutshell custom fields for healthcare-specific data

    Before any data lands in Nutshell, we create the custom fields required to hold Cliniko data that has no native CRM equivalent. This includes Appointment_Type__c (picklist) on Tasks, Clinic_Location__c (text) on Tasks, Total_Invoiced__c (currency) on Person, Balance_Due__c (currency) on Person, Insurance_Policy_Number__c (text) on Person, Insurance_Group_Number__c (text) on Person, Cliniko_Patient_ID__c (text) on Person, Original_Create_Date__c (datetime) on Person and Task, and Last_Payment fields on Person. Custom field creation is performed by your Nutshell admin or delegated to FlitStack via API.

  3. Resolve practitioners and invite unmatched users

    We cross-reference the Cliniko practitioner list against existing Nutshell users by email address. Practitioners with matching Nutshell accounts are mapped directly — their appointments and patient associations resolve to their Nutshell user IDs. Practitioners without Nutshell accounts are flagged in the pre-migration report. Your team decides whether to invite them as Nutshell users before migration or reassign their records to a designated fallback owner. This step gates the migration start date; unresolved practitioners delay field mapping for their associated records.

  4. Run sample migration with field-level diff

    A representative slice of Cliniko data migrates first — typically 100-500 patient records spanning different appointment types, invoice statuses, and practitioner assignments. We generate a field-level diff comparing source Cliniko values against the destination Nutshell fields so you can verify appointment type mapping, invoice field population, owner resolution, and custom field creation before the full run commits. Any mapping adjustments (value mapping for appointment types, owner reassignment) are applied before the production migration executes.

  5. Execute full migration with delta-pickup window

    The full Cliniko dataset migrates into Nutshell. Patients land first as Nutshell People records, then appointments link via person associations, then invoice summaries and insurance data attach to each Person record. A delta-pickup window of 24-48 hours runs after the bulk migration, capturing any appointments booked, payments recorded, or patient records updated in Cliniko during the cutover period. Audit log records every operation. If reconciliation fails — missing person associations, appointment type values outside the picklist — one-click rollback reverts the Nutshell state to pre-migration.

Platform deep dives

Context on both ends of the pair

Cliniko logo

Cliniko

Source

Strengths

  • Single flat-rate plan with unlimited patients, users, locations, and storage — no per-seat or per-record throttling.
  • Built-in invoicing, appointment scheduling, treatment notes, and reporting in one cloud-hosted application.
  • Telehealth included at no extra cost, launched and maintained without a paywall.
  • Admin-accessible data export panel covering appointments, patients, invoices, transactions, and more.
  • REST API with HTTPS enforcement, JSON responses, and a published OpenAPI schema for programmatic access.

Weaknesses

  • API keys inherit the role-based permissions of the user they belong to, so a read-only or practitioner-level key may not expose all records needed for a full migration export.
  • Form template builders (the configuration for patient intake forms) are not exported via the data panel and must be recreated manually in the destination.
  • The old Appointments export is deprecated; the replacement Reports-based export has different column layouts that require mapping adjustments during migration scoping.
  • Background export generation for large datasets can be slow during busy hours, with no real-time progress API — only email notification on completion.
  • No native automation export; appointment reminders, form-triggered patient field updates, and similar rules must be manually rebuilt in the destination system.
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. 1 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 Cliniko and Nutshell.

  • Object compatibility

    B

    1 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

    Cliniko: Not publicly documented in the OpenAPI schema or public help docs.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Cliniko-to-Nutshell migrations complete in 24–72 hours of clock time for practices with under 10,000 patient records. Larger practices with 50,000+ records, multi-year invoice histories, or 20+ practitioners extend to 5–8 days. The longest planning step is custom field creation in Nutshell and practitioner user resolution — both must complete before the migration can start. Actual data transfer runs are typically 4–8 hours for a full patient + appointment export, with delta-pickup adding another 24–48 hours.

Adjacent paths

Related migrations to explore

Ready when you are

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