CRM migration
Field-level mapping, validation, and rollback between FieldFX and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
FieldFX
Source
Nutshell
Destination
Compatibility
10 of 12
objects map 1:1 between FieldFX and Nutshell.
Complexity
BStandard
Timeline
48–72 hours
Overview
FieldFX is a Salesforce managed package that adds field-service capability on top of standard Salesforce objects (Account, Contact, Asset, Case) plus FieldFX-specific objects such as Ticket, TicketItem, WorkOrder, WorkOrderLineItem, and ServiceReport. When you move to Nutshell, the Salesforce dependency drops entirely — Nutshell is a standalone CRM with its own data model built around People, Companies, Leads, and Deals, with per-contact custom fields available on each entity. The migration carries your standard Account and Contact records directly into Nutshell Companies and People. FieldFX-specific objects like Ticket and WorkOrder have no native Nutshell equivalent; FlitStack converts these to Nutshell Activities and Tasks annotated with custom fields, and preserves structured data (line items, asset links, ticket status history) as custom field values. The extraction runs against your Salesforce org via the Salesforce REST and Bulk APIs — we use the FieldFX data model documentation and your org's custom field API names to build the mapping. Custom fields on both sides are inventoried before migration begins. Workflows, status workflows, automations, and ServiceMax/DataGuide forms do not migrate — those are destination-side configuration that must be rebuilt manually in Nutshell. We surface the full FieldFX automation inventory as a reference export so your team can prioritize the rebuild.
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 FieldFX 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.
FieldFX
Account (Salesforce standard)
Nutshell
Company (Nutshell)
1:1Direct field mapping from Salesforce Account to Nutshell Company. All standard Account fields including Name, Industry, Website, AnnualRevenue, and NumberOfEmployees migrate to equivalent Nutshell Company fields. The ParentId relationship is preserved using Nutshell's parent-company reference where available; if the parent-company relationship is unavailable in your Nutshell plan, the hierarchy is flattened and parent references are stored as a custom field on the child Company record.
FieldFX
Contact (Salesforce standard)
Nutshell
Person (Nutshell)
1:1Direct field mapping from Salesforce Contact to Nutshell Person. Standard Contact fields including FirstName, LastName, Email, Phone, and Title map to their Nutshell Person equivalents. The critical mapping step is resolving the AccountId lookup relationship — this foreign key resolves to the Nutshell Company record that was created during the Account mapping phase, establishing the person-to-company relationship in Nutshell upon which activity linking depends.
FieldFX
Ticket__c (FieldFX custom)
Nutshell
Activity / Task (Nutshell) + custom fields
1:1FieldFX Ticket has no Nutshell equivalent. The Ticket record migrates as a Nutshell Activity (Task or Event depending on type__c) with ticket ID, status, priority, and assigned technician preserved as Nutshell custom fields on the related Person record. TicketItem records are appended as a custom multi-value field.
FieldFX
WorkOrder__c (FieldFX custom)
Nutshell
Activity (Nutshell) + custom fields
1:1WorkOrder__c migrates as a Nutshell Activity with the WorkOrder ID stored in a custom reference field. WorkOrderLineItem records are flattened and stored as a custom field on the activity — original line item descriptions, quantities, and costs are preserved in structured text.
FieldFX
Asset (Salesforce standard)
Nutshell
Company (Nutshell) — custom field
1:1Asset records link to Account (service-location account) and Product2 (equipment catalog). The asset name, serial number, and install date are stored as custom fields on the Nutshell Company record representing the asset's location. Full asset-to-product relationship is preserved in a structured custom field.
FieldFX
WorkOrderLineItem__c (FieldFX custom)
Nutshell
Custom field on WorkOrder Activity (Nutshell)
1:manyEach WorkOrderLineItem__c record is parsed and its fields (description, quantity, unit cost, line total) are appended to a structured custom field on the parent WorkOrder Activity in Nutshell. Multiple line items per WorkOrder result in multiple entries within the same custom field.
FieldFX
TicketItem__c (FieldFX custom)
Nutshell
Custom field on Ticket Activity (Nutshell)
1:manyTicketItem__c records hold parts and labor lines on a Ticket. We split each item into a structured text entry appended to a Nutshell custom field on the Ticket Activity. Source ticketitem ID and source work order ID are retained for audit traceability.
FieldFX
User (Salesforce)
Nutshell
Person (Nutshell) — owner resolution
1:1Salesforce User records resolve to Nutshell Persons by email match. Unmatched users (e.g., deactivated Salesforce users) are flagged before migration and assigned to a fallback Nutshell user designated by your admin. User ID is preserved in Source_System_Owner_ID__c on the Person record.
FieldFX
FX_CPQ__Quote__c (FieldFX CPQ)
Nutshell
Custom fields on Deal (Nutshell)
1:1CPQ quote records carry pricing schedules, approval status, and line-item pricing that cannot be natively represented in Nutshell. Quote summary, total amount, status, and primary contact are stored as custom fields on the Nutshell Deal. Detailed pricing line items are exported as a structured reference document.
FieldFX
Status Workflow (FieldFX)
Nutshell
No equivalent (Nutshell has no workflow engine for field-service objects)
1:1FieldFX Status Workflows control Ticket and WorkOrder state transitions with conditional logic. Nutshell has no equivalent workflow builder for ticket-equivalent objects. We export the workflow definitions as a reference JSON file for manual rebuild in Nutshell using Sequences and custom fields.
FieldFX
DataGuide Form / FormResponse (FieldFX/ServiceMax)
Nutshell
No equivalent
1:1DataGuide forms capture structured inspection and compliance data on WorkOrders. Nutshell has no forms or structured data-capture equivalent. Form response data is exported as structured records linked to the related WorkOrder Activity in Nutshell, preserving the field names and values.
FieldFX
Attachment / ContentDocumentLink (Salesforce Files)
Nutshell
Note (Nutshell)
1:1FieldFX ticket and work order attachments stored as Salesforce Files are downloaded in their original format and re-hosted as Nutshell Notes attached to the corresponding Activity record. File metadata including the original file name and ContentVersion description are preserved in the Note body. Nutshell enforces file size limits for attachments; any files exceeding these limits are flagged during migration review and marked for manual download and re-upload by your administrator after cutover.
| FieldFX | Nutshell | Compatibility | |
|---|---|---|---|
| Account (Salesforce standard) | Company (Nutshell)1:1 | Fully supported | |
| Contact (Salesforce standard) | Person (Nutshell)1:1 | Fully supported | |
| Ticket__c (FieldFX custom) | Activity / Task (Nutshell) + custom fields1:1 | Fully supported | |
| WorkOrder__c (FieldFX custom) | Activity (Nutshell) + custom fields1:1 | Fully supported | |
| Asset (Salesforce standard) | Company (Nutshell) — custom field1:1 | Fully supported | |
| WorkOrderLineItem__c (FieldFX custom) | Custom field on WorkOrder Activity (Nutshell)1:many | Fully supported | |
| TicketItem__c (FieldFX custom) | Custom field on Ticket Activity (Nutshell)1:many | Fully supported | |
| User (Salesforce) | Person (Nutshell) — owner resolution1:1 | Fully supported | |
| FX_CPQ__Quote__c (FieldFX CPQ) | Custom fields on Deal (Nutshell)1:1 | Fully supported | |
| Status Workflow (FieldFX) | No equivalent (Nutshell has no workflow engine for field-service objects)1:1 | Fully supported | |
| DataGuide Form / FormResponse (FieldFX/ServiceMax) | No equivalent1:1 | Fully supported | |
| Attachment / ContentDocumentLink (Salesforce Files) | Note (Nutshell)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.
FieldFX gotchas
API rate limits vary by Salesforce edition and request type
Deprecated Attachments feature requires Files API migration
Workflow Rules retirement leaves automations without a migration path
Travel time calculations require appointment rescheduling post-migration
Custom field API name length causes browser errors on mobile
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
Inventory FieldFX data model and Salesforce org configuration
FlitStack connects to your Salesforce org read-only and pulls the full FieldFX object inventory: all active Ticket__c, WorkOrder__c, WorkOrderLineItem__c, TicketItem__c, and Asset records plus their custom field sets. We cross-reference against the FieldFX Base Managed Package object reference to identify which objects require transformation versus direct map. The result is a field-level mapping document delivered before any data moves, so your team can review and approve the transformation logic for Ticket and WorkOrder flattening.
Create Nutshell custom fields and configure company-person relationships
Before migration begins, FlitStack creates all required custom fields in Nutshell for Companies, People, and Activities based on the FieldFX custom field inventory. This includes the source-system ID fields, original create date fields, asset reference fields on Companies, and ticket/work-order data fields on Activities. Nutshell does not have a bulk custom-field creation API — we create these via the Nutshell UI using authenticated API access to your Nutshell account during the setup phase.
Extract Salesforce standard objects (Account, Contact, User) via Bulk API
Accounts and Contacts migrate directly to Nutshell Companies and People using Salesforce Bulk API for high-volume efficiency. User records are processed separately to build the owner resolution map (email to Nutshell user ID). We validate Account-Contact relationships during extraction to ensure Contact.AccountId foreign keys resolve correctly in the Nutshell Company record already created. Salesforce Parent Account hierarchies are preserved using the parent-company resolution logic.
Extract and transform FieldFX custom objects (Ticket__c, WorkOrder__c, Asset)
FieldFX Ticket__c and WorkOrder__c records are extracted via Salesforce Bulk API and transformed into Nutshell Activities with custom field annotations. Each Ticket Activity receives a structured custom field containing its TicketItem__c line items; each WorkOrder Activity receives a custom field containing WorkOrderLineItem__c pricing data. Asset records are flattened into custom fields on the Nutshell Company representing the service location. Owner resolution runs by email match for all transformed activities. Unmatched owners are flagged for manual assignment before the full migration commits.
Run sample migration and field-level diff
A representative slice (typically 100–300 records across Account, Contact, Ticket, WorkOrder, and Asset) migrates first. FlitStack generates a field-level diff comparing source Salesforce values against the migrated Nutshell record values. You can verify ticket status mapping, work-order owner resolution, and asset-to-company linkage before the full run commits. Any field mapping adjustments are made to the migration plan before the full migration begins.
Full migration with delta-pickup window
The full data set moves to Nutshell. A delta-pickup window (24–48 hours) captures any new or modified records in FieldFX that were created or updated during the migration run. Your team continues working in FieldFX during cutover. Once you confirm Nutshell is live, FlitStack closes the delta window, exports the Status Workflow definitions and DataGuide form data as reference JSON, and delivers the audit log. One-click rollback is available for 48 hours post-migration if reconciliation identifies critical discrepancies.
Platform deep dives
FieldFX
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 FieldFX 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
FieldFX: Org-wide 24-hour rolling REST API limit varies by Salesforce edition; per-user per-app per-hour Batch API limit; 25 requests per minute for FX Reports API.
Data volume sensitivity
FieldFX exposes a bulk API — large-volume migrations stream efficiently.
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 FieldFX to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your FieldFX 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 FieldFX
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.