CRM migration
Field-level mapping, validation, and rollback between Legal Case Tracker and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Legal Case Tracker
Source
Twenty CRM
Destination
Compatibility
11 of 12
objects map 1:1 between Legal Case Tracker and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Legal Case Tracker organizes law firm data around Case and Client objects with fields for case status, court dates, opposing counsel, and billing codes. Twenty CRM uses People, Companies, and Opportunities as its core objects, plus a Custom Objects model that accepts arbitrary metadata through its Settings → Data Model API. The migration maps each Case record to a Twenty custom object named 'Case' or 'Matter', maps Client records to People, and preserves the attorney-to-case relationship using the companyId lookup on People combined with a custom relation field on the Case object. We migrate all case-level fields (status, type, court, opposing party) as custom fields on the Case object. Document references migrate as Notes or file attachments. Activity history (calendar events, tasks, billable time entries) maps to Twenty's Tasks and Notes objects. Workflows and automations — court-date reminders, status-change triggers — do not migrate; we export their definitions as a rebuild reference for your Twenty admin. The migration runs via Twenty's REST and GraphQL APIs (200 calls/min on Organization tier) using a sequenced load: Companies first, then People, then the Case custom object, then Tasks and Notes. A 24–48 hour delta-pickup window captures any records modified during the cutover window.
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 Legal Case Tracker object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Legal Case Tracker
Case / Matter
Twenty CRM
Custom Object: Case (or Matter)
1:1Legal Case Tracker's Case record maps to a Twenty custom object named 'Case'. The custom object must be pre-created in Settings → Data Model before import. All case-level fields (status, type, court, opposing party, statute of limitations) become custom fields on this object. The Case's original create date and last-modified date are preserved as custom datetime fields since Twenty's system timestamps reflect migration time.
Legal Case Tracker
Client / Contact
Twenty CRM
People
1:1Legal Case Tracker's Client record maps directly to Twenty's People object. The client's name, email, phone, address, and firm affiliation all have direct equivalents. If the Client has a firm name, that firm must be migrated as a Company record first so the People record can reference it via companyId.
Legal Case Tracker
Client Firm / Organization
Twenty CRM
Company
1:1Legal Case Tracker's client organization maps to Twenty's Company object. Firm name becomes Company.displayName. Industry, size, and address fields map to their Company equivalents. Multiple attorneys at the same firm collapse to one Company record linked by multiple People records.
Legal Case Tracker
Case-Party (Plaintiff / Defendant)
Twenty CRM
People + Custom relation on Case
1:manyPlaintiff and defendant parties in Legal Case Tracker may be existing clients (People) or external parties. We migrate them as related People records and create a custom 'Party Role' field (select: Plaintiff, Defendant, Third-Party) on the Case object to label each relationship. Multiple parties per case are handled as multiple relation links.
Legal Case Tracker
Case Status
Twenty CRM
Custom field on Case: Case_Status__c
1:1Legal Case Tracker status values (Open, Pending, Closed, Appeal) map to a custom select field on the Case object. We preserve the exact status label for each Case record. If your firm uses custom status values, we create a value-by-value mapping before migration and flag any unmapped statuses for manual review.
Legal Case Tracker
Calendar Event / Hearing Date
Twenty CRM
Task
1:1Court hearing dates, filing deadlines, and client meeting reminders in Legal Case Tracker map to Twenty Tasks. The Task.title carries the hearing description, dueDate carries the hearing date, and the Case object is linked via a custom relation field. Recurring reminders are not replicated — these must be rebuilt as Twenty workflow triggers.
Legal Case Tracker
Document / Attachment
Twenty CRM
Note / File attachment on Case
1:1Documents attached to Legal Case Tracker cases are downloaded and re-uploaded as file attachments on the corresponding Twenty Case record. File name and original upload date are preserved as metadata. Large document sets are batched to respect Twenty's file size limits and API throughput.
Legal Case Tracker
Billing / Time Entry
Twenty CRM
Custom fields on Case + Note
1:1Billable time entries and expense records tied to a Case become structured custom fields on the Case object (Total_Hours__c, Total_Fees__c, Last_Billed_Date__c) plus a Note capturing the entry narrative. Since Twenty has no native billing module, fee data is preserved as reference fields rather than live invoice records.
Legal Case Tracker
Note / Attorney Notes
Twenty CRM
Note
1:1Free-form attorney notes on a Case record migrate as Twenty Notes attached to the Case object. The note body, author, and create timestamp are preserved. Rich-text formatting is converted to Twenty's note format. Notes that reference other Cases are linked via a custom cross-reference field.
Legal Case Tracker
Custom Field (any type)
Twenty CRM
Custom field on target object
1:1Any custom fields defined on Case or Client in Legal Case Tracker — such as court district, malpractice carrier, referral source, or insurance policy number — are migrated as custom fields on the corresponding Twenty object. Field type mapping: text→TEXT, number→NUMBER, date→DATE, picklist→SELECT. Fields must be pre-created in Settings → Data Model before the import batch runs.
Legal Case Tracker
Opposing Counsel / External Party
Twenty CRM
People (linked to Case via custom relation)
1:1Opposing counsel and external parties not already in Legal Case Tracker as contacts are migrated as People records with a custom Type__c value of 'Opposing Counsel' or 'External Party'. A custom relation field on the Case object links the attorney to the matter. This requires a custom field and a custom relation to be pre-created in Twenty's data model.
Legal Case Tracker
Workflow / Automation
Twenty CRM
None
1:1Legal Case Tracker workflows (deadline alerts, status-change triggers, email notifications) have no equivalent in Twenty CRM's workflow builder. We export the workflow definitions as a structured JSON document that your Twenty admin can use as a rebuild specification. Automations must be manually recreated in Twenty's workflow builder post-migration.
| Legal Case Tracker | Twenty CRM | Compatibility | |
|---|---|---|---|
| Case / Matter | Custom Object: Case (or Matter)1:1 | Fully supported | |
| Client / Contact | People1:1 | Fully supported | |
| Client Firm / Organization | Company1:1 | Fully supported | |
| Case-Party (Plaintiff / Defendant) | People + Custom relation on Case1:many | Fully supported | |
| Case Status | Custom field on Case: Case_Status__c1:1 | Fully supported | |
| Calendar Event / Hearing Date | Task1:1 | Fully supported | |
| Document / Attachment | Note / File attachment on Case1:1 | Fully supported | |
| Billing / Time Entry | Custom fields on Case + Note1:1 | Fully supported | |
| Note / Attorney Notes | Note1:1 | Fully supported | |
| Custom Field (any type) | Custom field on target object1:1 | Fully supported | |
| Opposing Counsel / External Party | People (linked to Case via custom relation)1:1 | Fully supported | |
| Workflow / Automation | None1: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.
Legal Case Tracker gotchas
Time entries may use non-standard duration formats
No native document export endpoint exists
Role-based access flags may disrupt user assignment after migration
Calendar events without a parent-case link import as orphaned records
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Audit Legal Case Tracker data and deliver a Twenty schema plan
We export a full data inventory from Legal Case Tracker covering all Case records, Client records, Company records, Tasks, Notes, Documents, and custom field definitions. We then produce a Twenty schema plan: the exact custom object name, custom field names, field types, and relation definitions to create in Settings → Data Model. Your Twenty admin creates these before any data loads. We validate the schema is complete and correct before moving to the next step.
Resolve attorneys and clients by email match to Twenty Workspace Members
Twenty associates all records to Workspace Members via user records. We match Legal Case Tracker attorney and assigned-user email addresses against Twenty user accounts. Unmatched users are flagged with a resolution list — either invite them to Twenty first or assign their records to a fallback Workspace Member. No record lands without a resolved owner. This step also identifies any duplicate People records that may already exist in Twenty from prior imports.
Migrate Companies, then People, then Case custom object, then Tasks and Notes
Twenty requires the 'one' side of relationships to exist before the 'many' side can reference them. We sequence the migration: Companies first (so People records can link via companyId), People second (so Case records can reference the attorney via Assigned_Attorney__c), the Case custom object third (with all its custom fields and relation fields), and finally Tasks and Notes last (linked to their parent Case record). Document files are downloaded in parallel, re-uploaded to Twenty's file storage, and linked to the Case record in a separate relation step.
Run a sample migration with field-level diff before full commit
A representative slice of records — typically 100–500 covering a cross-section of Case types, People, and activity records — migrates first against your live Twenty workspace. We generate a field-level diff comparing source values against the destination record so you can verify that case status values mapped correctly, custom fields populated, attorney assignments resolved, and document links attached. You review and approve before the full run commits. This step catches field-type mismatches, missing select options, and broken relations before they affect all records.
Cut over with delta-pickup window and one-click rollback on standby
The full migration batch runs against Twenty. A 24–48 hour delta-pickup window captures any Case records, Client updates, or new Documents created in Legal Case Tracker during the cutover. Our audit log records every operation: source record ID, destination record ID, timestamp, and user. If reconciliation fails — a record count mismatch, a broken relation, or a data quality issue — one-click rollback reverts the workspace to its pre-migration state. After rollback, the issue is diagnosed and the migration re-runs.
Platform deep dives
Legal Case Tracker
Source
Strengths
Weaknesses
Twenty CRM
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 Legal Case Tracker and Twenty CRM.
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
Legal Case Tracker: Not publicly documented.
Data volume sensitivity
Legal Case Tracker 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 Legal Case Tracker to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Legal Case Tracker to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Legal Case Tracker
Other ways to arrive at Twenty CRM
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.