CRM migration
Field-level mapping, validation, and rollback between InStream and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
InStream
Source
Nutshell
Destination
Compatibility
8 of 10
objects map 1:1 between InStream and Nutshell.
Complexity
BStandard
Timeline
1-2 weeks
Overview
Moving from InStream to Nutshell is a migration from one lightweight CRM to a more structured mid-market platform. InStream's object model is deliberately simple: Contacts with social profile enrichment, Companies, Kanban-style Pipelines with user-defined stage names, Lists for segmentation, and activity history attached to contact records. Nutshell adds a more opinionated data model with People and Companies as separate primary objects, a defined Pipeline and Deal structure with stage probabilities, native Activity timeline, and built-in reporting. We handle the key schema translation points: InStream's free-text pipeline stages require explicit mapping to Nutshell stage values, social profile URLs transfer but the live enrichment snapshot does not, and InStream's List membership migrates as Tags in Nutshell. Workflows and automations are not migrated as code; we deliver a written inventory for the customer's admin to rebuild in Nutshell.
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 InStream 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.
InStream
Contact
Nutshell
Person
1:1InStream Contacts map directly to Nutshell People. Standard fields (name, email, phone, address, social profile URLs) migrate 1:1. InStream's social profile enrichment from LinkedIn, Twitter, and Facebook transfers as URL fields only; the live-enriched data snapshot does not migrate because InStream pulls it from external APIs at import time rather than storing it as independent record fields. We extract all available contact fields from the InStream export and cross-reference against Nutshell's Person field schema to flag any custom properties requiring field creation before import.
InStream
Company
Nutshell
Company
1:1InStream Company records map to Nutshell Company. Company name, domain, industry, size, and address fields migrate 1:1. The Company record is created before any associated Person import so that the Person-to-Company link resolves at insert time. InStream's Company is a separate object from Contact, matching Nutshell's People-and-Companies data model.
InStream
Deal
Nutshell
Deal
1:1InStream Deals map to Nutshell Deals with deal name, value, expected close date, and associated Person and Company links preserved. The primary translation work is in pipeline and stage mapping, which is handled as a separate configuration step. InStream Deals without a linked Contact or Company are imported as standalone Deals in Nutshell with a flag for manual reassignment.
InStream
Pipeline Stage
Nutshell
Pipeline Stage
lossyInStream allows free-text pipeline stage names with no enforced taxonomy. We capture the complete stage name-to-order mapping during discovery and explicitly configure Nutshell Pipeline stages to match. Stage probability percentages from InStream (if set) transfer to Nutshell stage weights. Any stage that does not exist in the Nutshell pipeline schema is created during configuration before Deal import begins.
InStream
List
Nutshell
Tag
1:1InStream Lists are a segmentation mechanism for grouping Contacts. Nutshell does not use a separate List object; instead, Tags attach directly to People, Companies, and Deals. We map InStream List membership to Nutshell Tags, preserving the original List name as the Tag label. A Contact belonging to multiple InStream Lists generates multiple Tags in Nutshell on the same Person record.
InStream
Activity: Email
Nutshell
Activity (Email)
1:1InStream email history attached to Contacts migrates to Nutshell Activity records of type email. Email subject, body, timestamp, and sender/recipient addresses transfer to the Activity fields. The Activity is linked to the corresponding Person in Nutshell. Attachments migrate as file references where supported; large attachments may require manual handoff.
InStream
Activity: Call
Nutshell
Activity (Call)
1:1InStream call records (duration, timestamp, disposition if recorded) map to Nutshell Activity records of type call. Call notes and outcome migrate to the Activity body. The call record is linked to the Person the activity was logged against in InStream.
InStream
Activity: Meeting
Nutshell
Activity (Meeting)
1:1InStream meeting records migrate to Nutshell Activity records of type meeting. Meeting title, date, location, and attendee list transfer to the Activity. Attendee Person records are resolved via email match and linked in Nutshell.
InStream
Tag
Nutshell
Tag
1:1InStream Tags migrate directly to Nutshell Tags on the same record they were attached to in InStream. Tag labels transfer as-is. Tags are applied to Person, Company, and Deal records based on the InStream tagging context.
InStream
Custom Field
Nutshell
Custom Field
lossyInStream does not publish its custom field schema via a public API reference. We extract available field definitions from the InStream UI export during discovery and cross-reference them against Nutshell's custom field API. Each custom field is created in Nutshell with the appropriate field type (text, number, date, dropdown, checkbox) before the data import phase. Any unmapped fields are flagged in a pre-cutover review document for the customer to decide on disposition.
| InStream | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Pipeline Stage | Pipeline Stagelossy | Fully supported | |
| List | Tag1:1 | Fully supported | |
| Activity: Email | Activity (Email)1:1 | Fully supported | |
| Activity: Call | Activity (Call)1:1 | Fully supported | |
| Activity: Meeting | Activity (Meeting)1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | 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.
InStream gotchas
Free plan 100-contact cap applies to total contacts, not just active ones
Social profile enrichment does not migrate as raw data
Pipeline stage names are free-text and not normalized
Custom fields schema is not publicly documented
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 plan tier confirmation
We audit the source InStream account for record counts (Contacts, Companies, Deals, Activities), custom field definitions extracted from UI export, pipeline stage names and order, active Lists and their member counts, and the account's current plan tier. We confirm whether the account is on the free plan and verify contact count against the 100-contact ceiling. The discovery output is a written migration scope with object counts, a preliminary field mapping, and a plan tier recommendation if the free-plan cap applies.
Schema extraction and Nutshell configuration
We extract all available custom field definitions from InStream's export and map them to Nutshell custom field equivalents. We configure Nutshell Pipelines to match the InStream pipeline stage names and order, creating any missing stages in Nutshell before data import begins. Tags (from InStream Lists) are identified for creation in Nutshell. The Nutshell configuration is validated in a pre-production environment before live data is touched.
Company and Person import in dependency order
We import Nutshell Companies first using InStream Company records. The Person import follows, with each Person's Company link resolved at insert time against the imported Company records. This dependency order ensures that Person-to-Company lookups are satisfied on first pass and do not require a second reconciliation run. Tags are applied to Person records after the initial import completes.
Deal import with pipeline stage resolution
InStream Deals import into Nutshell Deals using the pre-configured pipeline stages. The stage name from InStream is matched to the equivalent Nutshell stage by the mapping table created during discovery. Deals without a linked Person or Company are imported as standalone Deals and flagged for manual reassignment. Deal value, expected close date, and associated tags transfer from InStream.
Activity history migration
Emails, calls, meetings, and tasks from InStream migrate to Nutshell Activity records linked to the corresponding Person. We batch Activity records in chunks to avoid timeout and resolve the Person reference by email match at migration time. Activity timestamps are preserved to maintain the original timeline ordering. Attachments and notes are migrated as file references where the destination API supports them.
Cutover, validation, and automation handoff
We freeze writes in InStream during the cutover window, run a final delta migration of any records modified during the migration period, then confirm Nutshell as the system of record. We deliver a written inventory of InStream Lists (now Tags in Nutshell) and any custom field gaps identified during extraction. Workflows, if any exist in the InStream paid plan, are listed with their trigger conditions and actions for the customer's admin to rebuild in Nutshell. We do not rebuild automations as part of the migration scope.
Platform deep dives
InStream
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 InStream and Nutshell.
Object compatibility
2 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
InStream: Not publicly documented..
Data volume sensitivity
InStream 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 InStream to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your InStream 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 InStream
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.