CRM migration
Field-level mapping, validation, and rollback between LegalServer and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
LegalServer
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between LegalServer and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3–5 days
Overview
LegalServer organizes legal aid case data around matters, clients, attorneys, and grant balances — a model that does not map 1:1 to Dynamics 365 Sales. Dynamics 365 stores legal case data as custom tables (Matter, Case) on the Dataverse platform rather than native CRM entities, requiring custom field creation for attorney assignments, billing types, conflict-check flags, and poverty-level assessments. FlitStack AI extracts LegalServer data via paginated v2 API calls (100-record windows), transforms case-status values into Dynamics 365 custom status fields, and loads into custom tables using the Dataverse Web API. Workflows, grant-management billing rules, HotDocs document automation, and contractor voucher logic do not transfer — we export those definitions as reference CSV so your Dynamics 365 admin rebuilds them in Power Automate or Dataverse workflows. Activity logs (communication, timekeeping) map to Dynamics 365 Activities and Notes. Owner resolution runs by attorney email match against Dynamics 365 SystemUser records. A delta-pickup window of 24–48 hours captures any records created or modified during cutover, and audit logs track each operation. One-click rollback reverts the environment if reconciliation fails.
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
LegalServer platform overview
Scorecard, SWOT, gotchas, and pricing for LegalServer.
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 LegalServer 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.
LegalServer
Client / Contact
Microsoft Dynamics 365 Sales
Contact + Account
1:1LegalServer client records map directly to Dynamics 365 Contact. The client's primary organization (if any) maps to Account. LegalServer stores client name in first-name/middle-name/last-name/suffix fields; Dynamics 365 Contact follows the same field model with FirstName, MiddleName, LastName, Suffix. Conflict-check status follows the client as a custom field.
LegalServer
Matter (Case)
Microsoft Dynamics 365 Sales
Custom Matter Table
1:1LegalServer Matter has no direct Dynamics 365 native equivalent — Dynamics 365 Sales does not include a Case entity. We create a custom Matter table in the Dataverse environment with fields for MatterName, MatterStatus, MatterType, AssignedAttorney (lookup to SystemUser), ConflictCheckStatus, OpenDate, and CloseDate. This table is the core of the legal migration.
LegalServer
Grant Management
Microsoft Dynamics 365 Sales
Custom Grant Table + Custom Fields on Matter
1:1LegalServer grant records (with billing types Flat Hourly Rate or Variable Hourly Rate and balance tracking) map to a custom Grant table plus grant-balance and billing-type fields on the Matter table. Dynamics 365 has no native grant-balance deduction model — balance tracking requires custom decimal fields and periodic recalculation logic built in Power Automate post-migration.
LegalServer
Attorney / Staff User
Microsoft Dynamics 365 Sales
SystemUser
1:1LegalServer staff user records (attorneys, caseworkers) map by email match to Dynamics 365 SystemUser records. If a LegalServer attorney has no corresponding Dynamics 365 user, their assignments migrate as text fields (LastAssignedAttorney__c) on the Matter record and are flagged for admin review.
LegalServer
Contractor Module
Microsoft Dynamics 365 Sales
Custom Contractor Table
1:1LegalServer's Contractor module (outside counsel, panel attorneys) maps to a custom Contractor table in Dynamics 365 with fields for ContractorName, SubjectMatterExpertise (multi-select), LanguagesSpoken, FeeStructure, and ActiveStatus. Work orders and vouchers associated with a matter link via a custom matter-contractor junction table.
LegalServer
Timekeeping
Microsoft Dynamics 365 Sales
Custom Timekeeping Table + Activity
1:1LegalServer timekeeping entries (staff hours logged against a matter) map to a custom Timekeeping table with fields for MatterId, StaffUserId, Hours, Date, BillingType, and Rate. Hours entries also generate Dynamics 365 Activities (Task with Type='TimeEntry') for reporting visibility in the Dynamics 365 timeline.
LegalServer
Communication Log
Microsoft Dynamics 365 Sales
Activity (Email, Phone Call, Note)
1:1LegalServer communication log entries (emails, calls, letters) map to Dynamics 365 Activity entities — Email for email logs, PhoneCall for call logs, and Note (Annotation) for written correspondence. Original timestamps, direction (inbound/outbound), and associated Contact are preserved. Attachment references on communication logs link to re-uploaded files.
LegalServer
Document / File Attachment
Microsoft Dynamics 365 Sales
SharePoint / Dataverse Attachments
1:1LegalServer file attachments (PDFs, scanned documents) attached to matters or clients re-upload to Dynamics 365's connected SharePoint document management (if SharePoint integration is enabled) or as Note (Annotation) attachments in Dataverse. File size limits (default 128MB per file in Dataverse) apply; files exceeding this threshold are flagged for chunked upload.
LegalServer
Outreach
Microsoft Dynamics 365 Sales
Custom Outreach Table
1:1LegalServer outreach records (community outreach, intake events) map to a custom Outreach table with fields for OutreachType, OutreachDate, ClientId (lookup to Contact), and Outcome. This captures community engagement data that has no native Dynamics 365 equivalent, including location, participant count, and follow-up actions.
LegalServer
Custom Fields (Matter, Client, Contact, Outreach)
Microsoft Dynamics 365 Sales
Custom Fields on Respective Tables
1:1LegalServer administrators create custom fields via Admin > Custom Field Management with types including bool, lookup, lookup_custom, and text. Each custom field maps to a corresponding custom column on the appropriate Dynamics 365 table. Lookup fields require a corresponding custom table or option set in Dynamics 365 to resolve the reference.
LegalServer
Financial Information (Poverty Assessment)
Microsoft Dynamics 365 Sales
Custom Fields on Contact
1:1LegalServer financial information fields (used to calculate Percentage of Poverty) map to custom decimal and currency fields on the Contact record: PovertyPercentage__c, AnnualIncome__c, HouseholdSize__c. The original poverty-level assessment result migrates as a pick-list field (PovertyLevel__c) for grant-eligibility reporting in Dynamics 365.
LegalServer
Intake / Prescreen
Microsoft Dynamics 365 Sales
Custom Intake Table + Lead
1:1LegalServer intake and prescreen records that did not convert to full matters map to a custom Intake table for audit purposes. Intakes that resulted in opened matters link to the corresponding Matter record. If the intake was rejected or pending, a Dynamics 365 Lead record is created with intake-source attribution for follow-up tracking.
| LegalServer | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Client / Contact | Contact + Account1:1 | Fully supported | |
| Matter (Case) | Custom Matter Table1:1 | Fully supported | |
| Grant Management | Custom Grant Table + Custom Fields on Matter1:1 | Fully supported | |
| Attorney / Staff User | SystemUser1:1 | Fully supported | |
| Contractor Module | Custom Contractor Table1:1 | Fully supported | |
| Timekeeping | Custom Timekeeping Table + Activity1:1 | Fully supported | |
| Communication Log | Activity (Email, Phone Call, Note)1:1 | Fully supported | |
| Document / File Attachment | SharePoint / Dataverse Attachments1:1 | Fully supported | |
| Outreach | Custom Outreach Table1:1 | Mapping required | |
| Custom Fields (Matter, Client, Contact, Outreach) | Custom Fields on Respective Tables1:1 | Fully supported | |
| Financial Information (Poverty Assessment) | Custom Fields on Contact1:1 | Fully supported | |
| Intake / Prescreen | Custom Intake Table + Lead1: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.
LegalServer gotchas
Dynamic vs static contact record split
v2 API 100-record hard cap on all result sets
Custom fields on versioned subtables require exact path mapping
Grant billing types require pre-migration decision on deduction logic
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
Extract LegalServer data via paginated v2 API
FlitStack AI connects to your LegalServer instance using API credentials and iterates through paginated v2 API endpoints. Because each request returns a maximum of 100 records, the extraction runs in cursor loops for Matter, Client, Grant, Contractor, Timekeeping, and Outreach objects. We pull all standard fields plus every custom field registered under Admin > Custom Field Management, storing the LegalServer UUID for each record as a Source_System_ID__c field in Dynamics 365 for delta-run de-duplication.
Stand up Dynamics 365 custom table schema
Before any data loads, your Dynamics 365 admin (or our team) creates the custom tables and fields identified in the migration plan: Matter, Grant, Contractor, Voucher, Timekeeping, and Outreach. We deliver a schema specification listing each custom table, column name, data type, and pick-list option set values so your admin pre-creates the environment. For organizations targeting Sales Professional, we flag whether the 15-table cap is exceeded and recommend Enterprise licensing.
Resolve attorney and staff users by email
LegalServer staff user IDs (attorneys, caseworkers) are resolved against Dynamics 365 SystemUser records by email match. If a LegalServer user has no corresponding Dynamics 365 user account, their matter assignments are stored in a text fallback field (LastAssignedAttorneyEmail__c) and flagged for admin review. No Matter record lands without an owner assignment — either a resolved SystemUser lookup or a flagged fallback.
Run sample migration with field-level diff
A representative slice — typically 200–500 records spanning clients, matters, grants, and a few contractors — migrates first. We generate a field-level diff between the LegalServer source values and the Dynamics 365 destination values so you can verify conflict-check status mapping, grant-balance preservation, billing-type value mapping, and poverty-level fields before the full run commits. You approve the diff output before cutover proceeds.
Cut over with delta-pickup for in-flight changes
Full migration runs against Dynamics 365 using the Dataverse Web API with batch upsert operations (up to 1,000 records per batch). A delta-pickup window of 24–48 hours captures any matters, timekeeping entries, or client records created or modified in LegalServer during the cutover. Audit log records every operation. One-click rollback reverts the Dynamics 365 environment to the pre-migration snapshot if reconciliation fails. Post-migration, we deliver a GrantBalanceSnapshot__c reference file so your admin can configure Power Automate for ongoing grant-balance deduction logic.
Platform deep dives
LegalServer
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 LegalServer 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
LegalServer: Not publicly documented; v2 APIs enforce a 100-result hard cap per request regardless of page size.
Data volume sensitivity
LegalServer 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 LegalServer to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your LegalServer 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 LegalServer
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.