CRM migration

Migrate from Freshmarketer to Nutshell

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

Freshmarketer logo

Freshmarketer

Source

Nutshell

Destination

Nutshell logo

Compatibility

83%

10 of 12

objects map 1:1 between Freshmarketer and Nutshell.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Freshmarketer to Nutshell is a structural shift from a marketing automation platform to a sales CRM. Freshmarketer organizes data around Contacts, Companies, Deals, and multichannel campaign Journeys; Nutshell organizes around People, Companies, Deals with pipeline stages, and a unified activity timeline. We resolve the object model transition at scoping, preserve engagement history as Nutshell activity records, and map Freshmarketer's lifecycle stage and marketing contact flags to Nutshell custom fields. Journeys (email, SMS, WhatsApp, and WhatsApp automation workflows) cannot be exported as executable logic via Freshmarketer's API; we document the enrolled contact state and deliver a Journey configuration reference so your team can rebuild in Nutshell's task automation or a dedicated marketing tool. Freshmarketer's API rate limit of 1000 requests per hour governs extraction throughput, and Nutshell's per-user pricing at Growth ($25/user/month) replaces Freshmarketer's per-contact billing model.

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

Freshmarketer logo

Freshmarketer

What's pushing teams away

  • After migrating from Freshmarketer Classic to Freshsales Suite, ongoing Journeys stop executing and must be manually replayed, disrupting nurture sequences mid-campaign.
  • Post-migration, only the account admin retains access by default — other team members must be re-provisioned, causing temporary access gaps during cutover.
  • The out-of-place migration disables all outgoing emails automatically; teams that forget to re-enable them miss every scheduled campaign for days.
  • API integrations referencing the Leads object break post-migration because Leads become Contacts in the new platform, requiring code changes that some teams discover post-cutover.
  • Marketing Contacts billing — paying per contact in campaigns rather than per stored contact — creates unexpected cost spikes when teams send large campaigns to broad segments.

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

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

Freshmarketer

Contact

maps to

Nutshell

Person

1:1
Fully supported

Freshmarketer Contacts map directly to Nutshell People. Email address is the dedupe key. We preserve the Freshmarketer lifecycle stage as a custom field lifecycle_stage__c on the Nutshell Person record. Any Freshmarketer Marketing Contact flag (contacts enrolled in email, SMS, or WhatsApp campaigns) is preserved in a custom field marketing_contact__c so the customer can re-segment in a downstream marketing tool if needed. Custom contact properties from Freshmarketer map to Nutshell custom fields on Person, requiring field-type resolution (dropdown vs. text, date formats, multi-select) during scoping.

Freshmarketer

Company

maps to

Nutshell

Company

1:1
Fully supported

Freshmarketer Company records map 1:1 to Nutshell Company. Domain and company name are preserved as the dedupe key. The company-contact association (org_contact_id in Freshmarketer) is resolved at migration time so that each Nutshell Person is linked to their corresponding Nutshell Company before activity records are attached. Custom company fields map to Nutshell Company custom fields with equivalent types.

Freshmarketer

Deal

maps to

Nutshell

Deal

1:1
Fully supported

Freshmarketer Deals map to Nutshell Deals with pipeline stage, amount, close date, and owner preserved. The Freshmarketer pipeline assignment maps to a Nutshell Pipeline that we configure before migration if multiple pipelines exist. Deal custom fields map to Nutshell Deal custom fields. Owner assignment resolves via email match against the Nutshell User directory.

Freshmarketer

Deal Stage

maps to

Nutshell

Pipeline Stage

lossy
Fully supported

Freshmarketer pipeline stages map to Nutshell Pipeline Stages. We pre-create the Nutshell pipeline structure during schema design, mapping each Freshmarketer stage name to a corresponding Nutshell stage. Stage order and probability percentages are preserved as closely as the destination allows.

Freshmarketer

User

maps to

Nutshell

User

1:1
Fully supported

Freshmarketer Users (sales reps, admins) map to Nutshell Users by email match. Owner references on Contacts, Companies, and Deals resolve to the corresponding Nutshell User ID. Users without a matching Nutshell account enter a reconciliation queue for the customer to provision before record import proceeds.

Freshmarketer

Activity: Email Log

maps to

Nutshell

Activity

1:1
Fully supported

Freshmarketer email logs migrate to Nutshell Activity records attached to the corresponding Person or Deal. Email subject, body, and timestamp are preserved. The Activity type is set to Email. We resolve the parent Person or Deal reference via email-match lookup before inserting.

Freshmarketer

Activity: Call

