CRM migration
Field-level mapping, validation, and rollback between CaseManager and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
CaseManager
Source
Twenty CRM
Destination
Compatibility
11 of 11
objects map 1:1 between CaseManager and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
CaseManager organizes work around cases — individual matters with timestamps, statuses, and linked contacts and documents. Twenty CRM is an open-source platform with standard objects for People (contacts), Companies, Opportunities (deals), Notes, and Tasks. We migrate CaseManager contacts into Twenty People, company records into Twenty Companies, and CaseManager cases into Twenty Opportunities with original create dates, stage history, and assigned owners intact. Custom fields map to Twenty's custom field system via Settings → Data Model. Automations, permissions, and views are not transferable — we export CaseManager workflow definitions and rebuild guides so your team can reconstruct those in Twenty's workflow builder. The migration runs against Twenty's REST and GraphQL APIs, with webhook change-data-capture for monitoring. A delta-pickup window captures any CaseManager records modified during the cutover so your Twenty workspace reflects the final source state at go-live. We sequence the migration to respect Twenty's import order requirements: Companies first, then People with companyId links, then Opportunities with personId and companyId lookups. This prevents orphaned records and ensures foreign-key relationships resolve correctly on the first pass.
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 CaseManager 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.
CaseManager
Contact / Person
Twenty CRM
People
1:1CaseManager contacts map directly to Twenty People. Each contact's name, email, phone, and job title become Twenty People fields. CaseManager contacts without a company link create standalone People records — users should consider linking to a default company or creating the primary company record first to maintain the relationship.
CaseManager
Company / Organization
Twenty CRM
Company
1:1CaseManager company records map to Twenty Companies with industry, size, and domain preserved. Parent-child company hierarchies in CaseManager map to Twenty's parentCompany relation. When multiple CaseManager contacts share one company, they all link to the same Twenty Company record via companyId.
CaseManager
Case
Twenty CRM
Opportunity
1:1CaseManager cases map to Twenty Opportunities. The case name becomes Opportunity name; case value or amount maps to Opportunity amount; case status maps to Opportunity stage via value-mapping (Open→New, In Progress→Working, Closed Won/Lost→Won/Lost). Original create and close dates map to custom date fields to preserve history.
CaseManager
Case Status
Twenty CRM
Opportunity Stage
1:1CaseManager status pick-list values map to Twenty Opportunity stage values. Each CaseManager status (Open, Pending, Closed Won, Closed Lost) receives a corresponding Twenty stage. Stage-transition timestamps in CaseManager can be preserved as custom datetime fields on the Opportunity record for audit continuity.
CaseManager
Case Priority
Twenty CRM
Custom Field on Opportunity
1:1CaseManager priority (High, Medium, Low) has no direct Twenty equivalent. We create a custom select field called Case_Priority__c on the Opportunity object before migration. Values map value-by-value to preserve the original priority classification in the new system. The field is created in Settings → Data Model with the same picklist values that existed in CaseManager so that reporting continuity is maintained after cutover.
CaseManager
Case Custom Fields
Twenty CRM
Custom Fields on Opportunity
1:1CaseManager per-case custom fields require Twenty custom field creation in Settings → Data Model before the import runs. Field types are mapped: text → TEXT, number → NUMBER, date → DATE, select → SELECT. Multiselect maps to MULTI_SELECT. Custom fields are created first; then migration populates them from CaseManager's field values.
CaseManager
Contact Custom Fields
Twenty CRM
Custom Fields on People
1:1CaseManager contact-level custom fields (beyond name, email, phone) migrate to custom fields on Twenty People. Boolean and select types map to Twenty's SELECT field type. Date fields map to DATE. All custom fields must be pre-created in Settings → Data Model before the CSV import runs, per Twenty's field-before-import requirement.
CaseManager
Activity (Call / Email / Meeting)
Twenty CRM
Task
1:1CaseManager logged calls, emails, and meetings map to Twenty Tasks. The activity type (Call, Email, Meeting) becomes a custom select field or the Task's body content. Original timestamps, owners, and linked contacts and cases map to Task dueDate, Task assignee (via People lookup), and the task's linked Opportunity.
CaseManager
Document / Attachment
Twenty CRM
Note
1:1CaseManager file attachments associated with cases link to Twenty Notes attached to the corresponding Opportunity. Files are re-uploaded to Twenty's storage. File size limits apply — files over the platform's attachment limit are flagged for manual download reference. The Note body carries the original attachment description or a download link.
CaseManager
CaseManager User / Owner
Twenty CRM
WorkspaceMember
1:1CaseManager users are resolved by email against Twenty WorkspaceMembers. Unmatched owners are flagged before migration — the team either invites the user to Twenty first or reassigns their records to a fallback assignee. No record lands in Twenty without a valid owner lookup; orphan records are held for manual assignment.
CaseManager
Workflow / Automation
Twenty CRM
Workflow (manual rebuild)
1:1CaseManager workflows and automations do not migrate. They must be rebuilt in Twenty's workflow builder using the exported CaseManager workflow definitions as a reference guide. We provide a workflow-export JSON and a rebuild checklist that maps each CaseManager trigger and action to its Twenty workflow equivalent so your admin can reconstruct automations without trial and error.
| CaseManager | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact / Person | People1:1 | Fully supported | |
| Company / Organization | Company1:1 | Fully supported | |
| Case | Opportunity1:1 | Fully supported | |
| Case Status | Opportunity Stage1:1 | Fully supported | |
| Case Priority | Custom Field on Opportunity1:1 | Fully supported | |
| Case Custom Fields | Custom Fields on Opportunity1:1 | Fully supported | |
| Contact Custom Fields | Custom Fields on People1:1 | Fully supported | |
| Activity (Call / Email / Meeting) | Task1:1 | Fully supported | |
| Document / Attachment | Note1:1 | Fully supported | |
| CaseManager User / Owner | WorkspaceMember1:1 | Fully supported | |
| Workflow / Automation | Workflow (manual rebuild)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.
CaseManager gotchas
No documented public API for bulk data extraction
Progress-tracking timestamps fail to persist in some records
Custom fields vary by firm configuration with no schema registry
Attachments and document blobs are not included in CSV exports
Pricing is opaque and not available on the vendor website
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 CaseManager data model and export structure
We read CaseManager's current data model — standard objects, custom fields, and relationship definitions — and produce an export plan. This step identifies which CaseManager modules have data (Contacts, Companies, Cases, Activities), counts records per module, flags per-case custom fields, and maps CaseManager status and priority pick-list values. The output is a migration scope document with export sequencing for each object type so nothing is missed before we begin mapping.
Create Twenty custom fields and configure data model
Before any data moves, we create the custom fields required in Twenty based on CaseManager's custom property definitions. This includes Case_Priority__c on Opportunities, Original_Create_Date__c on both People and Opportunities, Source_System_ID__c on all objects, and any CaseManager custom fields that have no direct Twenty equivalent. All custom fields are created in Settings → Data Model before the import file is prepared — a requirement Twenty enforces strictly.
Invite Twenty workspace members and resolve owners by email
We invite the CaseManager user list to Twenty before migration so WorkspaceMembers exist at import time. CaseManager owners are matched to Twenty users by email. Any owner without a corresponding Twenty account is flagged; the team either invites them first or designates a fallback assignee. No Opportunity or Task lands without a valid Twenty assignee lookup, preventing the orphaned-record problem that breaks reporting in Twenty post-migration.
Run a test migration with field-level diff
A representative slice migrates first — typically 100–500 records spanning People, Companies, Opportunities, and Tasks. We generate a field-level diff comparing source values against the Twenty records so you can verify that custom field values, stage mappings, owner assignments, and date fields arrived correctly. This is the last checkpoint before the full run commits. We iterate the mapping based on the diff until the validation passes before proceeding.
Execute full migration with delta-pickup window
The full migration runs in the sequence Companies → People → Opportunities → Activities. A delta-pickup window (typically 24–48 hours after the main run) captures any CaseManager records created or modified during the cutover period. Audit logs capture every operation; one-click rollback is available if reconciliation identifies missing or mis-mapped records. After rollback verification, your team goes live in Twenty.
Platform deep dives
CaseManager
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 CaseManager 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
CaseManager: Not publicly documented.
Data volume sensitivity
CaseManager 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 CaseManager to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your CaseManager 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 CaseManager
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.