CRM migration

Migrate from Nookal to Nutshell

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

Nookal logo

Nookal

Source

Nutshell

Destination

Nutshell logo

Compatibility

92%

11 of 12

objects map 1:1 between Nookal and Nutshell.

Complexity

BStandard

Timeline

24–48 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Nookal is a practice-management platform purpose-built for Australian allied health clinics — it handles patient records, practitioner schedules, appointment confirmations, Medicare and DVA bulk-billing claims, Xero and QuickBooks accounting sync, and per-practitioner pricing. Nutshell is a sales CRM that organizes data around People, Companies, Leads, and Deals with activity tracking and pipeline management. The two platforms share a contact-centric data model at the Person level, but Nookal's practice operations — appointments, invoices, payments, clinical notes, practitioner-to-location assignments — have no direct Nutshell equivalent and must map to a combination of Activities, custom fields on Person records, and Deal-level reference fields. FlitStack AI extracts Nookal data via the platform's API and translates each record type into Nutshell's schema. Patient records migrate to Nutshell People with all standard fields preserved plus Nookal-specific custom fields for Medicare number, practitioner ID, location ID, and clinical notes. Appointments become Activities (Tasks) with custom fields holding appointment type, practitioner name, status, and the Nookal appointment ID. Invoices and payments migrate as custom fields on the associated Person record and as Deal-level reference fields, since Nutshell has no native billing or invoicing object. Practitioners from Nookal map to Nutshell Users by email match, with a Practitioner__c flag custom field distinguishing staff from patient contacts. Automations do not migrate. Nookal's Medicare compliance reminders, appointment confirmation sequences, and per-practitioner scheduling workflows are practice-specific and must be rebuilt in Nutshell's workflow tools. FlitStack exports Nookal's workflow definitions as a rebuild reference for your Nutshell admin. A sample migration with field-level diff runs first; then a full migration with 24–48h delta pickup captures any records created in Nookal 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

Nookal logo

Nookal

What's pushing teams away

  • Feature scope is narrow; practices needing patient engagement beyond reminders, social messaging, or AI-powered intake chatbots must layer in additional tools.
  • Limited accounting depth — Nookal handles invoicing and payments but does not produce completed accounting records on its own, requiring Xero or QuickBooks to close the loop.
  • Absence of a documented public API means practices with complex custom integrations or developer-dependent workflows hit a ceiling and must migrate manually.
  • Patient engagement features lag competitors; no WhatsApp or social channel integration and no native AI chatbot for handling patient enquiries at scale.
  • Growing practices report outgrowing the platform's customisation surface when they need advanced custom objects, complex automation, or multi-location scalability beyond what Nookal provides.

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

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

Nookal

Patient

maps to

Nutshell

Person

1:1
Fully supported

Nookal patients map directly to Nutshell People. All standard contact fields — name, email, phone, address — transfer as-is. Nookal-specific fields (Medicare number, date of birth, referring practitioner ID) migrate to custom fields on the Person record. The Nookal patient ID is preserved as a custom field for reconciliation and delta-run deduplication.

Nookal

Practitioner

maps to

Nutshell

User + Person (flagged)

many:1
Fully supported

Nookal practitioners resolve to Nutshell Users by email match so their appointment assignments and invoice ownership map correctly. Each practitioner also creates a flagged Person record (Practitioner__c = true) so their contact details are accessible within Nutshell's CRM view alongside patient records. If a practitioner email has no matching Nutshell user, the record is flagged before migration so the team can create the account or assign a fallback owner.

Nookal

Location

maps to

Nutshell

Company + custom fields

1:1
Fully supported

Nookal locations map to Nutshell Companies using the location's business name and address. Since Nutshell has no native locations object, the Nookal location ID, location type, and practitioner roster for each location are stored as custom fields on the Company record. Each practitioner record also carries a Location_ID__c custom field referencing the Nookal location, preserving the practitioner-to-location relationship.

Nookal

Appointment

maps to

Nutshell

Task (Activity)

1:1
Fully supported

Nookal appointments become Nutshell Tasks linked to the associated Person record. Custom fields on the Task hold appointment type, practitioner name (resolved from the practitioner ID), appointment status (confirmed, cancelled, no-show), start and end time, and the Nookal appointment ID. The original appointment timestamp is preserved so historical activity reporting in Nutshell reflects the actual appointment date.

Nookal

Invoice

maps to

Nutshell

Custom fields on Person + Deal reference

1:1
Fully supported

Nookal invoices have no native Nutshell equivalent — Nutshell has no invoicing object. Invoice ID, invoice number, invoice date, due date, total amount, amount paid, and payment status all migrate as custom fields on the associated Person record. Where a Nookal appointment or session links to an invoice, a Deal record is created in Nutshell with the invoice amount as the deal value and a Nookal_Invoice_ID__c custom field linking back to the source record.

Nookal

Payment

maps to

Nutshell

Custom fields on Person

1:1
Fully supported

Nookal payment records — payment ID, payment date, amount, and payment method — migrate as custom fields on the Person record, alongside the related invoice custom fields. Since Nutshell has no native payments sub-object, all payment history is stored in field-level custom fields on the person, with the most recent payment date surfaced as a summary field for quick reference.

