CRM migration

Migrate from Legl to HubSpot

Field-level mapping, validation, and rollback between Legl and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.

Legl logo

Legl

Source

HubSpot

Destination

HubSpot logo

Compatibility

100%

10 of 10

objects map 1:1 between Legl and HubSpot.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Legl is a legal-operations platform built around law-firm compliance workflows: client onboarding, AML risk assessments, sanctions screening, matter management, and internal escalation workflows. Its REST API exposes businesses, contacts, engage requests, risk assessments, payments, and organization-level settings as discrete endpoints. HubSpot models client relationships as contacts and accounts, matters as deals with pipeline stages, and compliance history as custom properties on those objects or as HubSpot custom objects (available on Sales Hub Pro and Enterprise tiers). The migration extracts records from Legl's API endpoints, maps each Legl entity to its nearest HubSpot equivalent, creates HubSpot custom properties for Legl-specific fields (risk level, assessment status, reviewer assignments), and writes records in HubSpot's bulk import format. Workflow definitions from Legl — including AML escalation triggers, onboarding state machines, and CDD review sequences — do not move; we export their JSON structure as a rebuild reference for HubSpot Workflows. Our extraction uses Legl's sandbox environment first to validate field coverage before the production export runs.

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

HubSpot logo

HubSpot

What's pulling them in

  • Lowest barrier to entry of any major CRM — the free tier with unlimited contacts lets teams validate fit before committing to a paid plan, according to G2 and Capterra reviewers.
  • Native integration between the CRM and sales engagement tools (sequences, email tracking, dialer) means no separate sync configuration, a theme across G2 Sales Hub reviews.
  • Pipeline visualization, deal tracking, and automated workflows are consistently praised as intuitive and easy to set up without developer involvement.
  • Strong onboarding for new team members — reviewers on Capterra and G2 highlight how quickly new reps become productive without formal training.
  • The HubSpot platform ecosystem (Marketing, Sales, Service, CMS hubs) allows growing companies to consolidate tools without building new integrations.

Object mapping

How Legl objects map to HubSpot

Each row shows how a Legl object lands in HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Legl

Legl Business

maps to

HubSpot

HubSpot Company

1:1
Fully supported

Legl Business maps directly to HubSpot Company. Business name becomes Company name, domain maps to website, and Legl address fields map to HubSpot address properties. Legl business IDs are stored in a custom field on the HubSpot Company for traceability and delta-run de-duplication.

Legl

Legl Contact

maps to

HubSpot

HubSpot Contact

1:1
Fully supported

Legl Contact maps to HubSpot Contact. The contact's associated Legl Business ID resolves to a HubSpot Company lookup by matching the Legl business_id to the stored Source_System_ID__c on the HubSpot Company record. Legl's legal-specific contact properties (bar_license, jurisdiction_codes) migrate as HubSpot custom properties.

Legl

Legl EngageRequest

maps to

HubSpot

HubSpot Deal

1:1
Fully supported

Legl EngageRequest represents a matter or client engagement with its own status, type, and reviewer assignment. We map EngageRequest to HubSpot Deal, using Legl's request_name as the deal name, Legl status as a custom deal property, and the reviewer_id as a HubSpot owner lookup by email match against HubSpot users.

Legl

Legl RiskAssessment

maps to

HubSpot

HubSpot Company (custom properties)

1:1
Fully supported

Legl RiskAssessment is a compliance record linked to a Legl Business. The assessment status, risk level, assessment date, and reviewer are stored as custom properties on the associated HubSpot Company. The Legl risk_assessment_id is preserved as Source_System_ID__c for audit purposes.

Legl

Legl Payment

maps to

HubSpot

HubSpot Company (custom properties)

1:1
Fully supported

Legl Payment records — payment ID, amount, currency, status, and payment date — are written as custom properties on the HubSpot Company linked to the Legl Business. Multiple payments per business are stored as comma-separated values or as a separate Payment custom object on Enterprise-tier HubSpot accounts.

Legl

Legl Workflow

maps to

HubSpot

No equivalent in HubSpot

1:1
Fully supported

Legl Workflows (internal escalations, onboarding state machines, CDD review sequences) have no direct HubSpot equivalent. We export the workflow definitions as JSON and deliver a workflow-definition export as a rebuild reference for HubSpot Workflows. The workflow logic itself is not migrated automatically.

Legl

Legl Organisation

maps to

HubSpot

HubSpot Company (firm-level properties)

1:1
Fully supported

Legl Organisation is a firm-level entity storing the law firm's name, industry, employee count, and AML policy configuration. These map as custom properties on the HubSpot Company representing the firm itself. Legl Organisation ID is stored as Source_System_ID__c on the firm-level Company record.

