CRM migration
Field-level mapping, validation, and rollback between Corteza CRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Corteza CRM
Source
Nutshell
Destination
Compatibility
8 of 10
objects map 1:1 between Corteza CRM and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Corteza CRM to Nutshell is a shift from a self-hosted open-source platform with a flexible module builder to a cloud-native SMB-focused CRM with per-user pricing. Corteza's module-based data model maps to Nutshell's People, Companies, and Deals structure, but custom modules require field-level flattening into custom fields on Nutshell's standard objects. We resolve Corteza's namespace export blocks (orphaned page references to deleted modules) before extraction, preserve workflow definitions as a written inventory for admin rebuild, and use Nutshell's REST API with batch chunking and retry logic for activity history migration. Automations, custom modules-as-objects, and namespace configuration do not migrate as code; we deliver a written schema map for the customer to implement post-migration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Corteza CRM 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.
Corteza CRM
Account
Nutshell
Company
1:1Corteza Account records map to Nutshell Company. Industry classification, address data, and social media URLs transfer to the corresponding Nutshell Company fields. Account-industry and account-type picklist values are mapped to Nutshell's custom field options. We create Companies before any related People or Deal records so that the People-Company relationship is satisfied at insert time.
Corteza CRM
Contact
Nutshell
Person
1:1Corteza Contact records map to Nutshell Person with the first name, last name, email, phone, job title, and job level fields transferring directly. The Contact-Account relationship maps to Nutshell's Person-Company link. If the source Contact has no associated Account, we create a placeholder Company record to satisfy Nutshell's relationship model.
Corteza CRM
Lead
Nutshell
Person (unqualified)
1:1Corteza Leads map to Nutshell People in an unqualified state. The lead rating and lead source transfer to Nutshell custom fields. We flag converted vs unconverted Leads during migration: converted Leads that follow the Corteza lead-conversion workflow (creating Account, Contact, and Opportunity) map through the standard Account-Contact-Opportunity path above. Unconverted Leads become Nutshell People with a lead_status custom field preserved for segmentation.
Corteza CRM
Opportunity
Nutshell
Deal
1:1Corteza Opportunities map to Nutshell Deals with stage, amount, probability, and expected close date transferring directly. The Opportunity-Account relationship maps to the Deal-Company link. OpportunityContactRole records from Corteza become Nutshell People linked to the Deal. Loss reason and win reason custom fields map to Nutshell's loss_reason and notes fields.
Corteza CRM
Campaign
Nutshell
Campaign (via custom field or tag)
lossyCorteza Campaigns map to a Nutshell custom object or tag structure. Because Nutshell does not have a native CampaignMember object equivalent, we link Campaign membership to People via a tag or custom multi-select field. Campaign member status (sent, opened, responded) is preserved in a custom field on the Person record. If the customer requires CRM-native campaign reporting, we document the Campaign-to-Deal attribution model as a separate reporting configuration task.
Corteza CRM
Case
Nutshell
Case
1:1Corteza Cases map to Nutshell Cases. Status, priority, origin, and resolution fields transfer directly. Case-Account and Case-Contact relationships map to the Nutshell Case-Company and Case-Person links. Case milestones migrate as Case comment entries or a custom timeline field depending on the milestone granularity required.
Corteza CRM
Contract
Nutshell
Deal (with custom fields)
1:1Corteza Contract records with line items (ContractLineItem) map to Nutshell Deals with a contract_status custom field and contract terms stored in the Deal description or a custom long-text field. ContractContactRole records link the relevant People to the Deal. If the customer requires a formal contract object, we create a Nutshell custom record type on Deal with fields for contract start date, end date, and renewal terms.
Corteza CRM
Task
Nutshell
Activity
1:1Corteza Tasks (standalone or related to any parent record) map to Nutshell Activities linked to the corresponding Person or Company. Task status, due date, assignee, and description transfer directly. We resolve assignee by email against Nutshell User records and hold any unresolved assignees in a reconciliation queue for the customer to provision.
Corteza CRM
Event
Nutshell
Activity (meeting or call)
1:1Corteza Events (meetings, calls) map to Nutshell Activities with datetime, duration, and location preserved. Attendee references from Corteza map to Nutshell Person links on the Activity. We set the Activity type to meeting or call based on the Corteza event type field.
Corteza CRM
Custom Module
Nutshell
Custom fields on standard objects
lossyCorteza custom modules (created via the low-code module builder) require flattening into Nutshell's standard objects. We audit each custom module during discovery, extract its field definitions and types, and propose a mapping to Nutshell custom fields on the appropriate standard object (Person, Company, or Deal). Custom module relationships are resolved as custom lookup fields or tag-based associations. Nutshell's Foundation and Pro tiers support custom fields; custom record types require Enterprise tier.
| Corteza CRM | Nutshell | Compatibility | |
|---|---|---|---|
| Account | Company1:1 | Fully supported | |
| Contact | Person1:1 | Fully supported | |
| Lead | Person (unqualified)1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Campaign | Campaign (via custom field or tag)lossy | Fully supported | |
| Case | Case1:1 | Fully supported | |
| Contract | Deal (with custom fields)1:1 | Fully supported | |
| Task | Activity1:1 | Fully supported | |
| Event | Activity (meeting or call)1:1 | Fully supported | |
| Custom Module | Custom fields on standard objectslossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Corteza CRM gotchas
Namespace export fails on orphaned page references
Workflow automation breaks after restore or upgrade
Field-level security does not cover all access scenarios
Federation is experimental and not production-ready
No publicly documented API rate limits
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Discovery and source audit
We audit the source Corteza CRM instance across modules in use, custom module definitions and field types, namespace page structure (including orphaned page references), workflow definitions, active vs inactive records, and API discovery via the Corteza JSON API. We identify any namespace export blockers, custom module field types that require flattening, and workflow definitions that will need a written rebuild inventory. The discovery output is a written migration scope, a source field inventory, and a pre-flight checklist confirming the source instance is in a stable state (no recent restore or upgrade pending).
Schema design and custom field flattening plan
We design the destination schema in Nutshell. This includes creating custom fields on Person, Company, and Deal for any flattened Corteza custom module data, configuring custom field types (text, number, date, multi-select picklist) to match the source field semantics, and setting up tag structures for association data that does not fit a structured field. If the customer requires multiple Deal record types, we confirm Nutshell tier and either propose a custom field-based workaround (for Pro) or plan the Enterprise custom record type approach. Schema design is documented in a written spec for customer sign-off before any data moves.
Namespace cleanup and data extraction
We resolve any orphaned page references in the Corteza namespace that block export, then extract data via the Corteza JSON API using the module list as the extraction unit. We run a data quality check on the extracted records: duplicate detection (by email for People, by domain for Companies), required field completeness, and date format normalization. Any records failing quality gates are flagged in a reconciliation report for the customer to address before migration. This step prevents bad data from entering Nutshell.
Sandbox migration and reconciliation
We run a full migration into a Nutshell trial or sandbox environment using production-like data volume. The customer reviews the migrated records, spot-checks 25-50 random People and Deals against the Corteza source, and signs off the schema and field mapping before production migration begins. Any custom field mapping corrections, tag strategy decisions, or Deal record type consolidation choices happen in this phase. Nutshell's built-in Import2 tool is available as a fallback for simple record types; API-based migration is used for anything requiring relationship resolution or activity history.
Production migration in dependency order
We run production migration in record-dependency order: Companies (from Corteza Accounts) first, then People (with Company relationship resolved), then Deals (with Company and Person links resolved), then Activities (Tasks and Events via API chunking), then Cases, then custom field data on each standard object. We use Nutshell's REST API with batch chunking, retry logic, and rate-limit monitoring throughout. Each phase emits a row-count reconciliation report before the next phase begins. We freeze Corteza writes during cutover and run a delta migration of any records modified during the migration window.
Cutover, validation, and workflow rebuild handoff
We enable Nutshell as the system of record after the final delta migration completes. We deliver the custom module flattening map and workflow definition inventory to the customer's admin team with a written guide for rebuilding Corteza workflows in Nutshell or a connected automation tool. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Corteza workflows as Nutshell automations inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Corteza CRM
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Corteza CRM and Nutshell.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Corteza CRM: Not publicly documented.
Data volume sensitivity
Corteza CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Corteza CRM to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Corteza CRM to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Corteza CRM
Other ways to arrive at Nutshell
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.