CRM migration
Field-level mapping, validation, and rollback between Jubilee and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Jubilee
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
11 of 12
objects map 1:1 between Jubilee and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Jubilee CRM stores contacts, companies, and deals as flat record structures with custom properties stored as extended attributes. Dynamics 365 Sales uses Microsoft Dataverse tables with a relational model — contacts link to accounts via AccountId lookups, deals are opportunities with stage pick-lists scoped by business process, and custom fields require solution-layer creation before data can land. We extract Jubilee records via the platform's REST API, transform them into Dataverse-compatible column formats, and load them through the Dataverse Web API with proper entity relationship ordering. The migration carries all standard objects (contacts, companies, opportunities, activities) and any custom fields Jubilee exposes via API. Workflows, automation rules, and reporting configurations do not migrate — those live in Jubilee's execution engine and have no direct equivalent in Dynamics 365 Sales; we export workflow definitions as JSON for your Dynamics admin to reference when rebuilding in Power Automate or Dynamics workflows. Owner resolution happens by email match against your Dynamics 365 users, with unmatched owners flagged before the full run. A 24–48 hour delta-pickup window captures any changes made in Jubilee during the cutover so Dynamics reflects the final state at go-live.
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.
Source platform
Jubilee platform overview
Scorecard, SWOT, gotchas, and pricing for Jubilee.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
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 Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Jubilee
Contact / Person
Microsoft Dynamics 365 Sales
Contact
1:1Jubilee contact records map directly to Dataverse Contact. Dynamics 365 requires AccountId on most contact views — contacts without a primary company land on a placeholder account or require Account creation in the same migration batch. Standard fields like name, email, phone, and address transfer as‑is, and custom attributes are written to custom columns on Contact. We verify email uniqueness and flag duplicates before insert to avoid duplicate Contact rows.
Jubilee
Company / Organization
Microsoft Dynamics 365 Sales
Account
1:1Jubilee company records map to Dataverse Account. If Jubilee supports parent‑company hierarchies, the top‑level company migrates as Account, and child companies map to ChildAccounts via ParentAccountId lookup — circular references are flagged before the run. Standard fields (name, domain, industry, address) transfer as‑is, and any custom attributes are written to matching custom columns on Account. Each Account owner is resolved by email match to a SystemUser before insert.
Jubilee
Deal / Opportunity
Microsoft Dynamics 365 Sales
Opportunity
1:1Jubilee deal records map to Dataverse Opportunity. Each Opportunity requires AccountId — deals without a linked company are attached to a default account and flagged for review. Pipeline stage in Jubilee maps to the Opportunity StageName pick-list; if Jubilee stages don't match Dynamics stages exactly, we apply a value-mapping table during migration.
Jubilee
Custom Fields (all objects)
Microsoft Dynamics 365 Sales
Custom Columns
1:1Jubilee custom fields stored as extended attributes are enumerated via API. We create matching custom columns in Dataverse (prefixed with new_ by default) before migration begins. The field type is inferred from Jubilee's type metadata — text, number, date, pick-list — and the closest Dataverse type is applied. Pick-list fields require a separate value-mapping step for each option.
Jubilee
Contact-Company Association
Microsoft Dynamics 365 Sales
AccountContactRelation
many:1Jubilee N:N contact-company associations map to Dataverse AccountContactRelation. We create one primary relation (IsPrimary: true) per contact and surface secondary associations in the same table. If Jubilee supports multiple association roles (e.g., Decision Maker, Influencer), those roles are stored in a custom column on AccountContactRelation since the built-in Dynamics roles table has a limited schema.
Jubilee
Activity: Email
Microsoft Dynamics 365 Sales
Email (activity)
1:1Jubilee email activities map to Dataverse Email records with Regarding lookup pointing to the source contact or deal. Email body, subject, from/to addresses, and sent/received timestamps are preserved. Attachments are extracted and re-uploaded to Dataverse notes or SharePoint document management based on your Dynamics configuration.
Jubilee
Activity: Call / Meeting / Note
Microsoft Dynamics 365 Sales
PhoneCall / Appointment / Annotation
1:1Jubilee call, meeting, and note records map to their Dataverse equivalents. Call duration and outcome are stored in custom columns on PhoneCall. Meeting start/end times and location map to Appointment fields. Free-form notes map to Dataverse Annotation (Notes) with the Regarding lookup set to the parent contact or deal.
Jubilee
Deal Line Item / Product
Microsoft Dynamics 365 Sales
OpportunityProduct
1:1If Jubilee stores product line items directly on deal records, we split them into separate OpportunityProduct records in Dataverse. Product lookup requires an existing Product (or msdyn_product) record — we create placeholder products during migration if the source product catalog is not separately exported, then link OpportunityProducts to those placeholders.
Jubilee
Owner / User
Microsoft Dynamics 365 Sales
SystemUser
1:1Jubilee owner IDs are resolved by email against Dynamics 365 SystemUser records. Matches are written as OwnerId on migrated records. Owners with no matching email are flagged in the pre-flight report — your Dynamics admin either invites them to the tenant or assigns their records to a fallback owner before the migration runs.
Jubilee
Attachment / File
Microsoft Dynamics 365 Sales
Annotation (Note) / SharePoint Document Location
1:1Jubilee file attachments on contacts, companies, and deals are downloaded and re-uploaded to Dynamics 365. By default, files are stored as Dataverse Notes attachments. If your Dynamics environment uses SharePoint document management, we create SharePoint Document Location records and store files in the configured document library.
Jubilee
Workflow / Automation Rule
Microsoft Dynamics 365 Sales
Power Automate Flow / Dynamics Workflow
1:1Jubilee workflows execute in Jubilee's own automation engine and are not exposed as exportable configuration. We cannot migrate them. We export a JSON manifest of your active workflows (trigger events, conditions, actions) as a rebuild reference. Your Dynamics admin uses that manifest to recreate equivalent logic in Power Automate or Dynamics workflows.
Jubilee
Report / Dashboard
Microsoft Dynamics 365 Sales
Power BI Report / Dynamics Dashboard
1:1Jubilee reports built on Jubilee data are not portable. The underlying data migrates — your reports in Dynamics will reference the same fields with different names. We provide a field-mapping cross-reference document so your analytics team can rebuild reports against the new Dynamics schema. Custom charts or visualizations built in Jubilee's report builder must be recreated in Power BI or Dynamics.
| Jubilee | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact / Person | Contact1:1 | Fully supported | |
| Company / Organization | Account1:1 | Fully supported | |
| Deal / Opportunity | Opportunity1:1 | Fully supported | |
| Custom Fields (all objects) | Custom Columns1:1 | Fully supported | |
| Contact-Company Association | AccountContactRelationmany:1 | Fully supported | |
| Activity: Email | Email (activity)1:1 | Fully supported | |
| Activity: Call / Meeting / Note | PhoneCall / Appointment / Annotation1:1 | Fully supported | |
| Deal Line Item / Product | OpportunityProduct1:1 | Fully supported | |
| Owner / User | SystemUser1:1 | Fully supported | |
| Attachment / File | Annotation (Note) / SharePoint Document Location1:1 | Fully supported | |
| Workflow / Automation Rule | Power Automate Flow / Dynamics Workflow1:1 | Fully supported | |
| Report / Dashboard | Power BI Report / Dynamics Dashboard1: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
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Enumerate Jubilee schema and create Dynamics 365 custom fields
FlitStack AI connects to Jubilee via API and retrieves the complete object and custom field inventory — standard objects (Contact, Company, Deal, Activities) plus all custom extended attributes Jubilee exposes. We then create matching custom columns in your Dynamics 365 Dataverse solution, applying the appropriate type (text, number, datetime, pick-list) per field. Pick-list fields get their option values created before any data writes are attempted. This step runs against a staging environment first so published solutions are not disrupted.
Resolve owners by email and build relationship ordering
We extract all Jubilee owner IDs and their associated email addresses. Each owner is matched against your Dynamics 365 Active Directory-synced users by email. Matches write OwnerId directly. Owners with no match are collected in a pre-flight exception report — your Dynamics admin resolves these before the migration runs. We also build the dependency graph for object ordering: Accounts must migrate before Contacts, and Contacts must exist before Opportunities since Opportunity requires AccountId.
Migrate accounts and contacts with field-level transformation
Companies migrate as Dataverse Accounts first, preserving parent-company hierarchy via ParentAccountId. Contacts follow, with company associations resolved via AccountId lookups and secondary companies added as AccountContactRelation records. For each contact, we apply Jubilee field values to the mapped Dynamics columns, including custom fields, original create timestamps (preserved in Original_Create_Date__c), and the Jubilee record ID (Source_System_ID__c). Owner resolution applies per contact.
Migrate opportunities with pipeline-to-business-process mapping
Deals migrate as Dataverse Opportunities, linked to Accounts by AccountId. Jubilee pipeline stage values are resolved via the value-mapping table created in pre-flight, producing the correct StageId and TraversedPath for each Opportunity. Primary and secondary contacts are added as OpportunityContactRole records. Opportunity product line items (if present in Jubilee) split into OpportunityProduct records, linked to placeholder products if no separate product catalog export exists.
Migrate activities and attachments
Email, call, meeting, and note records migrate to their Dataverse equivalents (Email, PhoneCall, Appointment, Annotation) with Regarding lookups pointing to the parent contact or deal. We also handle multi-part MIME email bodies, preserving HTML formatting, and map call outcomes and durations to custom columns on PhoneCall. Meeting location and organizer details are transferred, and notes are stored as Annotations linked to the parent record. All activity timestamps and owners are preserved. The process validates that each activity's Regarding lookup resolves to a valid Contact or Opportunity in Dynamics before commit.
Run sample migration, delta-pickup, and audit-log delivery
A representative slice of records (typically 100–500) migrates first across all object types. We generate a field-level diff comparing source Jubilee values to the resulting Dynamics records. You verify field mapping accuracy, owner resolution, and stage mapping before the full run commits. After full migration, a 24–48 hour delta-pickup window captures any records created or modified in Jubilee during the cutover. FlitStack delivers a complete audit log of all operations, and one-click rollback is available if reconciliation finds unexpected gaps.
Platform deep dives
Jubilee
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
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 Jubilee and Microsoft Dynamics 365 Sales .
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
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 Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Jubilee to Microsoft Dynamics 365 Sales 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 Microsoft Dynamics 365 Sales
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.