CRM migration
Field-level mapping, validation, and rollback between Case UI and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Case UI
Source
Twenty CRM
Destination
Compatibility
10 of 10
objects map 1:1 between Case UI and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Case UI and Twenty CRM share a relational object model at the data layer — contacts map to People, companies map to Companies, and cases map to Opportunities — but the schema conventions and import mechanisms differ significantly. Case UI exports via CSV through its data management panel; Twenty imports via CSV or REST/GraphQL API through Settings → Data Model with a 20,000-record export ceiling per file. FlitStack AI sequences the migration so Companies land first (satisfying Twenty's foreign-key requirement), then People with their companyId links, then Opportunities with their personId and companyId lookups, then any custom objects. All Case UI custom fields must be pre-created in Twenty before the import runs — we deliver a field-creation checklist as part of the migration plan. Workflows, automation rules, and permission sets are not migrated; we export them as structured reference documents for manual rebuild in Twenty's workflow builder. The migration uses scoped read access on Case UI, keeping your team operational throughout, with a 24–48h delta pickup window to capture records modified during 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 Case UI 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.
Case UI
Client
Twenty CRM
People
1:1Case UI Client records map directly to Twenty CRM People records. The name, email, phone, and address fields translate 1:1. The email field in Twenty serves as the unique identifier for import deduplication — Case UI client emails are used as the match key. Clients without an email are assigned a generated placeholder address and flagged for manual review after migration.
Case UI
Firm / Organization
Twenty CRM
Companies
1:1Case UI firms or organization affiliations stored on Client records map to Twenty CRM Companies. Company name, domain, industry, and address fields translate directly. For solo practitioners with no firm affiliation, FlitStack creates a 'Solo Practice' placeholder Company record and links the People record to it, ensuring every People record has a valid companyId.
Case UI
Case
Twenty CRM
Opportunity
1:1Case UI Case records map to Twenty CRM Opportunities — the closest structural analogue in Twenty's standard object model. Case fields like case_number, status, practice_area, court_jurisdiction, and assigned_attorney migrate as custom fields on the Opportunity. The Opportunity Stage maps to Case UI status values (e.g., 'Active', 'Pending', 'Closed'), and Amount can carry the billing total or at-risk value if present in Case UI.
Case UI
Matter
Twenty CRM
Custom Object or Opportunity
1:1Case UI Matters are often sub-entities of Cases. FlitStack maps each unique Matter to an Opportunity record with a custom matter_type field distinguishing it from top-level Cases. If Case UI uses a separate Matters object with a one-to-many relationship to Cases, we create a custom object 'Matter' in Twenty and build the Case-to-Matter relationship via a custom relation field on the Opportunity, preserving the parent-child hierarchy.
Case UI
Activity (notes, calls, tasks)
Twenty CRM
Note / Task
1:1Case UI activity logs (call notes, meeting summaries, internal notes) migrate to Twenty CRM Notes attached to the corresponding People or Opportunity record. Each Note preserves its original create date, author, and content body. Tasks from Case UI (e.g., filing deadlines, court dates) migrate as Twenty Tasks with due dates, assignees matching the assigned_attorney, and status preserved as the Task completion flag.
Case UI
Document / Attachment
Twenty CRM
Note (with file attachment)
1:1Case UI document attachments (pleadings, contracts, correspondence) are re-hosted in Twenty's storage and attached to the relevant Note or Opportunity record. FlitStack downloads each file from Case UI's document store, uploads it to Twenty's file storage, and creates a Note record linking to the file URL. File size limits follow Twenty's storage configuration for self-hosted or cloud deployments.
Case UI
Custom Field (case-level)
Twenty CRM
Custom Field on Opportunity
1:1Case UI custom fields defined at the case level — such as court_jurisdiction, presiding_judge, opposing_counsel, billing_arrangement — are mapped to custom fields on Twenty's Opportunity object. Each custom field is pre-created in Twenty Settings → Data Model before the migration run. Field types are inferred from Case UI's field definitions: text fields become Twenty text fields, pick-lists become select fields, and date fields become date fields.
Case UI
Custom Field (client-level)
Twenty CRM
Custom Field on People
1:1Case UI custom fields at the Client level — such as bar_number, practice_focus_areas, billing_rate — migrate to custom fields on Twenty's People object. Like case-level custom fields, each is pre-created in Twenty before the migration run. FlitStack generates a custom-field creation checklist from the Case UI field inventory so nothing is missed before data lands.
Case UI
User / Attorney
Twenty CRM
Workspace Member
1:1Case UI attorney and staff user accounts map to Twenty CRM Workspace Members. FlitStack resolves Case UI user records by email against Twenty workspace members, which must be invited and accept their invitation before the migration runs (per Twenty's documentation). Unmatched Case UI users are flagged as fallback-owner assignments on migrated records. Twenty does not support a roles-and-profiles model equivalent to Case UI's permission sets — those must be rebuilt manually in Twenty's permissions settings.
Case UI
Workflow / Automation Rule
Twenty CRM
Workflow (no equivalent — rebuild required)
1:1Case UI workflow rules and automation triggers (e.g., case-status-change notifications, deadline reminders, assignment rules) have no direct equivalent in Twenty CRM's workflow builder. FlitStack exports the full workflow definitions as a structured JSON document referencing Case UI's rule names, conditions, and actions. This document serves as the rebuild specification for your Twenty admin to reconstruct equivalent automations in Twenty's workflow builder after migration.
| Case UI | Twenty CRM | Compatibility | |
|---|---|---|---|
| Client | People1:1 | Fully supported | |
| Firm / Organization | Companies1:1 | Fully supported | |
| Case | Opportunity1:1 | Fully supported | |
| Matter | Custom Object or Opportunity1:1 | Fully supported | |
| Activity (notes, calls, tasks) | Note / Task1:1 | Fully supported | |
| Document / Attachment | Note (with file attachment)1:1 | Fully supported | |
| Custom Field (case-level) | Custom Field on Opportunity1:1 | Fully supported | |
| Custom Field (client-level) | Custom Field on People1:1 | Fully supported | |
| User / Attorney | Workspace Member1:1 | Fully supported | |
| Workflow / Automation Rule | Workflow (no equivalent — rebuild required)1: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.
Case UI gotchas
No public API documentation found
On-Premise perpetual license has upgrade isolation risk
No verified public reviews or G2/Capterra feedback
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 Case UI data inventory and generate the Twenty field-creation checklist
FlitStack pulls a full export of every Case UI object — Clients, Companies, Cases, Matters, Notes, Tasks, and any custom objects — and inventories all fields including custom properties. We compare this against Twenty CRM's standard field set and generate a field-creation checklist that lists every custom field to pre-create in Settings → Data Model, with field name, object target, type, and pick-list values. Your Twenty admin creates these fields before the migration run. This step typically takes 2–4 hours of admin time depending on the number of custom fields.
Invite all expected users to Twenty and verify workspace member acceptance
All Case UI users who appear as assigned_attorney, task assignees, or note authors must have a corresponding Twenty Workspace Member before the migration runs. FlitStack cross-references Case UI user emails against your provided Twenty member list and flags any users who have not yet accepted their invitation. Unmatched or uninvited users are assigned to a fallback workspace member (e.g., admin) during migration, with the original assigned user noted in a custom field for post-migration reassignment. This step prevents orphaned owner references in migrated Opportunities and Tasks.
Run a test migration with a representative sample and generate a field-level diff
A sample of 100–500 records spanning Clients, Companies, Cases, and Notes migrates into Twenty first. FlitStack generates a field-level diff comparing source values against destination fields for every mapped record. This diff validates the field-creation checklist (no missing fields cause import errors), verifies the case-status to Opportunity stage value mapping, confirms attorney email resolution, and surfaces any data quality issues (duplicate emails, missing required fields) before the full run commits. You review the diff and approve or request corrections before the full migration proceeds.
Execute the full migration in import-order sequence with delta-pickup window
The full migration runs in Four phases: (1) Companies imported with unique domain/name identifiers; (2) People imported with companyId lookups resolved from Phase 1; (3) Cases and Matters imported as Opportunities with personId and companyId links resolved from Phases 1–2, custom fields populated from the pre-creation checklist; (4) Notes and Tasks imported and attached to their parent People and Opportunity records. A delta-pickup window of 24–48 hours follows the initial migration run, re-querying Case UI for any records modified or created during the cutover and applying those changes to Twenty. Audit log captures every operation; one-click rollback is available if reconciliation identifies missing or mis-mapped records.
Deliver the workflow rebuild reference document and post-migration reconciliation report
FlitStack delivers a structured JSON export of every Case UI workflow rule and automation definition, cross-referenced with Twenty's workflow builder documentation. Your Twenty admin uses this document to rebuild automations in Twenty. The post-migration reconciliation report compares record counts per object, verifies that all foreign-key links (companyId on People, personId/companyId on Opportunities) resolved correctly, and lists any records that landed with fallback owner assignments requiring manual reassignment. A final data-quality pass validates that Case UI custom fields appear correctly in Twenty's Opportunity and People detail views.
Platform deep dives
Case UI
Source
Strengths
Weaknesses
Twenty CRM
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 Case UI and Twenty CRM.
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
Case UI: Not publicly documented.
Data volume sensitivity
Case UI 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 Case UI to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Case UI 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 Case UI
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.