CRM migration
Field-level mapping, validation, and rollback between Legl and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Legl
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
10 of 12
objects map 1:1 between Legl and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
4–6 weeks
Overview
Legl is a legal-operations platform centered on compliance workflows — client onboarding (CDD), ongoing risk assessments, sanctions screening, and payment tracking — organized around Organizations and Persons with a flat association model. Dynamics 365 Sales is a sales CRM organized around Accounts, Contacts, Leads, and Opportunities with a relational hierarchy where Accounts must exist before Contacts can reference them. The migration carries Legl's core data records (organizations, contacts, CDD status, risk scores, payment references) into Dynamics 365, creates custom entities for compliance-specific Legl objects that have no native Dynamics equivalent, and maps Legl's flat organization-contact associations into Dynamics' Account-Contact hierarchy. Workflows, compliance automations, and AML monitoring logic do not migrate — FlitStack exports Legl workflow definitions as a reference document for your Dynamics admin to rebuild using Power Automate. The migration reads Legl via its REST API (3,600 requests/hour sustained, 120/minute burst) and writes to Dynamics 365 via the Dataverse Web API, with batch sizing tuned to stay within Dynamics per-user daily request limits.
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
Legl platform overview
Scorecard, SWOT, gotchas, and pricing for Legl.
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 Legl 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.
Legl
Organization
Microsoft Dynamics 365 Sales
Account
1:1Legl Organization maps directly to Dynamics 365 Account. Legl's flat organization model requires no parent-child hierarchy setup unless your Legl data contains parent-company references, in which case those map to Account.ParentAccountId. Legl organization IDs are stored as new_legl_organizationid__c for traceability.
Legl
Person
Microsoft Dynamics 365 Sales
Contact
1:1Legl Person maps to Dynamics 365 Contact. The key dependency is that Legl Persons carry an organisationId — the corresponding Account must migrate first so Dynamics can resolve AccountId on each Contact. Multiple Persons per Legl organization collapse to individual Contacts all linked to the same Account.
Legl
EngageRequest
Microsoft Dynamics 365 Sales
new_cddrequest (Custom Entity)
1:1Legl EngageRequest is the client-onboarding/CDD record with no native Dynamics equivalent. FlitStack creates a new_cddrequest custom table in Dynamics with fields for cdd_status, reviewer, engage_request_id, and dates. Status values (pending_review, manual_cdd_required, approved, rejected) map via value_mapping to pick-list values in the custom entity.
Legl
RiskAssessment
Microsoft Dynamics 365 Sales
new_riskassessment (Custom Entity)
1:1Legl RiskAssessment tracks ongoing compliance risk scores and event-risk flags. Migrated as a new_riskassessment custom table linked to Account. Fields include assessment_status, risk_score, risk_level, assessment_date, and Legl template reference. The custom entity uses a lookup to Account so each assessment ties to the correct business.
Legl
Workflow
Microsoft Dynamics 365 Sales
N/A (no equivalent)
1:1Legl Workflow records define the steps in onboarding and compliance processes. Dynamics has no native workflow-log equivalent. FlitStack exports workflow definitions as a JSON reference document and advises rebuilding process steps in Power Automate. The Workflow record data itself is archived as a custom entity new_legl_workflowreference for audit purposes only.
Legl
BankAccount
Microsoft Dynamics 365 Sales
new_bankaccount (Custom Entity)
1:1Legl BankAccount stores payment method records linked to an organization. Migrates as a new_bankaccount custom entity with a lookup to Account. Fields include bank_name, account_reference, and status. Dynamics 365 Sales does not natively store payment method data, so this is a reference entity for compliance records.
Legl
SanctionsReport
Microsoft Dynamics 365 Sales
new_sanctionscheck (Custom Entity)
1:1Legl sanctions-check results have no native Dynamics equivalent. FlitStack creates new_sanctionscheck as a custom entity on Account, storing the sanctions_report_id, check_date, result (clear, hit, pending), and Legl source reference. Status values map via value_mapping to a custom pick-list in Dynamics. The sanctions check result values are transformed from Legl's response format to match the custom pick-list defined in Dynamics.
Legl
Organisation (address sub-record)
Microsoft Dynamics 365 Sales
Account.Address1_* fields
many:1Legl stores address fields (address_line1, address_line2, address_city, address_postal_code, address_country) as sub-fields on Organization. These merge into Dynamics 365 Account's composite address fields (Address1Street, Address1City, Address1PostalCode, Address1Country) using Legl address_line1 as the primary street line and address_line2 as address2 if present.
Legl
Person (address sub-record)
Microsoft Dynamics 365 Sales
Contact.Address1_* fields
many:1Legl Person address fields merge into Dynamics 365 Contact's Address1 composite address fields, mirroring the Organization-to-Account address mapping. If Legl stores multiple addresses per person, the primary address migrates to Address1 and any secondary address is stored as a custom text field new_secondaryaddress__c.
Legl
Legl System User
Microsoft Dynamics 365 Sales
SystemUser
1:1Legl workflow reviewer IDs and owner references resolve to Dynamics SystemUser records by email match. Unmatched Legl users are flagged before migration — your team either creates corresponding Dynamics users first or assigns their records to a designated fallback owner. No record lands in Dynamics without a resolved owner.
Legl
BusinessReport
Microsoft Dynamics 365 Sales
new_legl_businessreport (Custom Entity)
1:1Legl BusinessReport records contain company-report and registry-search results. These migrate as new_legl_businessreport custom entities linked to Account, storing report_id, report_type, retrieve_date, and a copy of key result flags as custom fields. Binary report files are re-uploaded to Dynamics 365 SharePoint integration.
Legl
Ongoing Monitoring
Microsoft Dynamics 365 Sales
new_ongoingmonitoring (Custom Entity)
1:1Legl's ongoing-monitoring disable flag and schedule references have no native Dynamics equivalent. FlitStack creates new_ongoingmonitoring as a custom entity on Account, storing monitoring_enabled (boolean), monitoring_id, and last_check_date. This preserves the compliance-monitoring state from Legl as a reference record in Dynamics. The monitoring configuration details are carried forward as custom fields on the new entity.
| Legl | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Organization | Account1:1 | Fully supported | |
| Person | Contact1:1 | Fully supported | |
| EngageRequest | new_cddrequest (Custom Entity)1:1 | Fully supported | |
| RiskAssessment | new_riskassessment (Custom Entity)1:1 | Fully supported | |
| Workflow | N/A (no equivalent)1:1 | Fully supported | |
| BankAccount | new_bankaccount (Custom Entity)1:1 | Fully supported | |
| SanctionsReport | new_sanctionscheck (Custom Entity)1:1 | Fully supported | |
| Organisation (address sub-record) | Account.Address1_* fieldsmany:1 | Fully supported | |
| Person (address sub-record) | Contact.Address1_* fieldsmany:1 | Fully supported | |
| Legl System User | SystemUser1:1 | Fully supported | |
| BusinessReport | new_legl_businessreport (Custom Entity)1:1 | Fully supported | |
| Ongoing Monitoring | new_ongoingmonitoring (Custom Entity)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.
Legl gotchas
Beta API endpoints carry schema stability risk
Sandbox access requires direct support contact
Payment checkout URLs reference external Stripe sessions
AML audit dashboards require real-time data from connected PMS
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
Export Legl data via REST API and map to Dynamics entities
FlitStack connects to Legl's REST API using your API token and exports all Organizations, Persons, EngageRequests, RiskAssessments, BankAccounts, SanctionsReports, and BusinessReports. We apply rate-limit-aware pagination (3,600 requests/hour ceiling) to avoid 429 errors during extraction. Each record receives a source-system ID field (new_legl_*__c) in Dynamics for traceability. The export produces a structured staging dataset that maps directly to the Dynamics entity model.
Create Dynamics custom compliance entities before data migration
Before any data moves, FlitStack creates the custom tables required for Legl compliance objects: new_cddrequest (CDD/EngageRequest), new_riskassessment (RiskAssessment), new_bankaccount (BankAccount), new_sanctionscheck (SanctionsReport), new_legl_workflowreference (Workflow audit), and new_ongoingmonitoring (monitoring flags). Each custom entity gets its schema of custom fields with correct data types, pick-list values mapped from Legl, and lookups to Account. Your Dynamics admin approves the custom-entity schema before the migration plan commits.
Resolve Legl owners and reviewers to Dynamics SystemUser records by email
Legl workflow reviewer IDs and any owner-assignment fields resolve to Dynamics SystemUser records by email match. FlitStack generates a pre-migration owner-resolution report: matched users map directly, unmatched Legl reviewers are flagged for your team to create corresponding Dynamics users or assign to a designated fallback owner. No record lands in Dynamics without a resolved owner — the owner resolution report is a required sign-off checkpoint before the full migration run.
Migrate Organizations (Accounts) before Persons (Contacts) to satisfy lookup constraints
Dynamics 365 requires Account.ID to exist before a Contact can reference AccountId. FlitStack sequences the migration: Accounts first, then Contacts linked to those Accounts. Multiple Legl persons per organization all become Contacts with the same AccountId. After Accounts and Contacts are loaded, the compliance custom entities (CDD, RiskAssessment, BankAccount, SanctionsCheck) load with their Account lookups resolved. This sequence satisfies Dynamics foreign-key constraints and produces a clean Account-Contact hierarchy from Legl's flat organization model.
Run sample migration with field-level diff before full cutover
A representative sample (typically 200–500 records across Organizations, Persons, and one of each compliance entity type) migrates first. FlitStack generates a field-level diff report comparing source Legl values to destination Dynamics values for every mapped field, including CDD status pick-list translations, date-format transformations, and organization-contact linkage verification. You review the diff, approve the mapping, and FlitStack addresses any discrepancies before the full run commits.
Execute full migration with 24–48 hour delta pickup window
The full Legl dataset migrates to Dynamics 365 with the Dataverse Web API. A delta-pickup window (24–48 hours) captures any records created or modified in Legl during the cutover — this includes new persons, updated CDD statuses, or new risk assessments that arrive while the migration runs. FlitStack's audit log records every operation. If reconciliation finds missing records or mismatched CDD statuses after the delta window closes, one-click rollback reverts the Dynamics environment to the pre-migration state so the run can be re-executed with corrected mapping.
Platform deep dives
Legl
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Legl and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Legl and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Legl and Microsoft Dynamics 365 Sales .
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
Legl: 3600 requests per hour sustained, burst rate of 120 requests per minute.
Data volume sensitivity
Legl 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 Legl to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Legl 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 Legl
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.