CRM migration

Migrate from KulaHub to Nutshell

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

KulaHub logo

KulaHub

Source

Nutshell

Destination

Nutshell logo

Compatibility

75%

6 of 8

objects map 1:1 between KulaHub and Nutshell.

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from KulaHub to Nutshell is a structural migration: KulaHub stores all business entities as Contacts with no separate Company object, while Nutshell uses separate Company and Person objects with a sales pipeline built in. We split KulaHub Contacts into Nutshell Companies (business entities) and Persons (individual contacts) using email domain and business-indicator logic during the transform phase, then link them with the correct Account relationship. KulaHub has no published API documentation, no self-service bulk export, and unpublished rate limits, which means every migration requires direct coordination with KulaHub support for data extraction and a probe phase to measure throughput. We preserve GDPR unsubscribe flags and email preference data as custom fields in Nutshell so existing suppression states carry forward. Workflows, email automations, and forms do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Nutshell's campaign and automation tools.

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

KulaHub logo

KulaHub

What's pushing teams away

  • API has no publicly accessible documentation or developer portal, making it difficult to build integrations or automate data flows without engaging KulaHub support directly.
  • No self-service bulk data export means customers needing to migrate out or audit their historical records must request assisted export, adding time and cost to any data project.
  • Restoration of accidentally deleted records costs £80 per hour with a one-hour minimum, and backups are retained for only 30 days, making data loss incidents expensive and time-sensitive to resolve.

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

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

KulaHub

Contact

maps to

Nutshell

Company + Person (split required)

1:many
Fully supported

KulaHub has no separate Company or Account object; all business entities are stored as Contacts. We split KulaHub Contacts into Nutshell Company records (using email domain logic to group business entities) and Person records linked to the corresponding Company via AccountId. Individual contacts without a business domain (personal email addresses) are created as standalone Persons without a Company link. We preserve the original KulaHub Contact ID in a custom field kh_contact_id__c on the Nutshell Person record for reconciliation.

KulaHub

Activity: Calls, Emails, Meetings, Tasks

maps to

Nutshell

Activity (Task and Event)

1:1
Fully supported

KulaHub activity logs (telephone calls, emails, system events) are stored per Contact as chronological time-series data. We export the full activity history and load it in date order into Nutshell's Activity timeline. Calls map to Task with TaskSubtype=Call; meetings map to Event; emails map to Task or Activity records depending on the Nutshell plan. We preserve the original KulaHub timestamp as the ActivityDate so the timeline ordering is intact on the Nutshell Person record.

KulaHub

Email Campaign

maps to

Nutshell

Campaign + Contact preferences

1:1
Fully supported

KulaHub stores email campaigns, templates, open/click tracking, and GDPR unsubscribe preferences. Campaign metadata (name, dates, subject line) migrates to Nutshell Campaign records if the destination includes the Nutshell Engagement suite. GDPR unsubscribe flags and email preferences migrate as custom fields on the Person record so Nutshell respects existing suppression states. Open and click tracking history migrates as Activity records attached to the relevant Persons.

KulaHub

Document/Attachment

maps to

Nutshell

Attachment

1:1
Fully supported

Documents attached to KulaHub Contact records are linked via a foreign-key relationship. We extract each document blob and re-associate it with the corresponding Nutshell Person record via the Attachment object. File names, sizes, and upload timestamps are preserved. Documents without a matching Person (orphaned during the split) are held in a staging table and presented to the customer for resolution before production migration.

KulaHub

Task / Reminder

maps to

Nutshell

Task

1:1
Fully supported

KulaHub Tasks are assigned to specific users and linked to Contacts. We map tasks 1:1 into Nutshell Task records, preserving the assigned-user mapping by cross-referencing the KulaHub user list against the destination Nutshell user directory. Status, Priority, Due Date, and task body text transfer directly. Tasks assigned to users not yet provisioned in Nutshell go to a reconciliation queue.

KulaHub

User

maps to

Nutshell

User

1:1
Fully supported

