CRM migration

Migrate from X2CRM to Nutshell

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

X2CRM logo

X2CRM

Source

Nutshell

Destination

Nutshell logo

Compatibility

67%

6 of 9

objects map 1:1 between X2CRM and Nutshell.

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from X2CRM to Nutshell is a schema translation exercise, not a straight record copy. X2CRM's eight-module architecture (Marketing, Sales, Service, and supporting modules) maps across to Nutshell's four core record types (People, Companies, Leads, Pipeline) with a dependency chain that must be sequenced correctly: Accounts must land before Contacts can be linked, and Owners must be resolved before Deals can reference them. X2CRM's self-hosted deployments introduce attachment extraction complexity, and its Platinum-tier-only API rate limiting must be negotiated before bulk export begins. X2Flow automation records do not export as portable data; we deliver a written inventory of every active workflow for the customer's admin to rebuild in Nutshell. Activity history (calls, emails, meetings, notes) migrates into Nutshell's activity timeline with parent-record lookup resolution so that engagement records attach to the correct People, Companies, or Pipeline entries in chronological order.

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

X2CRM logo

X2CRM

What's pushing teams away

  • Customer support quality is frequently criticized as underwhelming and slow to respond, with users citing difficulty reaching knowledgeable staff for technical issues.
  • The platform lacks the ecosystem depth of larger CRMs—no extensive marketplace of third-party integrations, and fewer pre-built connectors than HubSpot or Salesforce.
  • Documentation and community resources are thin compared to competitors, making self-service troubleshooting difficult for non-standard use cases.
  • Scaling to larger teams reveals UI performance issues and limited reporting depth, with users noting the analytics dashboard feels basic for enterprise forecasting needs.

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

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

X2CRM

Account

maps to

Nutshell

Company

1:1
Fully supported

X2CRM Accounts map directly to Nutshell Companies. The account name becomes the Company name, industry classification maps to Nutshell's Industry dropdown, and lifetime value and employee count become Company-level custom fields. X2CRM's account-level tags migrate to Company-level tags in Nutshell. Accounts must be imported first because Contact records in X2CRM carry a foreign key reference to the associated account; this lookup must be resolved before Contact insert to avoid orphaned relationships.

X2CRM

Contact

maps to

Nutshell

People (qualified) or Lead (unqualified)

1:many
Fully supported

X2CRM Contacts with a status indicating a qualified or active relationship (customer, sales-ready) map to Nutshell People and get linked to the corresponding Company record via the X2CRM account relationship. Contacts without an associated account or marked as early-stage leads map to Nutshell Leads. Any lead status or lifecycle indicator from X2CRM's contact record is preserved as a custom field (original_status__c) for audit and segmentation in Nutshell.

X2CRM

Deal

maps to

Nutshell

Pipeline (Opportunity)

1:1
Fully supported

X2CRM Deals map to Nutshell Pipeline entries with the deal name as the Opportunity name, deal value as the Amount, stage mapping to a Nutshell Pipeline stage, and the probability percentage preserved as a custom field (original_probability__c). Deal owner maps to the Nutshell User by email resolution. X2CRM's deal-level notes and activity logs attached to the Deal record are linked as People activity entries under the associated Contact or Lead after parent-record lookup.

X2CRM

Custom Field (per module)

maps to

Nutshell

Custom Field (People, Company, Lead)

lossy
Fully supported

X2CRM custom fields vary by module and installation. We inspect the X2CRM field schema via API discovery during scoping, then map each custom field to a type-matched Nutshell custom field: Text fields map to Nutshell's Text type (225 character limit), long text to Long Text, currency values to Currency, dates to Date, and multi-value text fields to Multi-Select Picklist. Custom fields must be created in Nutshell before migration; we include field creation instructions in the pre-migration setup guide and validate the destination schema against the discovered X2CRM schema.

X2CRM

Product

maps to

Nutshell

Product (Nutshell catalog)

1:1
Fully supported

X2CRM Products (with SKU, price, and description) map to Nutshell's Product catalog. Product pricing, unit of measure, and active/inactive status migrate directly. Product associations to Deals are preserved by linking the Nutshell Product to the migrated Pipeline entry via the deal's line-item data, which we reconstruct during the Deal mapping phase.

X2CRM

Activity: Call, Meeting, Task

maps to

Nutshell

People Activity or Company Activity

1:1
Fully supported

