CRM migration
Field-level mapping, validation, and rollback between Jubilee and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Jubilee
Source
Salesforce Sales Cloud
Destination
Compatibility
11 of 12
objects map 1:1 between Jubilee and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
48–72 hours
Overview
Jubilee models CRM data around a central database with contacts, companies, deals, and activities linked through a flexible association system. Salesforce Sales Cloud uses a more structured model: Contacts and Leads are separate objects tied to Accounts (companies), Opportunities (deals) require AccountId lookups and optionally Contact Roles, and the platform relies on RecordTypeId to vary page layouts and pick-list values per business unit. FlitStack AI migrates all standard objects — contacts, accounts, leads, opportunities, tasks, events, notes, and attachments — plus any custom objects Jubilee has configured. We preserve original create dates as custom fields since Salesforce sets CreatedDate at migration time. Owner resolution happens via email match against Salesforce users before records commit. Workflows, automations, sequences, and email templates do not migrate and must be rebuilt in Salesforce Flow or Apex. The migration uses Salesforce's Bulk API for large record volumes, with a delta-pickup window capturing in-flight changes during cutover.
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 Jubilee object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Jubilee
Contact
Salesforce Sales Cloud
Contact
1:1Direct map to Salesforce Contact. Jubilee contacts without a primary company association land against a default placeholder Account; Jubilee's contact-level lifecycle stage and engagement score migrate to custom fields since Salesforce has no native equivalent. The custom fields (Lifecycle_Stage__c, Engagement_Score__c) are created during the schema setup phase, and any unmatched company references are logged for admin review before final insertion.
Jubilee
Contact (lifecycle_stage in [prospect, marketing_qualified, sales_qualified, customer, evangelist])
Salesforce Sales Cloud
Lead
1:manyJubilee lifecycle stages 'prospect' and 'marketing_qualified' route to Salesforce Lead; 'sales_qualified' and 'customer' route to Salesforce Contact. The split is determined by the final lifecycle value at migration time, preserving the last known stage. Any contact with an 'evangelist' stage is routed to Contact as it represents an established customer advocate. All Lead records receive the Lifecycle_Stage__c custom field populated with the source stage for consistent reporting.
Jubilee
Company
Salesforce Sales Cloud
Account
1:1Direct map to Salesforce Account. Jubilee company hierarchies (parent/child) map to Account.ParentId. Multi-company associations on Jubilee contacts collapse to one primary AccountId plus Account Contact Relations for secondary links. If a Jubilee company lacks a parent reference, it becomes a top-level Account; domain information is used to populate the Website field where available. Any circular parent references are flagged for manual resolution before insertion.
Jubilee
Deal
Salesforce Sales Cloud
Opportunity
1:1Direct map to Salesforce Opportunity. Each Jubilee deal pipeline requires a corresponding Salesforce Record Type so stage pick-list values are scoped correctly. Deal owner resolves via email match to Salesforce User before insertion, and any unmatched owners are assigned to a fallback user. Probability and forecast category are re-applied from the Salesforce stage configuration, and custom fields such as Priority__c and Original_Create_Date__c are populated from the Jubilee record.
Jubilee
Pipeline
Salesforce Sales Cloud
Sales Process + Record Type
1:1Jubilee pipelines become Salesforce Sales Processes keyed by RecordTypeId. Each pipeline needs its own record type with a page layout, stage pick-list values, and validation rules. This is the primary schema step before data lands, allowing every deal to be inserted with the correct RecordTypeId and stage mapping. Admins receive a checklist to create record types, assign page layouts, and define stage sets per sales process.
Jubilee
Pipeline Stage
Salesforce Sales Cloud
Opportunity Stage
1:1Stage names map value-by-value per record type, linking each Jubilee stage to the matching Salesforce stage pick-list value. Probability and forecast category are re-applied from Salesforce's stage configuration to keep forecasting accurate. Jubilee stage-entry timestamps are preserved as custom datetime fields (Stage_Entered_Date__c) for reporting continuity. Any Jubilee stages lacking a direct Salesforce match are flagged for admin review and may be consolidated or mapped to a custom stage.
Jubilee
Lifecycle Stage
Salesforce Sales Cloud
Custom field (Lifecycle_Stage__c) on Contact/Lead
1:1Salesforce has no native lifecycle_stage equivalent, so FlitStack creates Lifecycle_Stage__c as a custom pick-list on both Lead and Contact, populating it with Jubilee's exact stage values. A companion datetime field (Lifecycle_Stage_Updated__c) stores the last transition timestamp, enabling time-based reporting and segmentation. Teams can use these fields in Salesforce Flow or reports to trigger follow-up actions, monitor customer progression, and maintain visibility into the full lifecycle journey after migration.
Jubilee
Engagement (call, email, meeting, note)
Salesforce Sales Cloud
Task / Event / Note
1:1Jubilee calls and emails map to Salesforce Tasks (Type=Call or Email). Meetings map to Salesforce Events with original start and end times preserved, and any meeting location details are stored in the Event's Location field. Notes map to Salesforce Notes, preserving rich-text formatting where possible. Original timestamps, owner assignments, and any inline file attachments are retained on all activity records to ensure a complete activity history in Salesforce.
Jubilee
Custom Object
Salesforce Sales Cloud
Custom Object
1:1Jubilee custom objects map 1:1 to Salesforce custom objects (named with the __c suffix). All fields on the Jubilee object are translated to custom fields in Salesforce, preserving data types where possible. If the Jubilee object uses N:N relationships, FlitStack creates a junction object with two lookup fields and presents the design to the admin for approval, ensuring the schema aligns with business logic.
Jubilee
Attachment / File
Salesforce Sales Cloud
Salesforce Files
1:1Jubilee file attachments on records are re-uploaded to Salesforce Files, preserving file name and hash. Salesforce's default file size limit is 25MB per file; larger files are split into chunks or flagged for manual handling and logged for admin action. Inline images in notes are extracted, downloaded, and re-hosted as Salesforce Files, with the note updated to reference the new file URLs. File sharing settings default to the record's visibility.
Jubilee
User / Owner
Salesforce Sales Cloud
User (OwnerId)
1:1Jubilee owner IDs resolve to Salesforce User records by email match. Unmatched owners are flagged before migration, allowing the team to invite them to Salesforce or reassign their records to a fallback owner. If a matched user is inactive, FlitStack logs a warning and defaults to the fallback owner to prevent integrity issues. All OwnerId assignments are recorded in the migration audit log.
Jubilee
Sequence / Automation
Salesforce Sales Cloud
N/A — must rebuild in Salesforce Flow
1:1Jubilee sequences, workflows, and automation rules do not migrate and must be recreated in Salesforce. FlitStack exports all workflow definitions as a JSON reference file that includes trigger conditions, action steps, filter logic, and associated object references. The admin can use this document to rebuild equivalent logic using Flow or Process Builder, prioritizing the critical automations. Any dependencies on custom fields are noted to ensure those fields exist before activation.
| Jubilee | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Contact (lifecycle_stage in [prospect, marketing_qualified, sales_qualified, customer, evangelist]) | Lead1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline | Sales Process + Record Type1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stage1:1 | Fully supported | |
| Lifecycle Stage | Custom field (Lifecycle_Stage__c) on Contact/Lead1:1 | Fully supported | |
| Engagement (call, email, meeting, note) | Task / Event / Note1:1 | Fully supported | |
| Custom Object | Custom Object1:1 | Fully supported | |
| Attachment / File | Salesforce Files1:1 | Fully supported | |
| User / Owner | User (OwnerId)1:1 | Fully supported | |
| Sequence / Automation | N/A — must rebuild in Salesforce Flow1: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.
Jubilee gotchas
Desktop edition stores documents in local file paths
Trust account balance snapshot may not reflect pending transactions
Chapter-specific form versions are not auto-upgraded on import
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Stand up Salesforce schema first
Before any data moves, FlitStack produces a detailed schema setup plan that enumerates every record type, page layout, custom field, and pick-list value set required in Salesforce. This plan includes Lifecycle_Stage__c, Engagement_Score__c, Original_Create_Date__c, Source_System_ID__c, and any other custom fields needed to host Jubilee properties. The Salesforce admin must provision these artifacts in the target org before the validation run so that field-level mapping can resolve real destination field IDs instead of using placeholder references. Completing this step first eliminates mapping errors that would otherwise block record insertion during the migration.
Resolve owners and users by email
Jubilee owner IDs are matched against Salesforce User records by email address. FlitStack generates a pre-flight owner resolution report listing every Jubilee owner, the matched Salesforce User (or 'unmatched' status), and the fallback owner assignment for any unmatched records. The team either invites new users to Salesforce before migration or designates a system user as the fallback owner. No record commits without a valid Salesforce OwnerId.
Migrate accounts and contacts before opportunities
Salesforce enforces referential integrity: Accounts must exist before Contacts (via AccountId) and Contacts before Opportunities (via Contact Roles and AccountId). FlitStack sequences the migration so parent records insert first: Companies → Accounts, then Contacts/Leads split by Jubilee lifecycle stage, then Deals → Opportunities with stage and RecordTypeId mapping per pipeline. Custom object inserts follow once all parent lookups are resolved.
Run a sample migration with field-level diff
A representative slice — typically 100–500 records spanning contacts, accounts, opportunities, and activities — migrates first against a Salesforce sandbox or scratch org. FlitStack generates a field-level diff showing source values and destination values for every mapped field, flagging any truncation, value-mapping mismatches, or null inserts. The team reviews lifecycle stage routing, pipeline-to-record-type assignment, owner resolution, and custom field population before committing to the full run.
Cut over with delta-pickup for in-flight records
The full migration runs against the Salesforce production org using Bulk API for large record volumes. During cutover, a delta-pickup window (typically 24–48 hours) captures any records created or modified in Jubilee after the migration snapshot was taken. FlitStack's audit log records every insert, update, and skip operation. One-click rollback is available if reconciliation against the pre-migration count report reveals discrepancies exceeding the agreed tolerance threshold.
Platform deep dives
Jubilee
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Jubilee and Salesforce Sales Cloud.
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
Jubilee: Not publicly documented.
Data volume sensitivity
Jubilee 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 Jubilee to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Jubilee to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Jubilee
Other ways to arrive at Salesforce Sales Cloud
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.