CRM migration

Migrate from Leaf360 to Microsoft Dynamics 365 Sales

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 logo

Leaf360

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

12 of 12

objects map 1:1 between Leaf360 and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Leaf360 logo

Leaf360

What's pushing teams away

  • Teams outgrowing the platform report limited scalability and fewer advanced features compared to established mortgage CRM competitors with longer product histories.
  • Some users note that further customisation options and deeper automation controls would improve the platform for complex multi-state or multi-branch lending operations.
  • A desire for more robust reporting and analytics dashboards is mentioned in reviews, with users indicating the current offering is functional but not comprehensive.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Leaf360 objects map to Microsoft Dynamics 365 Sales

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

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Leaf360 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)

maps to

Microsoft Dynamics 365 Sales

Contact / Connection

1:1
Fully supported

Leaf360 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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Leaf360 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

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Leaf360 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

maps to

Microsoft Dynamics 365 Sales

Business Process Flow + Stage

1:1
Fully supported

Leaf360'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)

maps to

Microsoft Dynamics 365 Sales

Opportunity StageName + Stage (BPF)

1:1
Fully supported

Leaf360 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.)

maps to

Microsoft Dynamics 365 Sales

Custom Column on Contact / Opportunity / Account

1:1
Fully supported

Leaf360 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)

maps to

Microsoft Dynamics 365 Sales

PhoneCall / Email / Appointment / Note

1:1
Fully supported

Leaf360 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

maps to

Microsoft Dynamics 365 Sales

Annotation (Note with filename)

1:1
Fully supported

Leaf360 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

maps to

Microsoft Dynamics 365 Sales

Connection

1:1
Fully supported

Leaf360 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

maps to

Microsoft Dynamics 365 Sales

Dynamics 365 Sales Workflow / Power Automate

1:1
Fully supported

Leaf360 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

maps to

Microsoft Dynamics 365 Sales

Dynamics 365 Reports + Power BI

1:1
Fully supported

Leaf360 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.

Gotchas + challenges

What specifically takes care here

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 logo

Leaf360 gotchas

High

No public API for data export

High

Workflow automations do not export

Medium

Integration OAuth tokens are non-transferable

Medium

Referral Partner objects require schema mapping

Low

Custom field scoping is required upfront

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • Leaf360 custom field extraction requires API pagination handling

    Leaf360 exposes its custom fields via a paginated endpoint (app.360learning.com/api/v2/custom-fields) with a 1,000-field page size. Full custom-field enumeration is required before field mapping can begin. Some Leaf360 setups use custom fields that are not exposed via API and must be catalogued manually from the Leaf360 UI. We recommend exporting a full custom-field inventory from Leaf360 before the migration kickoff call so mapping can proceed without a discovery bottleneck. Missing custom fields from the export result in those fields being skipped during migration.

  • Sales Professional's 15-table cap forces Enterprise licensing for mortgage teams

    Dynamics 365 Sales Professional limits custom tables (entities) to 15. Mortgage teams migrating from Leaf360 typically need at minimum: Accounts, Contacts, Leads, Opportunities, and a custom Referral table — leaving little room for the loan-specific custom tables (Loan, Property, ReferralPartner) that mortgage operations require. Most Leaf360 migrations land in Sales Enterprise licensing ($105/user/month) to accommodate the full data model. Migrating into a Sales Professional environment and hitting the 15-table wall mid-migration causes the run to fail and requires re-scoping. We confirm your Dynamics 365 Sales license tier before planning begins.

  • Lead-to-Contact qualification flow requires Business Process Flow re-configuration

    Leaf360 does not have a separate Lead object — all mortgage prospects live as Contacts with a loan_status property. Dynamics 365 Sales treats Leads and Contacts as separate entities with a qualification step that converts a Lead to a Contact and creates an Opportunity. If your Leaf360 setup treats all records as Contacts (no separate prospect stage), the Lead entity in Dynamics 365 Sales may go unused. Alternatively, we can map Leaf360 Contacts with loan_status = 'Prospect' to Dynamics 365 Sales Leads, preserving the prospect state, and route loan_status = 'Active' contacts directly to Contacts with an Opportunity. Your admin chooses the model before migration.

  • Connections Hub must be enabled before referral partner migration

    Dynamics 365 Sales Connection records (used to model referral partner relationships) require the Connections Hub solution to be provisioned in your environment. Connections Hub is not enabled by default on all Sales Enterprise instances. If it is not enabled before migration, referral partner linkage data from Leaf360 cannot land as Connection records and must be stored as a custom referral table instead — requiring additional Dataverse table creation. We check for Connections Hub availability during the pre-migration environment audit and flag it as a prerequisite.

  • Dataverse annotation file size limit may truncate Leaf360 attachments

    Dynamics 365 Sales stores file attachments as Dataverse Annotations with a default maximum file size of 128 MB per annotation. Leaf360 attachments that exceed this limit — such as scanned loan documents, credit reports, appraisal PDFs, or large image files — are flagged during the migration run. FlitStack generates a manifest listing each oversized file, its record, and its size, allowing your team to upload the files to a SharePoint document library or OneDrive for Business and create a reference link in the related Dynamics 365 record. This approach preserves the file relationship while avoiding the Dataverse size restriction.

Migration approach

Six steps for a successful Leaf360 to Microsoft Dynamics 365 Sales data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Context on both ends of the pair

Leaf360 logo

Leaf360

Source

Strengths

  • Purpose-built for mortgage with referral tracking, lead management, and loan pipeline views in one vertical tool.
  • AI-enabled assistant embedded within the CRM for automating follow-up sequences and task creation.
  • Native integrations with Follow Up Boss, Lending Pad, CanopyTPO, and Arive reduce switching costs for teams already using these tools.
  • White-glove onboarding support from a small, responsive founding team — reviewers specifically name Nicolas Mourra and Chris as helpful contacts.
  • Customisable pipelines and workflow templates pre-built for the mortgage lifecycle reduce initial setup friction.

Weaknesses

  • No publicly documented API or developer portal — programmatic data export is not supported, making migration highly dependent on manual processes or direct data reads.
  • Limited public review volume (4 verified reviews on G2) makes independent product evaluation difficult.
  • Pricing appears to be single-tier per-user at $59/month with no published plans for volume discounts, team tiers, or enterprise features.
  • The product is early-stage (founded 2023) with a small team, which may present long-term viability and support continuity concerns for larger lenders.
  • No community forum, public roadmap, or documented API rate limits publicly available.
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Leaf360 and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Leaf360: Not publicly documented..

  • Data volume sensitivity

    B

    Leaf360 doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Leaf360 to Microsoft Dynamics 365 Sales migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Leaf360 to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Leaf360 to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most Leaf360 to Dynamics 365 Sales migrations complete within 48–72 hours of clock time for datasets under 50,000 records. Larger setups with 100,000+ records, multiple loan pipelines, or extensive referral partner data extend to 5–10 days. The longest planning step is configuring Business Process Flows and mapping Leaf360 loan_status values to Dynamics 365 Sales stage pick-lists before data lands. Custom field enumeration from the Leaf360 API also adds 1–2 days to the discovery phase.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Leaf360.
Land in Microsoft Dynamics 365 Sales , intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day