CRM migration

Migrate from Goodlegal to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between Goodlegal and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

Goodlegal logo

Goodlegal

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

12 of 12

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Goodlegal organizes legal work around matters, documents, clients, templates, and clause libraries. Its API exposes these objects as structured records with owner assignments, matter status, billable amounts, and document URLs. Microsoft Dynamics 365 Sales standard model covers Accounts, Contacts, Leads, and Opportunities natively; anything that does not fit — like legal matter records, document metadata, template references, or clause libraries — migrates into custom Dataverse tables or existing SharePoint document libraries linked back to CRM records. We sequence the load so parent objects (Accounts, Contacts) land first, then matter records attach via lookup, then document references surface inside SharePoint folders scoped to each Dynamics 365 record. Goodlegal workflows, clause logic, and template-rendering rules do not migrate — those must be rebuilt in Dynamics 365 Power Automate flows or a companion document-automation tool. Our migration engine uses Goodlegal's REST API for extraction, applies field-level transformation against the Dataverse schema, and loads via Dataverse Bulk API with batched commits to stay within Power Platform request limits. A 24–48 hour delta window captures any matter or document records created or modified during the cutover window so the destination reflects Goodlegal's 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

Goodlegal logo

Goodlegal

What's pushing teams away

  • Early navigation issues caused friction during onboarding; while platform updates have addressed most concerns, some reviewers needed time to locate key features.
  • A few users reported problems with the document creation workflow in early sessions, suggesting inconsistency in the drafting experience across document types.
  • Small business users sometimes outgrow the platform's feature set as their legal needs become more complex, prompting migration to more robust practice management tools.
  • Some reviewers noted that template customization required additional steps or support, reducing the perceived speed advantage for non-standard contract needs.

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

Each row shows how a Goodlegal 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.

Goodlegal

Client (matters record)

maps to

Microsoft Dynamics 365 Sales

Custom Matter (Dataverse)

1:1
Fully supported

Goodlegal matter records (name, status, responsible attorney, billable amount, currency, matter type) have no direct Dynamics 365 Sales equivalent. We create a custom Matter Dataverse table with all matter fields as columns, linked to the primary Account or Contact record via a lookup relationship.

Goodlegal

Contact (client party)

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Goodlegal party contacts map directly to Dynamics 365 Contact records in a one-to-one relationship. The primary email address on each Goodlegal contact resolves to Contact.Emailaddress1 in Dynamics 365. A Matter lookup field on each Contact links back to the corresponding Goodlegal matter, preserving the association between the client party and their related legal matter throughout migration.

Goodlegal

Company (organization on matter)

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Goodlegal organization records map directly to Dynamics 365 Account records. Company name maps to Account.Name, website maps to Account.Website, and industry maps to Account.Industry. Multiple contacts belonging to the same company in Goodlegal collapse into a single AccountId lookup on each Contact record, ensuring a clean hierarchical structure in Dynamics 365.

Goodlegal

Matter Document

maps to

Microsoft Dynamics 365 Sales

SharePoint Document Location + Note

1:1
Fully supported

Goodlegal document metadata (file name, document type, matter association, URL) migrates to a SharePoint document library folder scoped to the Matter Dataverse record. The original document URL is stored as a SharePoint Document Location record linked to the Matter; actual file blobs are re-uploaded into SharePoint as part of the migration.

Goodlegal

Clause Library Entry

maps to

Microsoft Dynamics 365 Sales

Custom Clause (Dataverse)

1:1
Fully supported

Goodlegal clause-library entries (clause name, clause text, category, usage count) have no native Dynamics 365 Sales equivalent, so we create a custom Clause Dataverse table. Each clause record includes a lookup to the Matter table, enabling clauses to be associated with specific matter records after migration is complete.

Goodlegal

Document Template

maps to

Microsoft Dynamics 365 Sales

SharePoint List / Power Automate Template Reference

1:1
Fully supported

Goodlegal document templates (with field placeholders and clause insertion logic) are platform-native rendering rules. They do not export as data. We export template metadata (name, description, last-used date) as a custom Power Automate reference record, and your legal-ops team rebuilds the rendering logic in Power Automate using the exported template definitions as a specification.

Goodlegal

Matter Status

maps to

Microsoft Dynamics 365 Sales

Custom Picklist on Matter Dataverse table

1:1
Fully supported

Goodlegal matter status values (Active, Pending Review, Closed, On Hold) map to a custom Status__c picklist on the Matter custom Dataverse table. Each status value maps explicitly to the corresponding Dynamics 365 custom picklist value so reporting continuity is preserved.

Goodlegal

Billable Amount / Currency