maps to

Nutshell

Activity (type: Call)

1:1
Fully supported

Freshmarketer call activities migrate to Nutshell Activity records with type set to Call. Call duration and disposition notes transfer to custom Activity fields. The timestamp from Freshmarketer is preserved as the Nutshell Activity date.

Freshmarketer

Activity: Meeting

maps to

Nutshell

Activity (type: Meeting)

1:1
Fully supported

Freshmarketer meeting activities migrate to Nutshell Activity records with type set to Meeting. Meeting title, date, and location are preserved. Attendee information is logged in the Activity notes field since Nutshell does not have a native attendee object.

Freshmarketer

Activity: Task

maps to

Nutshell

Activity (type: Task)

1:1
Fully supported

Freshmarketer task activities migrate to Nutshell Activity records with type set to Task. Status, due date, and assignment transfer directly. Owner assignment resolves via email match against the Nutshell User directory.

Freshmarketer

Tag

maps to

Nutshell

Tag

1:1
Fully supported

Tags from Freshmarketer Contacts, Companies, and Deals migrate as flat string lists applied to the corresponding Nutshell record. Nutshell supports tagging on People, Companies, and Deals. No tag hierarchy exists on either platform, so the migration is direct.

Freshmarketer

Custom Field

maps to

Nutshell

Custom Field

1:1
Fully supported

Custom fields on Freshmarketer Contacts, Companies, and Deals require explicit per-field mapping to Nutshell custom fields. Field types must be resolved during scoping: Freshmarketer dropdowns map to Nutshell dropdowns if values match; multi-select maps to multi-select; date fields map to date fields; text fields map to text. We create the destination custom field in Nutshell before migration and document any field types that require customer decisions on value mapping.

Freshmarketer

Segment

maps to

Nutshell

Static List (manual rebuild)

lossy
Fully supported

Freshmarketer Segments (audience filters based on contact properties) do not have a direct equivalent in Nutshell. Nutshell does not support dynamic audience lists. We document each Freshmarketer Segment with its criteria and deliver a static contact list that the customer can recreate in Nutshell manually or via a third-party segmentation tool. This is a reference deliverable, not an automated migration.

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.

Freshmarketer logo

Freshmarketer gotchas

High

Marketing Contacts billing model affects migration scoping

High

Email-based contact merging during Freshsales Suite migration

Medium

Journeys stop executing post-migration with no auto-resume

Medium

API rate limit of 1000 requests per hour caps migration throughput

Medium

Outgoing emails disabled after migration require manual re-enablement

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

  • Journeys cannot migrate as executable automation

    Freshmarketer Journeys (marketing workflows spanning email, SMS, WhatsApp, and time-based triggers) cannot be exported as executable logic via the API. We capture each Journey's configuration as a structured reference document and note which contacts were enrolled at cutover. Nutshell has no native Journey equivalent; its automation is limited to task creation rules and follow-up triggers. The customer must rebuild Journeys in Nutshell's task automation or adopt a dedicated marketing platform for campaigns post-migration. This is a manual rebuild scope that must be factored into the cutover timeline.

  • Marketing contact billing flag has no Nutshell equivalent

    Freshmarketer bills on Marketing Contacts (contacts enrolled in campaigns) rather than total stored contacts. Nutshell charges per user with no contact-based billing. Migrating a large contact base enrolled in Journeys does not trigger Nutshell billing but does create a flagging gap: the customer loses the ability to track which contacts were marketing-targeted unless we preserve it in a custom field. We capture the marketing contact status at migration time in a custom field on each Person record so the customer can re-segment if they later adopt a marketing automation tool.

  • Freshmarketer API rate limit caps extraction throughput

    Freshmarketer enforces 1000 requests per hour per account on its REST API. Large contact bases with rich activity histories require multiple days of API polling at this rate. We pace extraction to avoid 429 errors and notify the customer if the volume requires more than 48 hours of polling. Manual bulk export via Freshmarketer's admin UI zip file is an alternative but limited to 5 exports per day. Large activity histories (emails, calls, meetings) on accounts with tens of thousands of records extend the migration timeline proportionally.

  • Custom field type differences require manual resolution

    Freshmarketer and Nutshell custom field types do not map automatically. Multi-select fields, date formats, and dropdown value lists must be resolved per field during scoping. If Freshmarketer uses a dropdown value that does not exist in Nutshell, the customer must either create the matching Nutshell value or decide on a default. We flag every mismatched custom field before migration and create the destination schema in Nutshell first, so no records are rejected on import due to validation rules.

  • Outgoing emails disabled after Freshmarketer internal migrations require manual re-enablement

    This gotcha applies to Freshmarketer Classic-to-Suite internal migrations, not to migrations from Freshmarketer to Nutshell. Freshworks disables outgoing emails during its own platform migration to prevent spam from misconfigured instances. This step is irrelevant when moving to Nutshell because Nutshell operates independently. However, if the customer plans a dual-run period where Freshmarketer continues sending campaigns during migration, they must manage email sending permissions in Freshmarketer's own admin settings.

