CRM migration
Field-level mapping, validation, and rollback between MetroLeads and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
MetroLeads
Source
Nutshell
Destination
Compatibility
7 of 10
objects map 1:1 between MetroLeads and Nutshell.
Complexity
BStandard
Timeline
1-3 weeks
Overview
MetroLeads organizes data around a lead-centric model where each Lead carries a state, source_tags, lead_fields for custom properties, and a lead_group, with Companies serving as parent containers via a /companies/{uuid}/leads hierarchy. Nutshell uses a People object for primary contacts, a separate Company object for business entities, a distinct Lead object for prospects not yet converted, and Deals for pipeline tracking. This migration restructures the MetroLeads lead-centric model into Nutshell's Contact-Company-Lead-Deal architecture, requiring pre-migration cataloging of tenant-specific state values, custom property ID resolution, and lead_group translation into Nutshell tags or shared lists. We do not migrate MetroLeads Intellisearch scoring logic or Advanced Data Module schemas as functional code; we export raw configuration and deliver a written mapping document for the customer's admin to implement in Nutshell custom fields and scoring rules.
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 MetroLeads 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.
MetroLeads
Lead
Nutshell
People or Lead (context-dependent)
1:manyMetroLeads Leads with state values such as contacted, unqualified, or new map to Nutshell People. Leads with state indicating a prospect awaiting qualification map to Nutshell's Lead object. We extract all unique tenant-specific state values during the export scan, present them to the customer for mapping to Nutshell People status (new, in progress, won, lost, archived), and preserve the original MetroLeads state string in a custom field ml_original_state__c for audit and reporting after migration.
MetroLeads
Company
Nutshell
Company
1:1MetroLeads Company records map directly to Nutshell Company. The Company UUID is preserved as a legacy reference ID on the Nutshell Company record for audit traceability. MetroLeads /companies/{uuid}/leads establishes the parent-child hierarchy; we create the Nutshell Company first and then associate each migrated Lead to the correct Company via the People-Company link.
MetroLeads
Event
Nutshell
Activity (Task)
1:1MetroLeads Events track engagement history tied to Leads. event_type (call, email, meeting, note) maps to Nutshell Activity records of the corresponding subtype. The event timestamp becomes the Activity date, and any event metadata (disposition, duration, outcome) maps to custom Activity fields. We preserve event-to-lead associations by resolving the People or Company reference at migration time.
MetroLeads
Phones (embedded in Lead)
Nutshell
People phone field
1:1MetroLeads embeds phones as an array within Lead records with type metadata (Work, Mobile, Fax, etc.). We flatten each phone entry into a standard contact-phone table, map type metadata to Nutshell's phone type labels, and insert the primary phone number into the standard People phone field during import.
MetroLeads
Emails (embedded in Lead)
Nutshell
People email field
1:1MetroLeads embeds emails as an array within Lead records with type metadata. We extract each email entry and map the primary Work email to the Nutshell People email field. Personal and other email types migrate to a custom email field if present in the MetroLeads schema.
MetroLeads
User
Nutshell
User
1:1MetroLeads User records with id, name, and role assignments export with their role and territory metadata. We match Nutshell Users by email during import to preserve owner assignments on migrated People and Company records. Any MetroLeads User without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision before record import resumes.
MetroLeads
Source Tags
Nutshell
People tags or sources
lossyMetroLeads source_tags are string arrays on Lead records indicating lead disposition (e.g., disposition_answered). We export raw tag strings and map them to Nutshell People tags and/or the People source field depending on whether the tag represents a source or a disposition. The customer chooses tag strategy during scoping.
MetroLeads
Lead Group
Nutshell
Nutshell tags, shared list, or campaign
lossyMetroLeads lead_group is a UUID reference grouping related Leads. There is no direct Nutshell equivalent. We export the UUID and group membership as a custom field ml_lead_group__c, then evaluate whether the customer wants lead_groups translated to Nutshell tags, shared lists, or campaign memberships based on the grouping use case.
MetroLeads
Intellisearch (saved searches and scoring)
Nutshell
People custom scoring fields or documented mapping
1:1MetroLeads Intellisearch is a platform-specific scoring and search layer. The scoring logic and saved search definitions do not map 1:1 to standard Nutshell fields. We export the raw Intellisearch configuration as a written document and map any computed lead scores to a custom People field ml_intellisearch_score__c. The customer's admin rebuilds the scoring model in Nutshell IQ or custom fields using this document.
MetroLeads
Advanced Data Modules
Nutshell
Nutshell custom fields
1:1Advanced Data Modules are tenant-specific data structures extending MetroLeads's base schema. Their field definitions vary per organization. We export the module schema alongside records, map fields to Nutshell custom fields on the People or Company object, and deliver a written schema map for the customer's admin to validate and extend post-migration.
| MetroLeads | Nutshell | Compatibility | |
|---|---|---|---|
| Lead | People or Lead (context-dependent)1:many | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Event | Activity (Task)1:1 | Fully supported | |
| Phones (embedded in Lead) | People phone field1:1 | Fully supported | |
| Emails (embedded in Lead) | People email field1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Source Tags | People tags or sourceslossy | Fully supported | |
| Lead Group | Nutshell tags, shared list, or campaignlossy | Mapping required | |
| Intellisearch (saved searches and scoring) | People custom scoring fields or documented mapping1:1 | Fully supported | |
| Advanced Data Modules | Nutshell custom fields1:1 | Mapping required |
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.
MetroLeads gotchas
Merge API field priority can silently overwrite data
Custom lead_fields use property IDs not property names
Tenant-specific state values require pre-migration catalog
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 property catalog extraction
We audit the source MetroLeads account by paginating /companies endpoints to extract all Company records, then recursively fetch each company's Lead list via /companies/{uuid}/leads. In parallel we call the property schema endpoint to build the ID-to-name mapping for all custom lead_fields, extract all unique state values for lifecycle mapping, and catalog the Intellisearch configuration and any Advanced Data Module schemas. The discovery output is a written migration scope including the state-value map, property ID resolution table, and object mapping draft.
Merge-pending pair identification
We scan for MetroLeads merge-pending Lead pairs flagged by the platform API during export. For each pair we present the customer with the two records and ask which should survive as the primary record in Nutshell. We record this decision and apply it during import rather than accepting the MetroLeads merge API default, which silently discards the secondary record's fields.
Nutshell schema provisioning
We create all required Nutshell custom fields (ml_original_state__c, ml_lead_group__c, ml_intellisearch_score__c, and any Advanced Data Module field mappings) before data import begins. We also configure Nutshell People status values to match the customer's MetroLeads state-value mapping confirmed in step one. Custom fields are created in a Nutshell sandbox or the production account with admin credentials before any records are loaded.
Owner reconciliation and User provisioning
We extract every distinct MetroLeads User referenced on Lead, Company, and Event records and match by email against the Nutshell destination User table. Any MetroLeads User without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision. Migration cannot proceed past this step because Nutshell requires valid Owner assignments on People and Company records.
Production migration in dependency order
We run production migration in record-dependency order: Nutshell Users (validated against provisioning queue), Companies (from MetroLeads Companies), People (from MetroLeads Leads with state mapped to People status), Lead records (for MetroLeads Leads that map to Nutshell Leads), Activity history (Events mapped to Tasks via Nutshell import API), source_tags (mapped to Nutshell People tags), and lead_group membership (mapped to ml_lead_group__c or Nutshell tags per scoping choice). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and Intellisearch handoff
We freeze MetroLeads writes 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 the Intellisearch configuration document and Advanced Data Module schema map to the customer's admin team with recommendations for implementing equivalent scoring and custom data structures in Nutshell. We support a five-business-day hypercare window where we resolve any reconciliation issues raised by the sales team.
Platform deep dives
MetroLeads
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 MetroLeads 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
MetroLeads: Not publicly documented in the available research data.
Data volume sensitivity
MetroLeads 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 MetroLeads to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your MetroLeads 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 MetroLeads
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.