Legl

Legl EngageRequest reviewer assignment

maps to

HubSpot

HubSpot Deal Owner (user lookup)

1:1
Fully supported

Legl stores a reviewer_id on EngageRequest. We resolve reviewer_id to a HubSpot user by matching the reviewer's email (retrieved via a Legl User or Organisation endpoint lookup) against HubSpot users. Unmatched reviewers are flagged before migration so the team can invite them to HubSpot or assign a fallback owner.

Legl

Legl SanctionsReport

maps to

HubSpot

HubSpot Company (custom properties)

1:1
Fully supported

Legl SanctionsReport records store sanctions‑screening outcomes for a business, including the check date, overall status (cleared or flagged), and a unique report ID. These fields migrate as custom properties on the linked HubSpot Company — for example, sanctions_check_date__c, sanctions_status__c, and sanctions_report_id__c — so compliance history is visible to any HubSpot user with company access. The Legl sanctions_report_id is kept as a reference field for audits and delta sync.

Legl

Legl BankAccount

maps to

HubSpot

HubSpot Company (custom properties)

1:1
Fully supported

Legl BankAccount stores a business's payment bank account details. These migrate as custom properties on the HubSpot Company. HubSpot has no native bank account object, so Legl bank account data is stored in a dedicated set of custom fields (account_number masked, bank_name, account_type) flagged as sensitive.

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

HubSpot logo

HubSpot gotchas

High

Marketing Contacts billing model is migration-critical

High

Feature tier gating is not visible until onboarding

Medium

Mandatory onboarding fees inflate year-one cost

Medium

HubSpot CSV importer cannot migrate engagements or attachments

Medium

Custom objects require Enterprise and a pre-existing schema

Pair-specific challenges

  • Legl workflow definitions do not migrate to HubSpot Workflows

    Legl Workflows encode legal-specific automation logic — AML escalation triggers, client onboarding state machines, CDD review sequences, and internal escalations — built on Legl's own workflow engine. HubSpot Workflows are a separate automation layer with a different event model, trigger syntax, and action library. The logic encoded in Legl workflow definitions cannot be ported automatically. We export each Legl workflow as a JSON definition and deliver a rebuild-reference document that maps Legl workflow steps to equivalent HubSpot Workflow triggers and actions, but the automation rebuild must be done manually by a HubSpot admin or partner.

  • HubSpot custom objects require Pro or Enterprise tier — Starter and Basic cannot host Legl compliance data as separate objects

    HubSpot custom objects (where we would place Legl RiskAssessment, Payment, and EngageRequest as standalone objects) are only available on HubSpot Sales Hub Pro, Enterprise, and the full CRM platform tiers. Legl migrations targeting HubSpot Starter or Basic tiers require Legl compliance data to live as custom properties on the standard Contact, Company, and Deal objects instead. This reduces the schema clarity of the migrated data and may require consolidating multiple Legl record types into a smaller set of HubSpot properties. We confirm the destination HubSpot tier before building the migration plan.

  • Legl API rate limit of 3,600 requests per hour constrains extraction speed for large matter histories

    Legl's API enforces a sustained rate limit of 3,600 requests per hour with a burst ceiling of 120 requests per minute. For migrations involving thousands of Legl EngageRequests, RiskAssessments, and historical Payments, pagination through Legl's list endpoints (GET /listEngageRequests, GET /listRiskAssessments, GET /listPayments) must respect this limit. We implement request throttling with exponential backoff and use Legl's sandbox environment (api.sandbox.legl.com) to validate the full extraction payload before production runs, avoiding repeated production API calls that could exhaust the rate limit during planning.

  • HubSpot lifecycle_stage is one-directional — Legl onboarding progress cannot preserve its full state machine in HubSpot

    HubSpot's lifecycle_stage property only moves forward on a contact record; there is no native way to represent a multi-branch legal onboarding state machine (Client Intake → ID Verification → Risk Review → Matter Opened → Ongoing Monitoring) as HubSpot lifecycle stages because HubSpot lifecycle is a single linear dimension. Legl onboarding states that branch or loop cannot be accurately represented in HubSpot's flat lifecycle_stage pick-list. We map the final Legl onboarding state to a HubSpot lifecycle_stage value and preserve the full state history as a custom text property (onboarding_history__c) for audit and reference, but the branching logic must be rebuilt as HubSpot Workflows.

  • Legl sanctions and AML data contain sensitive personal information that requires HubSpot field-level security configuration

    Legl SanctionsReport and RiskAssessment records contain personally identifiable information used for AML compliance — sanctions check results, reviewer decisions, and CDD data. When this data migrates to HubSpot custom properties on Company and Contact records, HubSpot admins must configure field-level permissions to restrict visibility to appropriate roles, since HubSpot's default sharing model makes all CRM properties visible to all users with record access. We flag sensitive Legl fields in the migration plan and document the HubSpot field-level security settings required post-migration.

