CRM migration
Field-level mapping, validation, and rollback between Tofu and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Tofu
Source
Nutshell
Destination
Compatibility
4 of 8
objects map 1:1 between Tofu and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Tofu is an agentic demand generation platform built around Account-Based Marketing — its native objects are Accounts, Campaigns, Playbooks, Personas, Audiences, and Content Assets. Nutshell is a conventional sales CRM that models the world as Contacts, Companies, Deals, Tasks, and Users. These schema philosophies do not align natively, so the migration requires deliberate object mapping decisions at scoping rather than a record-for-record copy. We export Tofu's Account and Persona records as structured CSV, map them to Nutshell Companies and Contacts with custom fields carrying Persona attributes, and decompose Playbooks into step sequences stored as Nutshell Tasks. Content Asset metadata migrates as custom records; binary files are re-downloaded from Tofu's CDN and attached to the appropriate Nutshell record. Because Tofu has no published REST API, we confirm export capabilities and URL accessibility during discovery before committing to a migration plan. We do not migrate Playbook automation logic, ABM audience rules, or AI-generated content configurations — these require manual rebuild in Nutshell or are platform-specific to Tofu.
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 Tofu 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.
Tofu
Account
Nutshell
Company
1:1Tofu Accounts (target companies in the ABM model) map directly to Nutshell Companies. We export Account name, industry, tier, owner, and any custom enrichment fields. The domain from the Account record populates the Nutshell Company website field. If multiple Tofu Accounts share the same domain (common in enterprise ABM targeting parent-subsidiary hierarchies), we map the primary Account to the Company record and attach subsidiary Account references as custom fields.
Tofu
Campaign
Nutshell
Deal
1:1Tofu Campaigns (top-level containers for landing pages, email sequences, ads, and collateral) map to Nutshell Deals. The campaign targeting strategy migrates as Deal description text; campaign status (active, paused, archived) maps to Deal status. If the customer uses multiple Nutshell Pipelines to distinguish campaign types, we assign a Pipeline and Stage during import based on campaign metadata.
Tofu
Persona
Nutshell
Contact (custom fields)
lossyTofu Personas define ICP profiles (industry, role, pain points, messaging tone) used to personalize ABM content. Nutshell has no native Persona object. We map persona definitions to Contact custom fields — persona_industry__c, persona_role__c, persona_pain_points__c — so that the ICP attributes travel with each Contact record. During scoping, the customer selects which persona fields are active and which are archived.
Tofu
Playbook
Nutshell
Task (sequence)
1:manyTofu Playbooks encode multi-step outreach sequences with branching logic, timing, and channel rules. Nutshell does not have a native branching automation construct. We decompose each Playbook into discrete Step records and import them as a series of Nutshell Tasks with sequential due dates and channel metadata in custom fields. Any branching conditions that cannot be represented linearly are stored as custom text fields (e.g., playbook_branch_condition__c) for the customer's admin to review and reconfigure in Nutshell's Goals or automation layer post-migration.
Tofu
Audience
Nutshell
Contact (list)
1:1Tofu Audiences are filtered subsets of Accounts or Contacts used to trigger Playbook activation. We export audience membership as a list of linked Account IDs with the filter criteria preserved. The filter criteria migrate as a text note on a Nutshell saved search or list view that the customer can replicate manually. Individual Contact membership is preserved as a custom multi-select or tag field on each Contact record.
Tofu
Content Asset (metadata)
Nutshell
Note / Attachment
lossyContent Assets include landing pages, one-pagers, ads, and sales collateral generated by Tofu. We export asset metadata (title, type, version, linked Campaign/Account associations) and re-download binaries from Tofu's asset URLs at export time. Nutshell stores binaries as Attachments on the related Company or Deal record. We re-validate each asset URL in a pre-flight check before the final sync run. If Tofu rotates asset URLs post-migration, we flag inaccessible assets in the handoff document.
Tofu
User / Owner
Nutshell
User
1:1Tofu Users assigned as Campaign owners and Playbook creators map to Nutshell Users. We export user email addresses and names and match by email against the Nutshell destination's User table. Any Tofu Owner without a matching Nutshell User is held in a reconciliation queue for the customer's admin to provision before record import resumes.
Tofu
Custom Properties
Nutshell
Custom Fields
lossyTofu supports custom fields on Accounts, Campaigns, and Playbooks. We detect any non-standard properties during the pre-migration schema scan and map them to equivalent custom fields in Nutshell. Custom field types are mapped: text to text, number to number, date to date, and multi-select to a custom multi-select picklist. Nutshell supports custom fields on all paid tiers including Foundation ($13/user/mo), so no tier upgrade is required for custom field migration.
| Tofu | Nutshell | Compatibility | |
|---|---|---|---|
| Account | Company1:1 | Fully supported | |
| Campaign | Deal1:1 | Fully supported | |
| Persona | Contact (custom fields)lossy | Fully supported | |
| Playbook | Task (sequence)1:many | Fully supported | |
| Audience | Contact (list)1:1 | Fully supported | |
| Content Asset (metadata) | Note / Attachmentlossy | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Custom Properties | Custom Fieldslossy | 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.
Tofu gotchas
No public API documentation or published rate limits
Content Assets are platform-hosted binaries not separately exported
Playbook branching logic maps imperfectly to most destination CRMs
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 export capability confirmation
We audit the source Tofu instance to identify all Accounts, Campaigns, Personas, Audiences, Playbooks, Content Assets, and custom properties in scope. Because Tofu has no published API, we confirm export capabilities — CSV export availability, bulk download format, CDN URL accessibility — during the discovery call before committing to a migration plan. We provide a written discovery summary that lists every Tofu object, record count, and the confirmed export method for each.
Schema design and mapping rule definition
We design the Nutshell destination schema based on the object mapping decisions. This includes creating custom fields on Nutshell Contacts and Companies to carry Persona attributes and Account enrichment data, configuring custom fields on Deals to carry Campaign metadata, and defining the Playbook-to-Task-sequence mapping. We validate the schema in a Nutshell trial or sandbox environment before production migration begins.
Export and pre-flight URL validation
We execute the Tofu export using the confirmed export method. Content Asset binaries are re-downloaded from Tofu's CDN URLs and stored in a staging environment. We run a pre-flight check on every asset URL and flag any that return errors (404, 403, timeout). We also validate that exported CSV files contain the expected columns and that date fields, owner references, and custom property values are populated correctly before we begin transformation.
Transformation and staging
We transform exported Tofu data into Nutshell-compatible import format. Accounts become Companies with custom fields carrying tier and enrichment data. Personas become Contact custom fields. Campaigns become Deals. Playbooks become task sequences with each step as a separate Task record and branching conditions stored as text fields. We run a staging migration in a Nutshell sandbox to verify record counts, lookup resolution, and custom field population before production cutover.
Owner reconciliation
We extract every distinct Tofu User referenced on Accounts, Campaigns, Playbooks, and Content Assets and match by email against the Nutshell destination's User table. Any Tofu User without a matching Nutshell User is held in a reconciliation queue. The customer's admin provisions missing Users before production migration begins. OwnerId references must be valid for Nutshell to accept record inserts.
Production migration and cutover
We run production migration in dependency order: Companies (from Tofu Accounts), Contacts (with Persona custom fields populated), Deals (from Tofu Campaigns with campaign metadata in custom fields), Task sequences (from Tofu Playbooks), Content Asset attachments, and finally any Audience filter documentation. Each phase emits a row-count reconciliation report. We freeze Tofu writes during cutover and run a final delta migration of any records modified during the window. We do not migrate automation logic or workflow rules; we deliver a written inventory of every Playbook and Audience for manual rebuild.
Platform deep dives
Tofu
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 Tofu 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
Tofu: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.
Data volume sensitivity
Tofu 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 Tofu to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Tofu 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 Tofu
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.