Nookal

Clinical Note

maps to

Nutshell

Custom field on Person (large text)

1:1
Fully supported

Nookal clinical notes (SOAP format, treatment plans, practitioner observations) have no equivalent in Nutshell's CRM model. The full note content migrates as a large-text custom field (Clinical_Notes__c) on the Person record, preserving the original note text and practitioner attribution. Nookal's structured note date and practitioner ID are stored alongside in separate custom fields for audit purposes.

Nookal

Referral Source

maps to

Nutshell

Custom field on Person

1:1
Fully supported

Nookal tracks referral source for each patient as a standard field. This migrates to a custom pick-list or text field (Referral_Source__c) on the Nutshell Person record, preserving the original value so referral-source reporting can be rebuilt in Nutshell's segmentation and activity views.

Nookal

Appointment Status

maps to

Nutshell

Custom field on Task

1:1
Fully supported

Nookal appointment statuses (Confirmed, Cancelled, Rescheduled, No-show, Completed) map to a custom pick-list field (Appointment_Status__c) on the Nutshell Task. Each Nookal status value is mapped individually to the corresponding Nutshell custom-field value so status-based reporting and filtering work identically in the destination.

Nookal

Invoice Status

maps to

Nutshell

Custom field on Person

1:1
Fully supported

Nookal invoice statuses (Draft, Sent, Paid, Overdue, Cancelled) map to a custom pick-list (Invoice_Status__c) on the Person record. The value mapping is applied per status so reporting on outstanding invoices, payment rates, and overdue accounts can be rebuilt using Nutshell's built-in filtering without custom report logic.

Nookal

Product / Service Item

maps to

Nutshell

Product

1:1
Fully supported

Nookal service items and products used in invoicing migrate to Nutshell Products. Each product record carries the Nookal product ID as a custom field. If the Nookal setup uses specific pricing tiers or billing categories per service type, those map as custom fields on the Nutshell Product record.

Nookal

Nookal User (admin)

maps to

Nutshell

User

1:1
Fully supported

Nookal administrative users with no direct patient or appointment association resolve to Nutshell Users by email match. Their Nookal user ID is stored as a custom field on the Nutshell User record for traceability. Unmatched users are flagged before migration so the team can create Nutshell accounts or reassign records to a fallback 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.

Nookal logo

Nookal gotchas

High

Medicare 2.0 migration deadline is hard-gated

High

No public API forces reliance on built-in exports

Medium

Custom clinical note templates are account-specific

Medium

Medicare claiming groups tied to Provider Numbers restrict bulk migrations

Medium

Accounting sync does not export raw ledger data

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

  • Nookal's billing and Medicare claiming model has no Nutshell equivalent

    Nookal is deeply integrated with Australian Medicare and DVA bulk-billing workflows — practitioners can submit bulk-bill claims directly from an appointment record, with claim status tracked against the invoice. Nutshell has no billing, invoicing, or healthcare-claiming module. All invoice data, payment history, Medicare claiming status, and bulk-bill flags migrate as custom fields on the Person record and as Deal-level reference fields. Claim status reconciliation and any active, unsubmitted Medicare claims must be resolved in Nookal before the cutover date, because Nutshell cannot display or update Medicare claim status.

  • Appointment-to-practitioner assignment requires multi-step owner resolution

    Nookal's appointment model is structured around a practitioner ID — every appointment is assigned to a specific practitioner and a specific location, with the appointment's availability determined by the practitioner's schedule at that location. Nutshell's Task object has a single owner field mapped to a User, and no native location assignment. We resolve the Nookal practitioner ID to a Nutshell User by email match and store the appointment's location ID as a custom field on the Task. If a Nookal practitioner has no matching Nutshell user, their appointment records are flagged before migration so the team can create the account or reassign ownership rather than orphaning appointments.

  • Clinical notes lose structured formatting in Nutshell's flat text model

    Nookal stores clinical notes in a structured format — SOAP notes with subjective, objective, assessment, and plan sections; treatment plans with itemized interventions; practitioner observations linked to specific appointments. Nutshell has no clinical context object; notes must become a single large-text custom field (Clinical_Notes__c) on the Person record. The structured section headers, treatment plan line items, and appointment-linked notes all flatten into continuous text. We preserve the note date, practitioner ID, and original Nookal note ID as separate custom fields so the audit trail is intact, but the structured layout of the note itself cannot be reproduced in Nutshell's flat-field model.

  • Multi-location setup creates redundant location data in Nutshell's Company model

    Nookal's Location is a first-class object with its own address, practitioner roster, availability rules, and appointment capacity. Nutshell has no locations object — addresses live on Company records, and practitioners are Nutshell Users with no native location assignment. When a Nookal clinic has multiple practitioners working across multiple locations, each practitioner's Person record carries a Location_ID__c custom field referencing the Nookal location. This means the same Nookal location address appears on multiple Company records (one per practitioner who works there) rather than a single shared location record, creating redundancy that must be understood during reporting.

  • Nookal's per-practitioner pricing does not map to Nutshell's per-user model

    Nookal charges per practitioner at approximately $55/month, regardless of whether each practitioner generates revenue. A clinic with five practitioners and two administrative staff pays for five Nookal seats. Nutshell's pricing is per user — administrative and sales staff who do not need clinical scheduling can be Nutshell users at the same per-seat rate as practitioners, often resulting in a lower total platform cost. However, this pricing model comparison is a pre-migration business decision, not a data migration concern. We flag the user count differential during discovery so the team can model the cost impact before committing to the migration.