Migration approach

Six steps for a successful Legl to HubSpot data migration

  1. Validate Legl API coverage and extract schema in sandbox

    Before any production data moves, we connect to Legl's sandbox environment at api.sandbox.legl.com using your Legl API credentials. We enumerate all accessible endpoints — businesses, contacts, engage_requests, risk_assessments, payments, workflows, and organisation — and pull a representative record sample from each. This validates that the Legl API returns all expected fields and confirms the pagination strategy needed for large result sets under the 3,600 req/hour rate limit.

  2. Design HubSpot schema for Legl compliance data

    We create the HubSpot custom properties required for Legl data on the Contact, Company, and Deal objects, and create any HubSpot custom objects if your HubSpot tier supports them. Custom property names follow HubSpot's camelCase convention (risk_assessment_status__c, payment_amount__c, onboarding_history__c). We document each property's data type, pick-list values, and field-level visibility settings, and we confirm your HubSpot tier before committing to the custom-object vs. custom-property approach.

  3. Resolve Legl reviewer and user IDs to HubSpot owners

    Legl stores a reviewer_id on EngageRequests and an organisation_id on the Organisation record. We resolve these to HubSpot users by matching reviewer email addresses (retrieved via a Legl user lookup) against HubSpot user emails. Unresolved reviewers are flagged with a fallback owner assignment before migration so no HubSpot Deal lands without an owner. This step prevents orphaned records and ensures your HubSpot pipeline is fully assignable after cutover.

  4. Run sample migration with field-level diff

    A representative slice of Legl records — typically 100–500 across contacts, companies, engage requests, and risk assessments — migrates first. We generate a field-level diff showing each Legl source field alongside the mapped HubSpot field and its destination value. You verify that Legl risk assessment statuses, engage request types, payment amounts, and onboarding history land correctly in HubSpot before we commit to the full run.

  5. Execute full migration with delta-pickup window

    The full Legl export runs against production, respecting the API rate limit with throttling. A delta-pickup window of 24–48 hours captures any Legl records modified or created during the cutover period. All operations are logged in an audit trail, and one-click rollback is available if reconciliation against the Legl source data reveals discrepancies. We deliver the workflow-definition JSON export as a separate file for your HubSpot admin to use as a rebuild reference.

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
HubSpot logo

HubSpot

Destination

Strengths

  • Genuinely useful free CRM tier with no seat limit on contact records.
  • All-in-one sales engagement layer (sequences, email tracking, calling, dialer) embedded natively in the CRM, eliminating a separate integration.
  • Intuitive interface and fast onboarding for individual reps, per G2 and Capterra reviews.
  • Workflow automation triggers across contacts, deals, and tickets with a visual builder.
  • API coverage for all standard objects including custom objects at Enterprise tier.

Weaknesses

  • Pricing model is contact-based at the marketing layer — importing all records as marketing contacts can multiply the monthly bill by 4×.
  • Feature tier cliffs are frequent surprises: sequences, calling, advanced reporting, and quoting are all gated, often requiring plan upgrades mid-implementation.
  • Mandatory onboarding fees at Professional ($1,500) and Enterprise ($3,500) are not prominently disclosed on the pricing page.
  • API rate limits are restrictive for bulk migration — burst limits of 100-200 req/10sec and search endpoint limits of 4 req/sec require careful job queuing.
  • Custom objects, additional pipelines, and advanced forecasting are Enterprise-only, making cost projections difficult for growing teams.

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 Legl and HubSpot.

  • 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

    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 HubSpot 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 HubSpot data migrations

Answers to the questions buyers ask most during Legl to HubSpot migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Legl to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Legl-to-HubSpot migrations finish within 48–72 hours for datasets under 50,000 records. When the migration involves 500 k+ records spread across multiple Legl API endpoints, or targets HubSpot Enterprise with custom objects, the timeline typically stretches to 5–7 days. The governing constraint is Legl’s API rate limit of 3,600 requests per hour, which determines how fast the extraction can proceed; we throttle requests, run validation against Legl’s sandbox, and apply a 24‑48 hour delta‑pickup window to capture changes made during cut‑over.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Legl.
Land in HubSpot, 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