maps to

Microsoft Dynamics 365 Sales

Custom Amount fields on Matter + Opportunity Amount

1:1
Fully supported

Goodlegal billable_amount and currency_code map to two custom fields on the Matter table: Billable_Amount__c (decimal) and Currency__c (picklist). For matters linked to a sales opportunity, the billable amount can optionally populate the Dynamics 365 Opportunity.Amount field to surface legal revenue inside the pipeline.

Goodlegal

Matter Owner / Responsible Attorney

maps to

Microsoft Dynamics 365 Sales

OwnerId on Matter (Dataverse)

1:1
Fully supported

Goodlegal attorney owner is resolved by email match to a corresponding Dynamics 365 user. Unmatched attorneys are flagged before migration so your admin can invite them to Dynamics 365 or assign their matters to a fallback owner. The OwnerId field on the Matter table carries the resolved Dynamics 365 user reference.

Goodlegal

Matter Create Date / Modified Date

maps to

Microsoft Dynamics 365 Sales

Custom audit datetime fields on Matter

1:1
Fully supported

Goodlegal's original create_date and last_modified_date are preserved as custom datetime fields on the Matter table named Matter_Create_Date__c and Matter_Modified_Date__c respectively. Dynamics 365's native CreatedOn and ModifiedOn fields are set to the migration execution timestamp, while the custom fields retain the source system timestamps to maintain full audit continuity and historical reporting accuracy.

Goodlegal

Party / Counterparty

maps to

Microsoft Dynamics 365 Sales

Contact (secondary lookup on Matter)

1:1
Fully supported

Goodlegal counterparty records on a matter — opposing counsel, co-counsel, or third-party contacts — migrate as additional Contact records linked to the Matter via a secondary N:1 relationship. This lets Dynamics 365 Contact records represent both primary clients and matter-side counterparties.

Goodlegal

Goodlegal Record ID

maps to

Microsoft Dynamics 365 Sales

Goodlegal_Source_ID__c (custom field on all records)

1:1
Fully supported

Every migrated record — including Matter, Contact, Account, and Document entities — carries its original Goodlegal internal identifier in a Goodlegal_Source_ID__c custom field. This cross-reference field enables delta-run de-duplication, supports cross-system lookups between Goodlegal and Dynamics 365, and provides complete audit traceability back to the source system for compliance and reconciliation purposes.

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.

Goodlegal logo

Goodlegal gotchas

Medium

Audit logs are not externally accessible

Medium

Limited public API documentation

Low

Document creation workflow inconsistencies by type

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

  • Document blobs require re-upload to SharePoint — URLs are not transferable

    Goodlegal stores documents as platform-hosted files or external URL references. The document blobs themselves cannot be exported as downloadable files via Goodlegal's API in all plans. We map the document metadata (name, type, matter association, URL) into SharePoint Document Location records linked to the Matter Dataverse table. If Goodlegal's URL points to a publicly accessible file, we re-upload it to the corresponding SharePoint folder. If the URL is Goodlegal-proprietary, your team will need to download documents from Goodlegal manually or via bulk export before cutover and re-upload them to the SharePoint library we create per matter. This is disclosed upfront so it does not surprise you after migration day.

  • Goodlegal workflow logic and document automation does not migrate

    Goodlegal templates with field placeholders, clause-selection rules, and matter-stage automation are platform-native rendering and workflow logic — they are not stored as data records. Dynamics 365 Sales has no equivalent document-generation engine at the CRM tier. We export template metadata (name, description, field-placeholders) as a Power Automate reference record on the Matter table. Your legal-ops team then rebuilds the rendering flow in Power Automate using the exported template definitions as a rebuild specification. This is always disclosed before migration starts.

  • Clause-library entries require a custom Dataverse table with governance planning

    Goodlegal clause libraries (named clause text with categories and usage counts) have no native Dynamics 365 Sales construct. We create a custom Clause Dataverse table with a lookup to Matter, allowing clauses to be associated with matter records. However, Dynamics 365 Sales Professional caps custom Dataverse tables at 5 by default; Sales Enterprise and Premium allow unlimited custom tables. If your team has more than 5 clause categories or plans to extend the model further, you need a Sales Enterprise or Premium license before migration. We verify your Dynamics 365 license tier during discovery.

  • Attorney owner resolution by email may leave orphaned matters

    Goodlegal attorney owner records map to Dynamics 365 users via email address match. If a Goodlegal attorney does not have a corresponding Dynamics 365 user account, their matters land in Dynamics 365 assigned to a fallback system user — or flagged as unresolved if no fallback is configured. We require your admin to pre-invite all active Goodlegal attorneys to Dynamics 365 before migration day, or to provide a fallback owner mapping. We surface this requirement in the pre-migration schema plan we deliver before any data moves.

  • Power Platform API request limits affect batch sizing

    Dynamics 365 Sales runs on Dataverse, which enforces Power Platform request limits per user per day. For migrations exceeding 200,000 records across Matters, Contacts, Accounts, and Documents, we batch writes into groups of 200 records and throttle API calls to stay within limits. Large clause-library datasets (10,000+ entries) may require an additional migration day or off-peak scheduling. We surface this in the load plan and adjust batch sizes in the test migration before the full run.

