CRM migration
Field-level mapping, validation, and rollback between Daffodil CRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Daffodil CRM
Source
Nutshell
Destination
Compatibility
6 of 8
objects map 1:1 between Daffodil CRM and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Migrating from Daffodil CRM to Nutshell requires a custom export path because Daffodil CRM has no publicly documented REST API or self-serve data export tooling. Instead, we negotiate a CSV export directly with Daffodil Software, extract records in dependency order, and re-import through Nutshell's Import2 pipeline. The primary challenge is preserving relational links between Contacts and Companies when ID-based references are absent from CSV output; we resolve these using company name matching during the transform phase. Custom fields migrate as Nutshell custom fields of equivalent type, and Tags from Daffodil re-assemble as comma-separated multi-select values in Nutshell. We do not migrate workflows, automations, or form configurations because Daffodil does not expose these as structured data exports. The migration delivers a written inventory of any Daffodil automations requiring manual 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 Daffodil CRM 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.
Daffodil CRM
Contact
Nutshell
Person
1:1Daffodil CRM Contact records map to Nutshell People. We extract name, email, phone, company association, lifecycle stage, and any custom field values via CSV. Since Daffodil exports lack ID-based company references in CSV output, we resolve the contact-to-company relationship by matching the company_name value in the Contact CSV against the exported Company CSV. Active status is preserved; contacts without valid email are flagged for review before insert.
Daffodil CRM
Company
Nutshell
Company
1:1Daffodil CRM Company records map to Nutshell Companies. Company name becomes the Company Name field, domain information maps to Website, and any industry or type custom fields map to Nutshell's custom field schema. Companies are imported before People so that the People import can resolve the Account lookup at transform time. Duplicate company detection uses name normalization to handle minor spelling variations.
Daffodil CRM
Deal
Nutshell
Deal
1:1Daffodil CRM Deals map to Nutshell Deals. We capture deal name, amount, stage, expected close date, owner assignment, and associated contact/company links. Since Daffodil's pipeline configuration is custom per-customer, we map the source stage names to Nutshell's default Deal stages during scoping and document any non-standard stage additions required. Owner assignment resolves via email match against the Nutshell User table.
Daffodil CRM
Activity
Nutshell
Activity
1:1Daffodil CRM Activities (calls, emails, meetings, tasks) export as flat rows with activity type, date, duration, outcome, and related contact or deal. We map activity type to Nutshell's Activity type, preserve the original date and duration, and re-link each activity to the migrated Contact (now Person) and Deal using the resolved external IDs from the earlier import phases. Activity records without a resolvable parent contact or deal are attached to the Company as a fallback.
Daffodil CRM
Custom Field
Nutshell
Custom Field
lossyDaffodil CRM custom fields on Contacts, Companies, and Deals map to Nutshell custom fields. We request the full Daffodil field inventory from the customer during scoping and build a type-mapping matrix: text fields to Nutshell text, numeric fields to Nutshell number, date fields to Nutshell date, and picklist fields to Nutshell dropdown or multi-select depending on Daffodil field cardinality. Custom field options are re-created in Nutshell before the relevant record import phase begins.
Daffodil CRM
User/Owner
Nutshell
User
1:1Daffodil CRM User records (sales reps, managers, admins) map to Nutshell Users. We extract user name, email, and role from Daffodil and match against the target Nutshell account's User table by email. Active status is preserved; inactive users in Daffodil are archived in Nutshell as inactive Users so that historical owner assignments on Deals and Activities remain valid.
Daffodil CRM
Tag/Label
Nutshell
Tag
lossyDaffodil CRM tags applied to Contacts, Companies, or Deals export as comma-separated values or individual rows depending on the export format negotiated with Daffodil Software. We flatten multi-value tag fields during the transform phase and reassemble them in Nutshell using the Tag feature. Tag names are normalized (trimmed, lowercased) to avoid creating duplicate tags from inconsistent casing in the source data.
Daffodil CRM
Attachment Metadata
Nutshell
Attachment
1:1File attachments stored within Daffodil CRM are not reliably exportable via standard CSV. We do not migrate attachment binaries. Instead, we export a metadata CSV (file name, upload date, file size, related contact or deal) and attach this inventory to the corresponding record in Nutshell as a custom text field or note. The customer's admin uses this metadata to locate and manually re-upload files to Nutshell after migration if required.
| Daffodil CRM | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Activity | Activity1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| User/Owner | User1:1 | Fully supported | |
| Tag/Label | Taglossy | Fully supported | |
| Attachment Metadata | Attachment1: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.
Daffodil CRM gotchas
No publicly documented REST API
Custom schema requires manual field mapping
No standalone product page or pricing
Vendor dependency for data export
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 method confirmation
We audit the customer's current Daffodil CRM instance by requesting a full field inventory (CSV headers, field types, sample records) and identifying the export path. If the customer has an active vendor relationship with Daffodil Software, we coordinate CSV export directly with their team. If not, we explore admin-panel export options or database-level access. We also confirm the target Nutshell account, the number of active Users to be provisioned, and the desired import order (Companies before People before Deals before Activities). The discovery output is a written migration scope with a confirmed export method and a custom field mapping matrix.
Export extraction and data quality assessment
We extract data from Daffodil CRM in dependency order: Companies first, then People (Contacts), then Deals, then Activities, then Tags. Each export is assessed for completeness, format consistency, and duplicate presence. We run a row-count reconciliation against the customer's estimate and flag any records with missing required fields (Contacts without email, Deals without amount, etc.) for the customer's review. Data quality issues are documented and either corrected by the customer or handled during the transform phase.
Transform and contact-company lookup resolution
We transform the Daffodil export CSVs into Nutshell's expected column headers. The critical transform step is resolving the Contact-to-Company relationship: we match Contact rows against the Company export using company name as the dedupe key, normalizing names to handle spacing and capitalization variations. We assign Nutshell-compatible external IDs to every record during transform so that Activity records can reference the correct Person and Deal IDs during the later import phase. Custom fields are type-checked and reformatted (date formats, picklist values) to match Nutshell's validation requirements.
Custom field provisioning in Nutshell
We create Nutshell custom fields matching the Daffodil custom field schema before any record import begins. This includes dropdown option values for picklist fields, number format settings for numeric fields, and date format configurations for date fields. Custom field provisioning happens in a staging or development Nutshell environment first to validate the schema before production migration. The customer reviews the custom field setup and approves before we proceed to record import.
Production import in dependency order
We import into Nutshell in record-dependency order: Companies first, then People (with company assignment resolved), then Deals (with owner assignment resolved), then Activities (with parent Person and Deal references resolved), then Tags. Each phase emits a row-count report. We run the import in batches of 2,000 records to stay within Nutshell's import limits and re-queue any failed rows with error codes for the customer to review. Duplicate records are flagged rather than re-imported to avoid inflating record counts.
Cutover, validation, and automation rebuild handoff
We freeze Daffodil CRM writes during cutover, run a final delta migration of any records created or modified during the migration window, then mark Nutshell as the system of record. We deliver a written inventory of any Daffodil workflow configurations or automation logic that cannot be exported as structured data. This inventory lists each automation's trigger conditions and recommended Nutshell equivalent, but the rebuild itself is outside migration scope and is handled by the customer's admin team. We support a three-day post-cutover validation window where we resolve record count discrepancies and reconciliation issues.
Platform deep dives
Daffodil CRM
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 Daffodil CRM and Nutshell.
Object compatibility
3 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
Daffodil CRM: Not applicable.
Data volume sensitivity
Daffodil CRM 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 Daffodil CRM to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Daffodil CRM 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 Daffodil CRM
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.