KulaHub users appear in activity logs and task assignments. We export the full user list first so owner-ID mapping is resolved before any records that reference users are loaded into Nutshell. We match KulaHub users to Nutshell users by email address. Any KulaHub user without a matching Nutshell account is held in a provisioning queue for the customer's admin to create before record migration continues.

KulaHub

Forms / Website Enquiries

maps to

Nutshell

Person custom fields

lossy
Fully supported

KulaHub captures website enquiry forms linked to Contact records, but the form-field schema is not publicly documented. We request a sample export of form-submission data during discovery to build the field mapping. Any unmapped fields are held in a staging table and presented to the customer for manual mapping before the production run. Form submission records migrate as custom field values on the corresponding Nutshell Person record.

KulaHub

GDPR Preference / Unsubscribe

maps to

Nutshell

Person custom fields

1:1
Fully supported

KulaHub stores email unsubscribe states and GDPR preference flags per Contact, but the data format used to persist these preferences is not documented. We export the preference flags as custom Person fields (kh_email_opt_out__c, kh_gdpr_consent__c, kh_consent_date__c) in Nutshell so existing suppression lists carry forward without requiring re-opt-in campaigns. The customer should verify their GDPR documentation obligations in the destination jurisdiction before disabling the KulaHub suppression list.

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.

KulaHub logo

KulaHub gotchas

High

API has no public documentation or developer portal

High

No self-service bulk export or documented rate limits

Medium

Deleted record restoration costs £80/hour with 30-day window

Medium

Contact form field schema is not publicly documented

Low

GDPR preference data portability not confirmed

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

  • KulaHub API access requires direct vendor coordination

    KulaHub's REST API is not publicly documented and there is no developer portal or sandbox environment. We must work with customer-provided credentials and coordinate directly with KulaHub support to extract data for large migrations. This means we cannot independently validate API throughput or field availability without an active support engagement from the customer. We flag API access as a scoping dependency before any migration work begins, and we probe the API during the discovery phase with a small batch of requests to measure response behavior before committing to a timeline.

  • No self-service bulk export; rate limits are unpublished

    KulaHub states that API access requires contacting them directly, and no rate-limit values are published. For migrations with more than 10,000 records, this means we cannot estimate throughput in advance without an assisted export. If KulaHub-assisted export is required, the customer must coordinate that separately. We probe the API during discovery with a sample batch to measure response headers and status codes, which allows us to calibrate chunk size and retry logic for the production migration window.

  • KulaHub has no Company object; schema split is manual

    KulaHub stores all business entities as Contacts with no separate Account or Company object, while Nutshell uses Company and Person as distinct objects. There is no automated logic in KulaHub to flag which Contacts are businesses versus individuals. We apply domain-based grouping (email address domain) to split KulaHub Contacts into Nutshell Companies and Persons, but this heuristic may misclassify Contacts with generic email domains (gmail, outlook) that represent business contacts. We present the split mapping to the customer for review and manual override before production migration.

  • KulaHub has no Pipeline or Deal object

    KulaHub does not track Opportunities, Deal stages, or sales pipeline data as distinct objects. If the customer's sales team has been tracking deal value or stage in KulaHub Notes or custom fields, those values are not in a structured format that maps directly to Nutshell's Opportunity object. We export any deal-related data stored in Notes or custom fields and present it to the customer as candidate data for Nutshell custom fields or as a separate import spreadsheet for their admin to load into Nutshell Opportunities post-migration.

  • Restoration of deleted records costs £80/hour with 30-day window

    KulaHub retains real-time backups for 30 days. Restoration is not self-service and carries a minimum one-hour charge of £80. If records are accidentally modified or deleted during a migration window, recovery is billable and time-sensitive. We maintain a pre-migration checkpoint by requesting a KulaHub data snapshot before extraction begins, and we run migrations in read-only test-then-cutover phases to avoid accidental writes to the source system. The customer should confirm that KulaHub can provide a full data export before migration day.

Migration approach

