CRM migration
Field-level mapping, validation, and rollback between LegalServer and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
LegalServer
Source
Salesforce Sales Cloud
Destination
Compatibility
8 of 10
objects map 1:1 between LegalServer and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
3–6 weeks
Overview
LegalServer organizes data around case management modules: Case Data, Contact, Organization, Timekeeping, and Grant Management. Each case carries a dense set of custom fields capturing client financial information, court details, practice area, and billing type. Salesforce Sales Cloud ships with a sales-focused CRM schema — Account, Contact, Lead, Opportunity, and Case — none of which have native fields for legal case management data. The migration therefore maps LegalServer's case records to a Salesforce Case object augmented with custom fields for every LegalServer property that has no Salesforce standard equivalent. Client contacts route to Salesforce Contacts (or Leads based on intake status), and organizations map to Accounts. Custom fields in LegalServer's Case Data subtable — including poverty percentage, billing type, grant amount, and court information — translate to Case custom fields in Salesforce using the __c suffix naming convention. Salesforce's API (Bulk API for large volumes) accepts the load. Workflows, document templates, grant billing logic, and HotDocs integrations do not migrate — those require manual rebuild using Salesforce Flow, document generation tools, and manual grant-tracking processes. FlitStack AI sequences the migration: LegalServer data extracted via its REST API (paginated at 100 results per call per v2 limits), transformed into Salesforce field formats, then loaded with a delta-pickup window during cutover. Original LegalServer IDs are preserved as Source_System_ID__c on every record for traceability and re-sync capability.
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 LegalServer 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.
LegalServer
Case Data
Salesforce Sales Cloud
Case
1:1LegalServer Case Data maps to Salesforce Case. Salesforce's Case object is the closest structural match for case-record data, but it requires custom fields for every LegalServer property. We create Case custom fields for financial data, court details, practice area, and all Case Data subtable fields. The Case object supports the standard Case Number and Subject fields, with Status and Priority pick-lists controlled by Salesforce admin.
LegalServer
Contact
Salesforce Sales Cloud
Contact
1:1LegalServer Contact records map 1:1 to Salesforce Contacts. Name, email, phone, and address fields resolve directly. Contact records linked to a Case in LegalServer are migrated as Salesforce Contacts with a lookup to the related Case record. Primary Contact assignment on a Case uses the Salesforce Case ContactRoles junction object.
LegalServer
Organization
Salesforce Sales Cloud
Account
1:1LegalServer Organization records map to Salesforce Accounts. Organization name maps to Account Name; website maps to Account Website. LegalServer organizations with multiple contacts map to one Account with all linked Contact records connected via AccountId lookups. Billing address and shipping address are separate address fields in both systems.
LegalServer
Case Data > Financial Info
Salesforce Sales Cloud
Case (custom fields)
many:1LegalServer financial fields (poverty percentage, billing type, grant amount available, grant amount used, total billable hours, total expenses, flat hourly rate, staff assigned date) are merged into custom fields on the Salesforce Case object: Poverty_Percentage__c (percent), Billing_Type__c (picklist), Grant_Amount_Available__c (currency), Grant_Amount_Used__c (currency), Flat_Hourly_Rate__c (currency), Staff_Assigned_Date__c (date). Financial data requires decimal precision preservation.
LegalServer
Case Data > Court / Case Info
Salesforce Sales Cloud
Case (custom fields)
many:1Court name, case number, judge name, opposing counsel, and litigation status from LegalServer map to custom fields on the Salesforce Case object: Court_Name__c (text, 80 char), Judge_Name__c (text), Opposing_Counsel__c (text), Litigation_Status__c (picklist). Court_Name__c is capped at 80 characters per Salesforce field limits — values exceeding this are flagged for manual truncation during validation.
LegalServer
Case Data > Practice Area / Case Type
Salesforce Sales Cloud
Case (custom picklist fields)
1:1Practice area, case type, and case status from LegalServer use pick-list values. These map to Salesforce custom pick-list fields (Practice_Area__c, Case_Type__c, LegalServer_Case_Status__c) with value-by-value mapping. Any pick-list values in LegalServer that do not have a Salesforce equivalent are added as values during the Salesforce schema setup phase before migration runs.
LegalServer
Case Data > E-Transfer / Linked Records
Salesforce Sales Cloud
Case (custom fields) + related Contacts
1:1LegalServer e-transfer records carry information about cases transferred between organizations. We map e-transfer data as custom fields on the Case (Transfer_Status__c, Referring_Organization__c, Transfer_Date__c) and resolve the referring organization to a Salesforce Account record. E-transfer history is preserved as a Salesforce Note attached to the Case record.
LegalServer
Contact > User Profile
Salesforce Sales Cloud
User
1:1LegalServer staff contacts who are system users map to Salesforce Users. Matching occurs by email address. Unmatched staff members are flagged before migration — either invited to Salesforce first or assigned to a fallback Salesforce user. LegalServer user roles do not have a Salesforce equivalent and must be re-created as Salesforce Profiles and Permission Sets.
LegalServer
Grant Management
Salesforce Sales Cloud
Custom Grant object
1:1LegalServer's grant management module (funding codes, grant balances, deduction logic by billing type) has no Salesforce standard equivalent. We create a Salesforce custom object Grants__c with fields for grant name, balance, billing type, and linked Case records. Grant deduction tracking must be re-implemented as Salesforce Flow triggers or manual processes post-migration.
LegalServer
Timekeeping
Salesforce Sales Cloud
Custom Timekeeping__c object
1:1Timekeeping entries (date, hours, billable flag, notes) do not map to any Salesforce standard object. We create a custom Timekeeping__c object with a lookup to Case and a lookup to User. Billable hours from timekeeping are also aggregated into a custom Hours_Billable__c currency field on the Case for reporting continuity.
| LegalServer | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Case Data | Case1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Organization | Account1:1 | Fully supported | |
| Case Data > Financial Info | Case (custom fields)many:1 | Fully supported | |
| Case Data > Court / Case Info | Case (custom fields)many:1 | Fully supported | |
| Case Data > Practice Area / Case Type | Case (custom picklist fields)1:1 | Fully supported | |
| Case Data > E-Transfer / Linked Records | Case (custom fields) + related Contacts1:1 | Fully supported | |
| Contact > User Profile | User1:1 | Fully supported | |
| Grant Management | Custom Grant object1:1 | Fully supported | |
| Timekeeping | Custom Timekeeping__c object1: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
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
Audit LegalServer site structure and map custom fields to Salesforce
FlitStack AI inventories every module, custom field, and linked-record type in your LegalServer site. We identify which LegalServer custom fields on the Case Data subtable, Contact module, and Organization module have Salesforce standard equivalents versus which require Salesforce custom fields (with __c suffix). We also catalog grant management configurations, billing types, and e-transfer relationships. This produces a Salesforce schema setup plan that your admin (or our team) implements before any data is loaded — creating the custom fields, pick-list values, and object relationships that the migration will target.
Extract LegalServer data via paginated REST API calls
We pull LegalServer data through its Core v2 REST API, using email-based authentication. Because v2 limits results to 100 per request, we paginate across all Case, Contact, and Organization records. E-transfer records and linked contact-case associations are extracted as separate API calls. Financial data (grant balances, billing type, poverty percentage) is pulled from the Case Data subtable alongside each case record. LegalServer create dates are captured for preservation as custom datetime fields, since Salesforce's own CreatedDate will reflect migration load time.
Run a sample migration with field-level diff
A representative slice of case records (typically 50–100) migrates first into a Salesforce sandbox. We generate a field-level diff showing each LegalServer field value alongside its Salesforce destination field value. This validates that poverty percentage lands in Poverty_Percentage__c, billing type maps to the correct pick-list value, court name truncates correctly under the 80-character limit, and Contact-to-Case links resolve via the Source_System_ID__c lookup. Your team reviews the diff and approves before the full run commits.
Execute full migration with delta-pickup and rollback plan
The full migration loads all Case, Contact, Organization, and linked records into Salesforce Production via Bulk API 2.0 or REST API depending on record volume. A delta-pickup window of 24–48 hours after the initial load captures any records created or modified in LegalServer during the cutover window. An audit log records every operation. If reconciliation fails — missing relationships, pick-list value mismatches, or data truncation — one-click rollback reverts the Salesforce load so the migration can be corrected and re-run without data corruption.
Platform deep dives
LegalServer
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 Salesforce Sales Cloud.
Object compatibility
3 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 Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your LegalServer 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 LegalServer
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.