CRM migration
Field-level mapping, validation, and rollback between e-shot and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
e-shot
Source
Nutshell
Destination
Compatibility
8 of 10
objects map 1:1 between e-shot and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from e-shot to Nutshell is a platform-category migration: e-shot is a contact-centric email marketing platform with campaigns, automated series, landing pages, and forms; Nutshell is a full CRM with Accounts, People, Deals, Activities, and a built-in email marketing suite. The core migration focuses on e-shot Contacts with their custom field values and tag assignments, because that is the shared record type both platforms hold. Email Templates from e-shot campaigns become reusable Nutshell email templates. Automated Series, Landing Pages, Forms, Preferences, Website Popups, and Saved Filters do not have direct Nutshell equivalents and are documented as a written inventory for the customer's admin to rebuild in Nutshell's automation and web-tracking tools. Merge-tag fallback syntax from e-shot (*_fieldname=fallback('text')_*) is extracted from the contact field manager and converted to Nutshell default-value rules so contacts without a field value display cleanly rather than raw merge tags. We export e-shot contacts via paginated API calls within the plan's hourly rate limit because e-shot does not expose a bulk-export endpoint.
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 e-shot 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.
e-shot
Contact
Nutshell
Person
1:1e-shot Contacts map directly to Nutshell People. Every standard field (name, email, phone, address) maps to the equivalent Nutshell Person field. Custom contact fields from e-shot (defined in Settings > Contacts field manager) are created as custom Person fields in Nutshell before import, preserving the original field label, type (text, number, date, picklist), and any required-setting. e-shot merge-tag field names (*_fieldname_*) are converted to Nutshell custom field API names. Merge-tag fallback values are extracted from the field manager and applied as Nutshell default-value rules on each custom field so contacts without data display cleanly.
e-shot
Contact Field
Nutshell
Person Custom Field
1:1e-shot's fully customisable contact field schema requires pre-creation in Nutshell before any contacts are loaded. We extract every field name, data type, and fallback definition from the contact field manager. Text fields become Nutshell text custom fields; number fields become number custom fields; date fields become date custom fields; picklist fields become Nutshell drop-down custom fields with the same option values. The migration cannot proceed until the destination schema matches the source field definitions, because each contact record carries field values that must land in correctly typed destination fields.
e-shot
Tag
Nutshell
Person Tag
1:1e-shot tags label contacts and segments but are stored as field values or list memberships rather than a distinct tag API object. We extract every distinct tag value and its contact assignments, then create the corresponding tags in Nutshell and link them to the migrated Person records. Tag spelling and casing are preserved exactly as they appear in e-shot.
e-shot
Campaign
Nutshell
Email Template (People-level send)
lossye-shot campaigns contain email subject, body HTML, template content, and send history. We export the HTML body and subject line from each campaign. The HTML becomes a Nutshell email template with the same body content and subject line preserved. Nutshell's template editor accepts HTML import, so design elements, embedded styles, and images transfer as-is. Send history (send date, recipient count, open rate, click rate) is exported as a CSV report and delivered alongside the migration for the customer to reference in Nutshell's analytics. Campaign-level automation triggers do not transfer; they are documented separately.
e-shot
Automated Series
Nutshell
Workflow (documented, not migrated)
1:1e-shot Automated Series are trigger-based email sequences tied to contact behaviour or date conditions. They have no direct Nutshell equivalent as a migratable object. We export the Series name, step count, trigger condition, step timings, and email content as a written inventory document. The customer's admin rebuilds each Series as a Nutshell workflow rule using the exported step content as reference. Tier limits on Series (basic: 3, pro: 25, omni: 100) are noted for reference when planning the rebuild.
e-shot
Landing Page
Nutshell
None (not migratable)
1:1e-shot Landing Pages are tier-gated (basic: 0, pro: 25, omni: 100). Nutshell does not have a native landing page builder. We export published landing page URL, form field definitions, and any associated campaign links as a written inventory. The customer recreates landing pages using a third-party tool (Unbounce, Leadpages, or a website CMS) and connects forms to Nutshell via web-to-lead or a direct integration. We do not migrate landing page content as code or HTML.
e-shot
Form
Nutshell
Nutshell Web-to-Lead Form (documented)
1:1e-shot forms store field definitions, field types, and subscription preference data. We export form field names, types, and preference settings as a written inventory. Contact responses already stored as field values on Contact records migrate as part of the Contact-to-Person migration. The customer's admin recreates web capture forms as Nutshell web-to-lead forms or through a third-party form builder integrated to Nutshell.
e-shot
Preferences
Nutshell
Person custom fields or tags
1:1e-shot contact preferences track opt-in status and subscription interests with tier limits on active preferences (basic: 25, pro: 50, omni: unlimited). We export preference centre structure and per-contact preference values as tag assignments or custom picklist fields on the Nutshell Person record. The customer's admin determines whether preferences become Nutshell custom fields or contact tags based on reporting needs.
e-shot
Saved Filter
Nutshell
Saved View
lossye-shot Saved Filters define dynamic contact segments using field conditions with tier limits (basic: 10, pro: 25, omni: unlimited). We export each filter's name, field conditions, and operator logic. The conditions are converted to Nutshell saved view filter criteria and the saved view is configured in Nutshell post-migration. Dynamic filter refresh behaviour is replicated where Nutshell's saved view supports equivalent operators.
e-shot
Campaign Reports
Nutshell
External reporting (documented export)
1:1e-shot campaign reports include opens, clicks, bounces, unsubscribes, and delivery health per campaign. We export historical report data as CSV files with campaign name, send date, recipient count, open rate, click rate, bounce rate, and unsubscribe rate. These reports are delivered as reference data alongside the migration. Nutshell's built-in email reporting tracks sends from within the platform; the exported CSV serves as the historical benchmark against Nutshell-sent campaigns going forward.
| e-shot | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Contact Field | Person Custom Field1:1 | Fully supported | |
| Tag | Person Tag1:1 | Fully supported | |
| Campaign | Email Template (People-level send)lossy | Fully supported | |
| Automated Series | Workflow (documented, not migrated)1:1 | Mapping required | |
| Landing Page | None (not migratable)1:1 | Fully supported | |
| Form | Nutshell Web-to-Lead Form (documented)1:1 | Fully supported | |
| Preferences | Person custom fields or tags1:1 | Mapping required | |
| Saved Filter | Saved Viewlossy | Fully supported | |
| Campaign Reports | External reporting (documented export)1:1 | 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.
e-shot gotchas
File attachments blocked in bulk email sends
Tier limits apply to active (live) objects only
Merge-tag fallback values must be replicated
No dedicated bulk export endpoint 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 field inventory
We audit the e-shot account to capture the complete contact field schema from Settings > Contacts field manager, including every custom field name, data type, and merge-tag fallback definition. We list all contacts with field values, all tags and tag assignments, all campaign templates with HTML body and subject line, all automated series with step count and trigger logic, and all active landing pages, forms, preferences, and saved filters. The audit confirms which objects are within migration scope and which are documented-only. We also verify the e-shot plan tier to confirm API rate limits that govern export pacing.
Nutshell schema provisioning
We create every Nutshell custom Person field that matches an e-shot contact field, applying the correct data type (text, number, date, drop-down) and setting the default value from the e-shot fallback definition. We create any custom Account fields for fields that logically describe a company rather than a person. We set up Person Tags matching every distinct e-shot tag value. We configure Nutshell saved views matching e-shot saved filter logic. All schema work is validated in Nutshell before any data export begins.
e-shot contact export with pagination
We extract all e-shot contacts via paginated REST API calls, respecting the plan's hourly rate limit. Each page of contacts is written to a staging CSV with the original field names and merge-tag syntax preserved. We run a row-count reconciliation against the e-shot contact list and flag any records that fail to export due to system errors. Tag assignments are extracted separately and joined to the contact export by contact ID. The pagination session is resumable so large exports (over 10,000 contacts) can continue across multiple rate-limit windows without data loss.
Campaign template and report export
We export every e-shot campaign template as HTML with the original body, embedded styles, images, and subject line. Campaign send history (send date, opens, clicks, bounces, unsubscribes) is exported as a CSV per campaign. The template HTML is loaded into Nutshell as an email template, validated by rendering a test send to a controlled address. Any file attachment links in campaign bodies are flagged for hyperlink conversion before the template is saved in Nutshell.
Test migration and reconciliation
We run a test load of 50-100 contacts into a staging Nutshell account, verifying field values land in the correct custom Person fields, merge-tag fallbacks display correctly in a test template, and tags attach to the right Person records. The customer reviews the test output and confirms field mapping accuracy. Any mis-mapped fields are corrected in the schema before the full production migration begins.
Production migration and cutover
We run the full contact migration into the production Nutshell account in dependency order: Person Tags first (so they exist at import time), then Persons with custom field values and tag assignments. We load email templates from the exported campaign HTML. We deliver the automated series inventory, landing page inventory, form field inventory, and campaign report CSVs as written documents. The customer enables Nutshell as the system of record. We run a final row-count reconciliation against the original e-shot contact export and deliver a discrepancy report for any records that did not load.
Platform deep dives
e-shot
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 e-shot 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
e-shot: 500–5,000 requests per hour depending on tier (basic: 500, pro: 2,000, omni: 5,000).
Data volume sensitivity
e-shot 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 e-shot to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your e-shot 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 e-shot
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.