Six steps for a successful KulaHub to Nutshell data migration

  1. Discovery and API access scoping

    We audit the KulaHub account for record counts (Contacts, Activities, Documents, Campaigns, Tasks), user count, and any known custom fields or form data. We confirm API access credentials and initiate direct coordination with KulaHub support if assisted export is required. We run a small API probe (20-50 records) to measure response headers, pagination behavior, and error codes, which determines whether we use direct API extraction or KulaHub-assisted export. The discovery output is a written migration scope including record counts per object, a data extraction method decision, and a timeline estimate.

  2. Data extraction from KulaHub

    We extract data from KulaHub using the method confirmed during discovery: either direct API extraction (with rate-limit probing to set chunk sizes and sleep intervals) or KulaHub-assisted export if API access is restricted. We extract Users first (required for owner mapping), then Contacts, Activities, Documents, Campaigns, and Form Submissions. Each extract is validated against the record counts from discovery and held in a staging environment. GDPR unsubscribe flags are extracted as isolated fields and not mixed with standard contact properties.

  3. Schema design and Company-Person split mapping

    We design the Nutshell destination schema. This includes provisioning any required custom fields on Person (kh_contact_id__c, kh_email_opt_out__c, kh_gdpr_consent__c, kh_consent_date__c), configuring the Nutshell Pipeline with stages aligned to the customer's sales process if deal data exists in KulaHub Notes, and designing the Contact-to-Company-Person split rule using email domain logic. We validate the split rule against a sample of 100 KulaHub Contacts and present the results to the customer for manual review of any ambiguous cases before production migration.

  4. Sandbox migration and reconciliation

    We run a full migration into Nutshell using production-like data volume from the KulaHub extract. The customer reviews the reconciled record counts (Companies in, Persons in, Activities in), spot-checks 20-30 random Person records against the KulaHub source for field-level accuracy, and confirms the GDPR suppression flags are intact. Any mapping corrections or custom field additions happen in the sandbox phase. The customer signs off the sandbox results before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (validated), Companies (grouped by domain from KulaHub Contacts), Persons (linked to Companies), Activities (Tasks and Events in chronological order), Documents (Attachments linked to Persons), Campaigns (if Engagement suite is in scope), and GDPR preference fields (applied last as bulk field updates to avoid overwriting during Person insert). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and handoff

    We confirm KulaHub is in read-only mode during cutover, run a final delta migration of any records modified during the migration window, then enable Nutshell as the system of record. We deliver a written inventory of any KulaHub Workflows, email automations, or forms requiring rebuild in Nutshell's campaign and automation tools. We support a three-day post-cutover window where we resolve reconciliation issues raised by the customer's team. We do not rebuild automations or email sequences as Nutshell configurations; that is separate scope for the customer's admin or a Nutshell implementation partner.

Platform deep dives

Context on both ends of the pair

KulaHub logo

KulaHub

Source

Strengths

  • Unified CRM, email marketing, and visitor tracking in a single subscription without needing separate tools.
  • Real-time dashboards show sales and marketing activity at a glance from one shared workspace.
  • UK-based support team with direct phone line reduces time-to-resolution for configuration questions.
  • GDPR email preference and unsubscribe management features are built in, supporting EU data compliance obligations.
  • Contact records store notes, documents, and tasks in one place with team-wide visibility.

Weaknesses

  • No publicly accessible API documentation or developer portal complicates integration planning and automation.
  • No self-service bulk data export means data extraction for migration or backup relies on KulaHub-assisted processes.
  • REST API rate limits are not published, making it difficult to estimate migration throughput and schedule large data moves.
  • Restoration of deleted records costs £80 per hour with a 30-day backup window, creating a narrow and expensive recovery window.
  • Pricing tiers beyond the base per-user rate are not published, making total cost of ownership unclear for larger teams.
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 KulaHub 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

    KulaHub: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between two and three weeks for accounts under 5,000 Contacts and 50,000 activity records where KulaHub API access is available without assisted export. Migrations requiring KulaHub-assisted export coordination, extended email campaign histories, or form submission data with unmapped fields move to four to seven weeks because of the additional scoping, API probe work, and manual split review.

Adjacent paths

Related migrations to explore

Ready when you are

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