Migration approach

Six steps for a successful Nookal to Nutshell data migration

  1. Discovery: inventory Nookal data and design the Nutshell custom-field schema

    FlitStack AI connects to Nookal via the platform's API and pulls a full data inventory — patient records, practitioner profiles, locations, appointments, invoices, payments, and clinical notes. We count records per type, identify custom fields in use, and flag any Nookal-specific data (Medicare numbers, bulk-bill flags, practitioner-to-location assignments) that requires custom-field creation in Nutshell. The output is a Nutshell custom-field schema design: fields to create on the Person object, fields to create on the Task object, and fields to create on the Company and Deal objects. Your Nutshell admin creates these fields before the migration run so the schema is ready when data lands.

  2. Resolve Nookal practitioners to Nutshell users by email

    Nookal practitioners and administrative users are matched to Nutshell Users by email address. This is the critical step for appointment ownership and invoice attribution — every appointment in Nookal carries a practitioner ID, and that ID must resolve to a Nutshell User so the Task's owner field populates correctly. Unmatched practitioner emails are flagged before migration so the team can create Nutshell user accounts or assign a fallback owner. Patient records do not require user resolution; they migrate directly to Nutshell People.

  3. Migrate locations and practitioners before appointments and invoices

    Nookal's data has foreign-key dependencies: appointments reference practitioners and locations, and invoices reference patients. We sequence the migration to resolve these dependencies correctly — locations map to Nutshell Companies first, then practitioners resolve to Nutshell Users and flagged Person records, then patients map to Nutshell People, then appointments map to Tasks with practitioner owner and location reference fields, and finally invoices and payments migrate as custom fields on the associated Person records. Running this sequence in the wrong order would leave orphaned records or failed foreign-key lookups.

  4. Run a sample migration with field-level diff

    A representative slice migrates first — typically 50–100 patient records, a sample of appointments spanning different practitioners and locations, and a few invoice records. We generate a field-level diff between the Nookal source values and the Nutshell destination values so you can verify that Medicare numbers, appointment statuses, invoice amounts, and clinical note content all transferred correctly. Any mapping errors are corrected before the full run commits. This step also validates that custom fields on the Task object (appointment type, practitioner name, location name) are displaying correctly in Nutshell's UI.

  5. Full migration with delta-pickup and final reconciliation

    The full migration runs against Nutshell's API with all record types in the validated sequence. During the migration, Nookal remains fully operational — FlitStack uses scoped read access so your team can keep booking appointments and processing invoices in Nookal. A delta-pickup window (24–48 hours after the full run completes) captures any records created or modified during the cutover. An audit log records every operation. One-click rollback is available if the reconciliation count does not match. After delta-pickup and reconciliation, the Nookal account is locked from further data entry and the team transitions to Nutshell as the system of record.

Platform deep dives

Context on both ends of the pair

Nookal logo

Nookal

Source

Strengths

  • Per-practitioner pricing scales cost-effectively for small-to-mid allied health clinics with one to ten practitioners.
  • Native Medicare and DVA Online Claiming 2.0 eliminates the need for a separate claiming middleware for Australian health practices.
  • Accounting sync with Xero and QuickBooks keeps financial records up to date without manual re-entry.
  • Built-in diary, clinical notes, and practice reporting cover the core allied health workflow in a single platform.
  • Australian-focused product design includes My Health Record integration and Australian Immunisation Register support.

Weaknesses

  • No documented public REST API limits programmatic data extraction and makes automated migration more complex.
  • Accounting depth is shallow; Nookal handles invoicing and payments but relies on Xero or QuickBooks for completed financial records.
  • Feature set is narrower than multi-feature competitors; practices needing patient engagement, AI chatbots, or social messaging must layer in additional tools.
  • Custom field definitions and clinical note templates are not exposed in a public schema, requiring manual discovery during scoping.
  • Integration ecosystem beyond Xero, QuickBooks, and Medicare claiming is limited compared to larger practice management platforms.
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 Nookal 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

    Nookal: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Nookal-to-Nutshell migrations complete in 24–48 hours of clock time for setups with fewer than 5,000 total records across patients, appointments, practitioners, and invoices. Complex setups with 5,000+ records, extensive custom fields on the Person and Task objects, and multiple Nookal locations extend the timeline to 5–7 days. The longest single step is typically the custom-field schema setup in Nutshell, which requires your admin to create the practitioner flags, appointment reference fields, invoice custom fields, and clinical-note fields before data can land cleanly.

Adjacent paths

Related migrations to explore

Ready when you are

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