CRM migration
Field-level mapping, validation, and rollback between Leaf360 and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Leaf360
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between Leaf360 and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Leaf360 stores mortgage-specific CRM data: contacts with loan_officer assignments and loan_status values, companies with property_address records, deals tracking loan_amount and preapproval_date, pipeline stages representing mortgage milestones, and referral partner associations. Dynamics 365 Sales models everything on Dataverse — Accounts, Contacts, Leads, and Opportunities with a configurable Lead-to-Contact qualification flow. The key migration challenges are mapping Leaf360's loan_status pick-list values to Dynamics 365 Sales stage pipelines, translating Leaf360's referral partner associations into Dynamics 365 Sales Connection records or custom tables, handling Leaf360 custom fields (mortgage-specific fields like loan_type and property_address) as custom columns on the appropriate Dataverse entity, preserving original create dates as custom datetime fields since Dataverse CreatedOn is set at migration time, and routing Leaf360 workflows and automations — which FlitStack does not migrate — to a separate rebuild plan using Dynamics 365 Sales workflows or Power Automate. We sequence the migration: Accounts first (foreign key for Contacts), then Contacts/Leads split by loan_status value, then Opportunities with pipeline and stage mapping, then activities and attachments. Owner resolution happens by email match against Dynamics 365 Sales users. A delta-pickup window captures any records modified in Leaf360 during cutover so Dynamics 365 Sales 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
Leaf360 platform overview
Scorecard, SWOT, gotchas, and pricing for Leaf360.
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 Leaf360 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.
Leaf360
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Leaf360 Contact maps directly to Dynamics 365 Sales Contact. Leaf360 stores loan_officer as a contact property; this resolves to the Contact's OwnerId via email match. Leaf360 contact-level loan_status values route to the Contact's custom LoanStatus__c field. Records without a primary company land on a default placeholder Account.
Leaf360
Contact (loan_status = Referral Partner)
Microsoft Dynamics 365 Sales
Contact / Connection
1:1Leaf360 contacts flagged as referral partners (referral_source = 'Partner') migrate as Dynamics 365 Sales Contacts but also receive Connection records linking them to the loan officer Contacts they referred. The Connection record type 'ReferredBy' is created in the destination before migration runs.
Leaf360
Company
Microsoft Dynamics 365 Sales
Account
1:1Leaf360 Company maps to Dynamics 365 Sales Account. Property_address on a Leaf360 company migrates as a custom Address field on the Account. Leaf360 company hierarchies (parent/child) map to Account.ParentAccountId. Multi-company contacts collapse to a primary AccountId plus Account Contact Relationships in Dynamics 365 Sales.
Leaf360
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1Leaf360 Deal maps to Dynamics 365 Sales Opportunity. The deal's loan_amount maps to Opportunity.Amount, closedate maps to Opportunity.CloseDate, and dealname maps to Opportunity.Name. The LoanOfficer__c custom field stores the originating loan officer name. Each Deal's pipeline in Leaf360 maps to a Business Process Flow in Dynamics 365 Sales.
Leaf360
Pipeline
Microsoft Dynamics 365 Sales
Business Process Flow + Stage
1:1Leaf360's pipeline object becomes a Dynamics 365 Sales Business Process Flow (BPF). Each Leaf360 stage in the pipeline (Pre-Approval, Processing, Underwriting, Clear to Close, Funded) becomes a BPF stage with its own stage name and step requirements. The BPF is pre-created before data lands so Opportunities can attach to it on ingest.
Leaf360
Pipeline Stage (loan_status values)
Microsoft Dynamics 365 Sales
Opportunity StageName + Stage (BPF)
1:1Leaf360 loan_status pick-list values (Pre-Approval, Processing, Underwriting, etc.) map value-by-value to Dynamics 365 Sales Opportunity StageName pick-list values. We apply probability weights per stage from your existing Leaf360 stage configuration. Stage-transition timestamps from Leaf360 are preserved as custom datetime fields on the Opportunity.
Leaf360
Custom Field (loan_type, property_address, preapproval_date, etc.)
Microsoft Dynamics 365 Sales
Custom Column on Contact / Opportunity / Account
1:1Leaf360 custom fields — identified via the custom-fields API — are enumerated, typed, and mapped to Dataverse custom columns. loan_type and property_address typically land on Opportunity; preapproval_date lands on Contact or Opportunity depending on where Leaf360 stored it. Sales Professional setups are limited to 15 custom tables; Sales Enterprise allows unlimited custom columns per table.
Leaf360
Engagement (call, email, meeting, note)
Microsoft Dynamics 365 Sales
PhoneCall / Email / Appointment / Note
1:1Leaf360 engagement records (call, email, meeting, note) map to Dynamics 365 Sales activity tables: PhoneCall, Email, Appointment, and Note respectively. Original timestamps, owner (resolved by email), and the Regarding lookup back to the parent Contact or Opportunity are preserved during migration.
Leaf360
Attachment / File
Microsoft Dynamics 365 Sales
Annotation (Note with filename)
1:1Leaf360 file attachments on records migrate as Dynamics 365 Sales Annotations. The file is downloaded from Leaf360, uploaded to Dataverse document storage, and attached to the matching Contact, Account, or Opportunity record. File size limits (default 128MB per annotation in Dataverse) are enforced; files exceeding the limit are flagged for manual handling.
Leaf360
Referral Partner Association
Microsoft Dynamics 365 Sales
Connection
1:1Leaf360 referral_source properties on deals and contacts create referral relationships that map to Dynamics 365 Sales Connection records. A Connection with type 'ReferredBy' links the referral partner Contact to the referred loan Contact or Opportunity. Connection records require the Connections Hub solution to be enabled in the Dynamics 365 Sales environment before migration.
Leaf360
Workflow / Automation
Microsoft Dynamics 365 Sales
Dynamics 365 Sales Workflow / Power Automate
1:1Leaf360 automations (lead routing rules, drip sequences, task-creation triggers, SLA timers) are not migrated. FlitStack exports your Leaf360 workflow definitions as a structured JSON document that your Dynamics 365 admin can use as a reference to rebuild equivalent automations in Dynamics 365 Sales Workflow or Power Automate. The rebuild is a separate services engagement.
Leaf360
Report / Dashboard
Microsoft Dynamics 365 Sales
Dynamics 365 Reports + Power BI
1:1Leaf360 reports and dashboards do not migrate. The underlying data (contacts, accounts, opportunities, activities) migrates completely, so rebuilding reports in Dynamics 365 Sales or Power BI starts from the same data. We provide a data dictionary of migrated fields so your BI team can reconnect existing Power BI reports to the Dataverse tables.
| Leaf360 | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Contact (loan_status = Referral Partner) | Contact / Connection1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline | Business Process Flow + Stage1:1 | Fully supported | |
| Pipeline Stage (loan_status values) | Opportunity StageName + Stage (BPF)1:1 | Fully supported | |
| Custom Field (loan_type, property_address, preapproval_date, etc.) | Custom Column on Contact / Opportunity / Account1:1 | Fully supported | |
| Engagement (call, email, meeting, note) | PhoneCall / Email / Appointment / Note1:1 | Fully supported | |
| Attachment / File | Annotation (Note with filename)1:1 | Fully supported | |
| Referral Partner Association | Connection1:1 | Fully supported | |
| Workflow / Automation | Dynamics 365 Sales Workflow / Power Automate1:1 | Fully supported | |
| Report / Dashboard | Dynamics 365 Reports + Power BI1: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.
Leaf360 gotchas
No public API for data export
Workflow automations do not export
Integration OAuth tokens are non-transferable
Referral Partner objects require schema mapping
Custom field scoping is required upfront
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
Audit Leaf360 data model and Dynamics 365 Sales environment
FlitStack AI pulls a full export of your Leaf360 data — contacts, companies, deals, activities, custom fields, and referral associations — via the Leaf360 API. We simultaneously audit your Dynamics 365 Sales environment: license tier (Professional vs Enterprise), existing custom tables and columns, enabled solutions (Connections Hub), Business Process Flows, and user list. This audit produces the Schema Setup Plan that tells your admin exactly which custom columns and BPFs to pre-create before data lands.
Map loan_status values and configure Business Process Flows
We build the value-mapping table for Leaf360 loan_status pick-list values to Dynamics 365 Sales Opportunity StageName values. Each Leaf360 pipeline becomes a Business Process Flow in Dynamics 365 Sales with stages named to match your existing loan milestones. We deliver the BPF XML and stage definitions for your admin to import into the target environment. Referral partner Connection types are also defined here so the connection schema is ready when the migration runs.
Resolve loan officers by email match against Dynamics 365 Sales users
Leaf360 loan_officer assignments are resolved by matching the source email address to a Dynamics 365 Sales system user via Azure Active Directory lookup. The migration engine checks each email against the Users table; any loan_officer without a corresponding Dynamics 365 user appears in a pre‑flight report. Administrators can either invite the missing user to the tenant, create a new Azure AD account, or route those records to a designated fallback owner migration admin. All Opportunities and Contacts are required to have a valid OwnerId before ingestion, ensuring that every migrated record retains ownership in the target environment.
Run a sample migration with field-level diff
A representative slice — typically 200–500 records spanning Contacts, Accounts, Opportunities, and a sample of referral connections — migrates first. We generate a field-level diff showing source value versus destination value for every mapped field so you can verify loan_status routing, loan_type pick-list mapping, referral partner linkage, and owner resolution before the full run commits. Sample results are reviewed in a walkthrough call; your sign-off triggers the full migration.
Execute full migration with delta-pickup and rollback readiness
The full migration runs in sequenced phases: Accounts first, then Contacts, then Leads split by loan_status, then Opportunities with BPF attachment, then activities and attachments, then referral Connection records. A delta-pickup window (24–48 hours) captures any records created or modified in Leaf360 during the cutover. The entire operation is logged; one-click rollback reverts Dynamics 365 Sales to its pre-migration state if reconciliation fails. Post-migration, we deliver the data dictionary, a duplicate report, and the oversized-file manifest.
Platform deep dives
Leaf360
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
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 Leaf360 and Microsoft Dynamics 365 Sales .
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
Leaf360: Not publicly documented..
Data volume sensitivity
Leaf360 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 Leaf360 to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Leaf360 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 Leaf360
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.