Migration approach

Six steps for a successful Freshmarketer to Nutshell data migration

  1. Discovery and scope definition

    We audit the Freshmarketer account across contact volume, company volume, deal volume, activity history counts (emails, calls, meetings, tasks), custom field inventory, active Journeys, segment list, and user count. We pair this with a Nutshell account review to confirm the Growth or Pro tier supports the required pipeline structure. The discovery output is a written migration scope document with record counts per object, a list of custom fields requiring mapping, and a list of active Journeys to document.

  2. Schema design and custom field creation

    We create the destination schema in Nutshell before any data import. This includes creating any custom fields on Person, Company, and Deal that correspond to Freshmarketer custom properties, configuring the pipeline and stage structure to match Freshmarketer's deal pipelines, and creating any required custom fields on Nutshell Activity records. Custom field type resolution (dropdown values, date formats, multi-select) happens during this step with customer input on any non-matching values.

  3. User reconciliation and provisioning

    We extract every distinct Freshmarketer Owner referenced on Contact, Company, Deal, and Activity records and match by email against the Nutshell User directory. Owners without a matching Nutshell User are held in a reconciliation queue. The customer's Nutshell admin provisions missing Users before record import proceeds. This step is required because OwnerId references are needed on imported Deals and Activities.

  4. Sandbox migration and reconciliation

    We run a full migration into a Nutshell trial or sandbox environment using production-like data volume. The customer reconciles record counts, spot-checks 20-30 records against Freshmarketer source data, and signs off the schema and mapping before production migration begins. Any custom field corrections, stage mapping adjustments, or data cleaning decisions happen here, not in production.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Companies (created first so Person-Company associations resolve), People (with lifecycle_stage__c and marketing_contact__c custom fields populated), Deals (with pipeline, stage, owner, and custom fields resolved), Activity history (emails, calls, meetings, tasks attached to the correct Person or Deal via email-match and owner lookup). Each phase emits a row-count reconciliation report before the next phase begins. We pace extraction against Freshmarketer's 1000-request-per-hour limit throughout.

  6. Cutover, validation, and Journey handoff

    We freeze Freshmarketer writes during cutover, run a final delta migration of records modified during the migration window, then mark Nutshell as the system of record. We deliver the Journey configuration reference document listing each active Journey, its enrolled contacts, and its trigger conditions, so the customer's admin can rebuild in Nutshell task automation or a dedicated marketing tool. We support a three-day hypercare window for reconciliation issues. We do not rebuild Journeys in Nutshell; that is a separate scope.

Platform deep dives

Context on both ends of the pair

Freshmarketer logo

Freshmarketer

Source

Strengths

  • Native multichannel delivery across email, SMS, WhatsApp, and chat without third-party integrations
  • AI-powered lead scoring and predictive segmentation included at all paid tiers
  • Funnel visualization and website heatmaps for conversion rate optimization
  • Part of the Freshworks ecosystem with native integrations to Freshdesk, Freshchat, and Freshsales
  • Competitive pricing significantly below Salesforce and HubSpot Enterprise equivalents

Weaknesses

  • Marketing automation workflows (Journeys) cannot be exported as executable logic via API
  • No native bulk export endpoint — manual zip export limited to 5 times per day from admin settings
  • Post-migration requires manual DNS verification and email re-enabling to restore deliverability
  • API rate limit of 1000 requests per hour can slow large-volume migrations significantly
  • Freshmarketer Classic is end-of-life — no new features, forcing upgrades that require reconfiguration
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 Freshmarketer 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

    Freshmarketer: 1000 requests per hour per account.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Freshmarketer 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 four weeks for accounts under 15,000 Contacts and 3,000 Deals with no complex custom field schemas. Migrations with large engagement histories (over 200,000 activity records), complex custom field schemas (more than 20 custom properties), or multi-deal pipeline structures extend to five to eight weeks because of Freshmarketer's 1000-request-per-hour API rate limit governing extraction throughput and the custom field type resolution work required before import.

Adjacent paths

Related migrations to explore

Ready when you are

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