CRM migration
Field-level mapping, validation, and rollback between Legl and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Legl
Source
Salesforce Sales Cloud
Destination
Compatibility
11 of 11
objects map 1:1 between Legl and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
48–72 hours
Overview
Legl is a legal operations platform built for law firms: it stores client records (Businesses), risk assessments with PDF outputs, payment histories tied to Stripe, and client due diligence (CDD) workflows for compliance. Salesforce Sales Cloud has no native equivalent for Legl's compliance-specific concepts — CDD stages, risk scores, and risk assessment PDFs have no built-in Salesforce object. The migration carries Legl's structured data into Salesforce Accounts, Contacts, and custom objects while surfacing compliance-specific fields as custom fields on those records. The harder translation problems are Legl's workflow JSON definitions (which cannot map to Salesforce Flow and must be rebuilt manually) and the file-attachment model where risk assessment PDFs need to land as Salesforce Files linked to custom Risk Assessment objects. We handle the API extraction from Legl using their sandbox and production endpoints, load data into Salesforce via the Bulk API respecting both platforms' rate limits, and run a delta-pickup window to capture any Legl records modified during the cutover.
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.
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 Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Legl
Organisation
Salesforce Sales Cloud
Account
1:1Legl's Organisation is the root entity containing firm-wide settings, AML configuration, and compliance rules. We map it to a single Salesforce Account record. The org_id field becomes Source_Org_ID__c for traceability. Settings like AML configuration that have no Salesforce standard equivalent are stored as Org_Settings__c custom long-text area on the Account.
Legl
Business
Salesforce Sales Cloud
Account + Contact
1:1Legl Business records represent client law firms or individual clients. The primary contact within each Business maps to a Salesforce Contact linked via AccountId. Additional contacts from the same Business become additional Contact records with the same AccountId. Business-level KYC status (Source_KYC_Status__c), industry, and country fields map to custom fields on the Account.
Legl
RiskAssessment
Salesforce Sales Cloud
Custom: Risk_Assessment__c + ContentDocumentLink
1:1RiskAssessment objects carry the assessment type, status, risk_level, risk_score, and a PDF output URL. We create a Risk_Assessment__c custom object in Salesforce with fields for each Legl property. The PDF URL triggers a re-upload as a Salesforce File (ContentVersion), linked to the Risk_Assessment__c record via ContentDocumentLink, preserving the original filename and create timestamp from Legl.
Legl
Payment
Salesforce Sales Cloud
Custom: Payment__c
1:1Legl Payment records contain amount, currency, status, and a Stripe checkout_url. We create a Payment__c custom object in Salesforce with Amount__c (currency), Currency__c, Payment_Status__c, Stripe_Reference__c (stored as an external ID for Stripe reconciliation), and Checkout_URL__c. Each Payment__c links to the Account representing the associated Business.
Legl
EngageRequest
Salesforce Sales Cloud
Custom: Engage_Request__c
1:1EngageRequests track client due diligence workflows: request type, status, assigned reviewer (Contact), and CDD stage. We create an Engage_Request__c custom object with custom fields for type, status, reviewer (lookup to Contact), CDD stage, and timestamps. The Legl workflow type and status pick-list values are mapped to Salesforce custom picklist value sets.
Legl
Workflow (definition JSON)
Salesforce Sales Cloud
No direct equivalent
1:1Legl stores workflow definitions as JSON documents retrieved via the Engage /workflows endpoint, specifying steps, reviewers, and branching conditions. These definitions have no native Salesforce equivalent — Salesforce Flow uses a separate declarative or Apex-based model. We export every Legl workflow definition as a JSON reference document delivered alongside the migration data so your Salesforce admin can rebuild the logic in Flow or Apex.
Legl
User / Reviewer
Salesforce Sales Cloud
Contact (for external) + User (for internal)
1:1Legl's reviewer list (Contact-type users) maps to Salesforce Contacts with a custom reviewer flag. If the reviewer is an internal Legl user who will also be a Salesforce user, we match by email to the Salesforce User record and store the link in a custom reviewer lookup on the Engage_Request__c. External-only reviewers remain as Contacts.
Legl
Ongoing Monitoring
Salesforce Sales Cloud
Custom: Monitoring__c
1:1Legl's Ongoing Monitoring configuration tracks continuous compliance checks. We map this to a Monitoring__c custom object with fields for the monitoring type, status, and next review date. The object links to the Account representing the monitored Business. The Monitoring__c object also stores the last audit date and a link to the associated compliance report, enabling a complete audit trail within Salesforce.
Legl
BusinessReport / SanctionsReport
Salesforce Sales Cloud
Custom: Compliance_Report__c
1:1Legl company and sanctions reports are stored as report objects with status and reference fields. We create a Compliance_Report__c custom object with report type, status, and Legl report ID as an external reference. If the report includes a PDF, it is re-uploaded as a Salesforce File linked to the Compliance_Report__c record.
Legl
File / Attachment
Salesforce Sales Cloud
ContentVersion + ContentDocumentLink
1:1Legl file attachments (PDFs, documents) retrieved via the API are re-uploaded to Salesforce as ContentVersion records and linked to the appropriate parent record via ContentDocumentLink. The original filename, mime type, and create date from Legl are preserved in Salesforce File metadata.
Legl
API timestamps (createdate, updatedate)
Salesforce Sales Cloud
Custom datetime fields
1:1Legl's original createdate and updatedate timestamps on every object do not map to Salesforce's CreatedDate or LastModifiedDate (both are set at migration time). We preserve all original Legl timestamps as custom datetime fields (e.g., Legl_Created_Date__c) for audit continuity and reporting accuracy.
| Legl | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Organisation | Account1:1 | Fully supported | |
| Business | Account + Contact1:1 | Fully supported | |
| RiskAssessment | Custom: Risk_Assessment__c + ContentDocumentLink1:1 | Fully supported | |
| Payment | Custom: Payment__c1:1 | Fully supported | |
| EngageRequest | Custom: Engage_Request__c1:1 | Fully supported | |
| Workflow (definition JSON) | No direct equivalent1:1 | Fully supported | |
| User / Reviewer | Contact (for external) + User (for internal)1:1 | Fully supported | |
| Ongoing Monitoring | Custom: Monitoring__c1:1 | Fully supported | |
| BusinessReport / SanctionsReport | Custom: Compliance_Report__c1:1 | Fully supported | |
| File / Attachment | ContentVersion + ContentDocumentLink1:1 | Fully supported | |
| API timestamps (createdate, updatedate) | Custom datetime fields1: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
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Extract and audit Legl API schema
We begin by connecting to your Legl account via API — targeting the sandbox environment first for all schema discovery and mapping work. We enumerate all object types (Organisation, Business, RiskAssessment, Payment, EngageRequest, OngoingMonitoring, ComplianceReport), retrieve field definitions for each, pull sample records, and document the Legl workflow JSON from the /workflows endpoint. We also confirm your Legl API token scope, verify rate limit headers in live responses, and identify any sandbox vs. production data gaps before proceeding.
Create Salesforce custom objects and fields
Before any data moves, your Salesforce admin (or our team) creates the custom objects and fields required for Legl compliance data: Risk_Assessment__c, Payment__c, Engage_Request__c, Monitoring__c, and Compliance_Report__c. Custom fields on Account (Source_KYC_Status__c, Org_Settings__c), Contact (CDD_Status__c, Onboarding_Stage__c), and all custom pick-list value sets are also created. We deliver a Salesforce schema setup plan based on the Legl object inventory so the destination org is fully configured before field-level mapping is validated.
Load core records in dependency order
Salesforce requires parent records to exist before child records can reference them via lookup fields. We sequence the migration as follows: Organisation → Account → Contact → Risk_Assessment__c (linked to Account) → Payment__c (linked to Account) → Engage_Request__c (linked to Account and Contact) → Monitoring__c and Compliance_Report__c. Files are downloaded from Legl and re-uploaded as Salesforce Files linked via ContentDocumentLink to their parent custom object records. Owner resolution is done by email matching Legl reviewer IDs to Salesforce User records.
Run sample migration with field-level diff
A representative slice migrates first — typically 50–200 records per object type spanning the most complex mappings (RiskAssessment with PDF, EngageRequest with reviewer lookup, Payment with Stripe reference). We generate a field-level diff between the Legl source and the Salesforce destination for each sampled record, surfacing any pick-list mismatches, truncated text fields, missing lookups, or file attachment failures before the full run commits. You review and approve the diff before we proceed.
Full migration with delta pickup and rollback
The full Legl dataset migrates into Salesforce. A delta-pickup window (typically 24–48 hours) captures any Legl records modified during the cutover period so Salesforce reflects Legl's final state at go-live. FlitStack AI maintains a complete audit log of every record written, every file uploaded, and every field transformed. One-click rollback is available if reconciliation reveals unexpected discrepancies. We deliver the Legl workflow JSON as a separate reference document for your Salesforce admin's Flow rebuild.
Platform deep dives
Legl
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Legl and Salesforce Sales Cloud.
Object compatibility
1 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
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 Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Legl to Salesforce Sales Cloud 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 Salesforce Sales Cloud
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.