Migration approach

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

  1. Discovery call and Goodlegal API audit

    We connect to Goodlegal via API using read-only credentials and audit every exposed object: matters, contacts, accounts, documents, clause-library entries, templates, and user accounts. We capture field-level schemas, record counts per object, and any null-rate anomalies. We also identify document URL accessibility and flag whether bulk file export is available from your Goodlegal plan. This audit feeds the migration schema plan and identifies any Goodlegal objects with no Dynamics 365 equivalent before any mapping work begins.

  2. Design Dataverse custom tables and SharePoint structure

    Based on the Goodlegal API audit, we design the custom Matter Dataverse table, the custom Clause Dataverse table, and the SharePoint document-library folder hierarchy. Each matter gets its own SharePoint folder named with the matter ID and matter name. We define field mappings for every Goodlegal field, set up email-based owner resolution for attorney users, and configure the SharePoint Document Location records that link documents back to matter records. We deliver a schema plan before data extraction so your Dynamics 365 admin can verify the table design against your license tier (Sales Professional vs. Enterprise/Premium).

  3. Sample migration with field-level diff

    We run a representative slice of migration — typically 100–300 records covering a cross-section of matter types, document counts, clause-library entries, and attorney owners. The field-level diff compares source Goodlegal values against destination Dynamics 365 values for every mapped field. We surface discrepancies in attorney owner resolution, matter status value mapping, and document URL accessibility. The sample run validates that SharePoint folder creation, Dataverse custom table population, and Contact-to-Account lookups resolve in the correct order before the full run commits any records.

  4. Full migration with delta pickup window

    We run the full migration against your Dynamics 365 environment. Contacts and Accounts load first so AccountId and ContactId lookups resolve correctly on Matter records. Documents stream into SharePoint with their Document Location records linking back to each Matter. Clause-library entries populate the custom Clause Dataverse table. A delta-pickup window (24–48 hours) runs concurrently, capturing any matters, contacts, or documents created or modified in Goodlegal during the cutover. All records carry their Goodlegal_Source_ID__c for traceability, and the audit log records every operation for rollback if reconciliation fails.

  5. Reconciliation report and post-migration handoff

    We generate a reconciliation report comparing Goodlegal record counts and key field values against Dynamics 365 loaded values. Discrepancies are surfaced with row-level detail so your admin can correct them in Dynamics 365 or back in Goodlegal for a supplemental run. We deliver a clause-library rebuild guide that maps every Goodlegal template definition to a Power Automate flow specification your legal-ops team can implement post-migration. The audit log, rollback script, and delta-pickup summary are handed off in a single migration package.

Platform deep dives

Context on both ends of the pair

Goodlegal logo

Goodlegal

Source

Strengths

  • Template library covering common small-business contract types including NDAs, service agreements, and employment contracts
  • Responsive customer team that adds new templates and features based on user requests
  • Centralized document storage replacing scattered local files and email attachments
  • Minimal onboarding required to begin creating and managing legal documents
  • AI-assisted drafting reduces time spent on standard contract generation

Weaknesses

  • Navigation and document creation UX required multiple improvement cycles before stabilizing
  • Limited public API documentation restricts automated migration and integration options
  • Smaller review sample size on G2 makes it difficult to assess long-term reliability at scale
  • Platform designed primarily for small businesses; mid-market or enterprise legal departments may find feature depth insufficient
  • Audit and compliance logs are not externally exportable, limiting migration completeness for regulated industries
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. 1 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 Goodlegal and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    1 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

    Goodlegal: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Goodlegal 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 Goodlegal-to-Dynamics 365 migrations complete in 48–72 hours of clock time for under 50,000 records spanning matters, contacts, accounts, and documents. Larger setups with 200,000+ records, extensive clause-library datasets, or multi-folder SharePoint structures extend to 5–10 business days. Mapping Goodlegal clause libraries and document metadata into Dataverse custom tables is the longest planning step; the actual load runs in hours.

Adjacent paths

Related migrations to explore

Ready when you are

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