CRM migration

Migrate from Legl to Microsoft Dynamics 365 Sales

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 logo

Legl

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

83%

10 of 12

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

Complexity

BStandard

Timeline

4–6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Legl logo

Legl

What's pushing teams away

  • UK-centric — international firms outside the SRA/AML UK framework don't get the same out-of-the-box compliance fit.
  • Pricing is published as 'from $50/user/month' (small firms) scaling to $20–30/user/month at enterprise scale per third-party listings, but exact rates require a sales conversation, so smaller firms cannot self-serve.
  • Compliance-tool focus means firms eventually needing full practice management (time, billing, matter management) still need a separate system — Legl is not a full PM replacement.
  • Integration footprint to general legal practice management systems (Clio, Actionstep, Leap) is partner-led rather than published as packaged connectors, requiring API work in some cases.
  • Mid-market positioning leaves both very small (1–5 fee earner) and very large (1,000+ fee earner) firms underserved relative to dedicated alternatives.

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 Legl objects map to Microsoft Dynamics 365 Sales

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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

new_cddrequest (Custom Entity)

1:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

new_riskassessment (Custom Entity)

1:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

N/A (no equivalent)

1:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

new_bankaccount (Custom Entity)

1:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

new_sanctionscheck (Custom Entity)

1:1
Fully supported

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

maps to

Microsoft Dynamics 365 Sales

Account.Address1_* fields

many:1
Fully supported

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

maps to

Microsoft Dynamics 365 Sales

Contact.Address1_* fields

many:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

new_legl_businessreport (Custom Entity)

1:1
Fully supported

Legl 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

maps to

Microsoft Dynamics 365 Sales

new_ongoingmonitoring (Custom Entity)

1:1
Fully supported

Legl'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.

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.

Legl logo

Legl gotchas

Medium

Beta API endpoints carry schema stability risk

Medium

Sandbox access requires direct support contact

Low

Payment checkout URLs reference external Stripe sessions

Low

AML audit dashboards require real-time data from connected PMS

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

  • Legl flat organization model collides with Dynamics Account-Contact hierarchy

    Legl stores Persons linked to an Organisation via organisationId with no concept of a primary contact flag. Dynamics 365 requires each Contact to have a single AccountId lookup — if a Legl organization has 10 persons, all 10 become Contacts with the same AccountId, but your team must decide which (if any) is the primary contact for Dynamics reporting. We surface all persons as Contacts linked to the Account and flag the N-to-1 resolution rule before migration so your admin can set primary-contact flags post-migration. This is not data loss — it is a schema-design decision that must be made in Dynamics after data lands.

  • Legl API rate limit (3,600/hour) constrains migration batch sizing

    Legl's sandbox and production API share the same 3,600 requests/hour sustained limit with a 120 requests/minute burst ceiling. Migration tooling hitting Legl's endpoints too aggressively returns 429 responses that stall the run. FlitStack throttles Legl API calls to stay below the burst threshold and distributes large record-set extractions across multiple parallel workers within the rate ceiling. Legl's sandbox at api.sandbox.legl.com is available for pre-migration testing — we recommend a sandbox run against 500 records to calibrate batch timing before the full migration commits.

  • Legl compliance workflows and CDD automation do not migrate — must be rebuilt in Power Automate

    Legl's core value is the no-code workflow engine for client onboarding, AML monitoring, and compliance escalation. Dynamics 365 has no native compliance-workflow equivalent — CDD status, risk-assessment triggers, sanctions-check reminders, and reviewer assignments live in custom entities after migration. FlitStack exports your Legl workflow definitions (via GET /listWorkflows and GET /listEngageRequests) as a JSON reference document and recommends that your Dynamics admin rebuilds the logic in Power Automate using the exported workflow steps as a blueprint. The CDD status values migrate as data; the automation that drives those statuses does not.

  • Dynamics per-user daily API limits may throttle import workers on large datasets

    Dynamics 365 Web API enforces per-user daily request allocations that vary by license tier — Sales Professional and Enterprise have different limits, and the limits apply per logged-in user, not per organization. On datasets above 50,000 records, FlitStack's migration workers may exceed per-user daily allocations during the bulk-write phase. We handle this by distributing write operations across multiple authenticated users, tuning batch sizes per the target environment's documented limits, and using the Dynamics Data Management Framework for record-set imports where the Web API rate limits would otherwise bind.

  • Legl sandbox uses separate data — production records require separate export

    Legl's sandbox environment at api.sandbox.legl.com is a fully isolated testing space with its own organizations, persons, and workflow records that mirror production structure but contain separate test data. Running a migration against the sandbox does not exercise production records at all and only validates that the migration tooling can authenticate and read from the Legl API. FlitStack always executes the sample migration against production Legl data (using a limited record scope or dedicated test organization) to validate field mapping accuracy, organization-contact linkage resolution, and CDD-status value translation before the full production cutover begins.

Migration approach

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

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

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

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

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

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

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

Context on both ends of the pair

Legl logo

Legl

Source

Strengths

  • Purpose-built for law firm client onboarding and AML compliance workflows
  • ISO 27001:2013 certified platform with documented information security controls
  • Well-structured REST API with OpenAPI spec and browsable HTML interface
  • Rate limits are generous at 3600 req/hour with a sandbox environment for integration testing
  • Connects natively with major legal PMS platforms including Clio, Actionstep, Proclaim, and P4W

Weaknesses

  • Legl functions as an overlay/orchestration layer rather than a full practice management system
  • No public pricing published — sales-led engagement required to obtain tier details
  • Zero reviews on G2 and no presence on Capterra makes independent evaluation difficult
  • Beta API endpoints for RiskAssessments may change schema without advance notice
  • Historical transaction journals and matter narrative content are not exposed via API — reside in connected PMS
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. All 8 core objects map 1:1 between Legl and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between Legl and Microsoft Dynamics 365 Sales .

  • 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

    Legl: 3600 requests per hour sustained, burst rate of 120 requests per minute.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Legl 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 Legl to Microsoft Dynamics 365 Sales data migrations

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

Can't find your answer?

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 consultation

Small Legl setups — under 10,000 records across organizations, contacts, and a handful of CDD records — typically complete in 4–6 weeks of clock time. Mid-size migrations with 50,000+ records, multiple compliance entity types (risk assessments, sanctions checks, bank accounts), and data transformation from Legl's flat organization model to Dynamics' Account-Contact hierarchy extend to 2–4 months. The delta-pickup window adds 24–48 hours at the end of the run. Custom-entity schema creation in Dynamics is the longest planning step when compliance objects require multiple custom tables.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Legl.
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