X2CRM Activities (calls, meetings, tasks) carry a related record type and reference (contact, account, or deal). We map call engagements to Nutshell People activities with call disposition and duration stored in custom fields; meeting engagements map similarly with location and attendee information. Task engagements map as open or completed activities linked to the corresponding People or Company record. All timestamps are preserved so the Nutshell activity timeline reflects the original chronological order from X2CRM.

X2CRM

Activity: Note

maps to

Nutshell

People Note or Company Note

1:1
Fully supported

X2CRM Notes attached to Contacts or Accounts migrate as People Notes or Company Notes in Nutshell respectively. Note body text migrates as plain text; any rich content or attachments stored within the Note are extracted separately and reattached as file uploads to the Nutshell Note record. Note timestamps and author information (Owner) map to the Nutshell activity attribution fields.

X2CRM

Service

maps to

Nutshell

Product or Custom Field Set

lossy
Fully supported

X2CRM Services track recurring service contracts or subscriptions linked to Accounts. We migrate Services as Nutshell Products with a custom field (service_type__c) set to 'Service Contract' to distinguish them from product catalog items, or as a separate custom field group on the associated Company record with renewal date and status fields. The customer's preference is documented during scoping.

X2CRM

X2Flow Workflow

maps to

Nutshell

No direct equivalent (manual rebuild required)

1:1
Fully supported

X2Flow stores automation logic as trigger-action pairs with drag-and-drop UI configurations that are not accessible via the X2CRM REST API in a portable format. We extract every X2Flow workflow during discovery: trigger type, condition criteria, action sequence, and associated module. We produce a Workflow Reconstruction Document that maps each X2Flow rule to an equivalent automation logic in Nutshell's automation rules or to a manual process note for the customer to implement post-migration. Workflows do not execute or transfer as code.

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.

X2CRM logo

X2CRM gotchas

High

Rate limiting is gated behind Platinum Edition

High

Workflow automation (X2Flow) does not export as portable data

Medium

API requires Content-Type: application/json on all write requests

Medium

Data validation errors return HTTP 422 and may halt batch imports

Low

Self-hosted attachment storage may require manual file extraction

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

  • X2CRM's eight-module schema requires careful split and merge planning

    X2CRM's modular architecture spreads data across multiple modules that Nutshell consolidates into fewer record types. Contacts from the Sales and Service modules all map to Nutshell People or Leads, but the originating module context is lost unless preserved as a custom field. Products and Services from separate modules both map to Nutshell's Product catalog, requiring a custom field to disambiguate. We discover the full X2CRM module schema during scoping and produce a schema translation map that resolves these splits before migration begins, preventing records from landing in the wrong Nutshell record type.

  • Self-hosted X2CRM attachment storage requires manual file extraction

    X2CRM deployments on self-hosted infrastructure may store file attachments as local disk paths rather than in a cloud object store. If the customer is migrating from a self-hosted instance, the attachment storage backend must be accessible for extraction—typically requiring SSH or admin panel access to expose the upload directory. We coordinate with the customer's IT team during discovery to confirm the attachment backend, and the file extraction step runs before the main migration data pull begins. Without this step, attachments are not included in the migration payload.

  • X2CRM API rate limiting is gated behind Platinum tier

    The X2CRM REST API returns HTTP 429 (Too Many Requests) only when rate limiting is explicitly enabled in API settings, and this feature is gated behind the Platinum tier. Non-Platinum instances have no documented rate limit ceiling, which creates a migration risk for Platinum-tier customers: bulk exports against a rate-limited API can be throttled mid-migration without warning. We negotiate a dedicated API token with a raised or disabled rate limit window before migration begins and implement pacing controls that monitor for 429 responses to adjust batch size dynamically.

  • X2CRM workflows (X2Flow) do not export as portable data

    X2Flow stores automation logic as trigger-action pairs with UI configuration that is not accessible via the REST API in a portable format. Customers moving to Nutshell must rebuild their workflows manually or commission a consultant to reverse-engineer the logic. We extract every workflow's trigger type, condition criteria, and action sequence during discovery and produce a Workflow Reconstruction Document that maps each X2Flow rule to an equivalent logic in Nutshell's automation rules. The rebuild itself is outside migration scope.

  • Data quality issues amplify across Nutshell's simpler schema

    X2CRM installations often contain duplicate Contact records, inconsistent address formats, and missing required fields that were tolerable in X2CRM's flexible schema but become blocking in Nutshell's required field model during bulk import. Dirty data does not stay contained—it creates orphaned relationships and import failures that require post-import cleanup. We run a data quality assessment during discovery and document records that will fail Nutshell's required field validation so the customer can cleanse them before migration begins, or we flag them during the dry-run phase for customer review.

Migration approach

Six steps for a successful X2CRM to Nutshell data migration

  1. Discovery and schema audit

    We audit the source X2CRM instance across all eight modules and any custom modules, cataloging every standard and custom field, active X2Flow workflows, record counts per module, and the attachment storage backend (cloud API or self-hosted disk path). We pair this with a review of the customer's Nutshell plan to confirm which custom field types and pipeline features are available. The discovery output is a written migration scope, a schema translation map showing how each X2CRM module maps to Nutshell record types, and a data quality pre-assessment identifying records at risk of import failure.

  2. Attachment extraction (self-hosted X2CRM)

    If the customer is on a self-hosted X2CRM instance, we coordinate with their IT team to extract the attachment storage directory before the main migration data pull begins. We use the confirmed file path to download all attachment blobs, assign each a unique file reference tied to its parent X2CRM record ID, and stage them for re-upload into Nutshell after the main record migration. This step runs in parallel with schema configuration and must complete before the People and Company import phase.

  3. Destination schema configuration

    We configure the Nutshell destination: creating custom fields on People, Companies, and Leads to match the X2CRM field schema, setting up additional Pipelines if the customer uses multiple X2CRM sales processes, and confirming User accounts for Owner resolution. Custom fields are created in Nutshell before migration data is imported so that the field identifiers exist at insert time. We run a pre-flight check confirming that all required Nutshell fields are available or have been set as optional, preventing mid-import field-not-found errors.

  4. Dry-run migration and reconciliation

    We run a dry-run migration with a representative sample (50-100 records across Contacts, Accounts, Deals, and Activities) to validate the field mapping logic, confirm attachment re-upload works for the self-hosted file set, and surface any data quality issues. The customer reviews the sample records in Nutshell and confirms the mapping before production migration begins. Corrections to field mapping, custom field type, or pipeline stage names are applied before the full migration proceeds.

  5. Production migration in dependency order

    We run the production migration in record-dependency order: first Companies (from X2CRM Accounts), then People and Leads (with the account link resolved to the Nutshell Company), then Pipeline entries (with owner, amount, and stage resolved), then Products and Services, then Activity history (calls, meetings, notes, tasks). Each phase emits a row-count reconciliation report. We use batch chunking and handle X2CRM's HTTP 422 validation errors per-record: records that fail validation are logged with the error message, corrected when possible, and retried before the migration is marked complete for that phase.

  6. Final cutover and workflow handoff

    We freeze X2CRM writes during cutover, run a final delta migration of any records created or modified during the migration window, then confirm Nutshell is the system of record. We deliver the complete migration record count report and the X2Flow Workflow Reconstruction Document to the customer's admin team. We offer a short hypercare window (up to five business days post-cutover) for reconciliation issues. We do not rebuild X2Flow workflows in Nutshell, configure Nutshell automation rules, or provide post-migration admin support as standard scope; these are separate engagements.

Platform deep dives

Context on both ends of the pair

X2CRM logo

X2CRM

Source

Strengths

  • Drag-and-drop X2Flow workflow builder accessible to non-developers for basic automation sequences.
  • All-in-one platform includes marketing, sales, and service modules without requiring separate product purchases.
  • Self-hosted and cloud deployment options give organizations control over where their CRM data resides.
  • Open-source codebase with modern language implementation for teams that need code-level customization.

Weaknesses

  • Thin third-party integration ecosystem limits connectivity to tools outside the core CRM modules.
  • Limited review volume on G2 and Capterra (17 reviews) makes it difficult to assess long-term reliability compared to higher-volume competitors.
  • Support responsiveness issues documented across multiple review sources raise risk for teams needing reliable escalation paths.
  • Smaller market presence means fewer certified implementation partners and less community-generated content, tutorials, and troubleshooting guides.
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 X2CRM 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

    X2CRM: Not publicly documented. X2CRM is an open-source / self-hosted CRM, so practical throughput is bounded by the customer's PHP/MySQL deployment rather than a vendor-imposed limit. We benchmark export queries against the customer's hosted instance before the cutover sync..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your X2CRM 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 2,000 Deals with no self-hosted attachment extraction. Migrations with self-hosted X2CRM instances, large attachment sets, complex multi-module custom field schemas, or high activity volumes (over 200,000 activity records) move to six to ten weeks because of the attachment extraction coordination, schema mapping across all eight X2CRM modules, and the activity history reconciliation step. A dry-run migration is included in the standard scope and runs before production migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

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