CRM migration
Field-level mapping, validation, and rollback between Virtual Case Management and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Virtual Case Management
Source
Twenty CRM
Destination
Compatibility
12 of 12
objects map 1:1 between Virtual Case Management and Twenty CRM.
Complexity
BStandard
Timeline
3–5 days
Overview
Virtual Case Management (VCM) serves nonprofits and social-service agencies with a client-centric, program-delivery data model. Its core objects — Clients, Cases, Services, Referrals, and Case Notes — are structured around service-provision workflows rather than sales cycles. Twenty CRM is an open-source B2B CRM built on People, Companies, Opportunities, Notes, and Tasks. The two platforms share a relational core but diverge sharply in how they model case state, program enrollment, and service-provision timelines. FlitStack AI migrates VCM Clients to Twenty People, VCM Cases to Twenty Opportunities or a custom Case object depending on your preference, and VCM service records to a custom Service History object. Case notes import as Twenty Notes; referrals become either Opportunity links or a custom Junction object. We use the Twenty REST and GraphQL API for all inserts, respecting the CSV-import order constraint (Companies first, then People, then Opportunities). Workflows, program-enrollment rules, and agency-level sharing settings do not migrate and must be rebuilt as Twenty Workflows. Before the full run, we run a sample migration with field-level diff against a staging workspace so you can verify the People-to-Company linkage, case-stage mapping, and referral resolution before 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 Virtual Case Management 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.
Virtual Case Management
Client
Twenty CRM
People
1:1VCM Client maps directly to Twenty People. The Client record's name, date of birth, contact fields, address, and demographics move to the corresponding Twenty People fields. Client IDs are stored as Source_System_ID__c on the People record for traceability and delta-run de-duplication.
Virtual Case Management
Case
Twenty CRM
Opportunity
1:1VCM Case maps to Twenty Opportunity. The case enrollment date becomes the Opportunity CreatedAt timestamp; case discharge date maps to a custom Close_Date__c field since Twenty Opportunities represent deal closure rather than case resolution. Case status (Active, Discharged, etc.) maps to a custom pick-list field (Case_Status__c) on the Opportunity.
Virtual Case Management
Case
Twenty CRM
Custom Object: Case__c
1:1If your VCM workflow requires per-case enrollment tracking with program codes and referral sources that don't fit the Opportunity model, we create a custom Case__c object in Twenty (Pro and Organization tiers support unlimited custom objects) and link it to the People record via a relation field. This approach preserves the full case hierarchy but requires Twenty-side schema setup before migration.
Virtual Case Management
Service Record
Twenty CRM
Custom Object: Service_History__c
1:1VCM service records (date, service type, duration, staff member, units) have no Twenty native equivalent. We create a Service_History__c custom object with fields for Service_Date, Service_Type, Duration_Minutes, Staff_Member, and Units. Each service record links to the parent People record via a relation field.
Virtual Case Management
Referral
Twenty CRM
Opportunity custom fields + Custom Object: Referral__c
1:1Referrals with simple referring-agency and referral-date data migrate as custom fields on the Opportunity (Referring_Agency__c, Referral_Date__c, Referral_Outcome__c). Complex referrals with multiple referral contacts and interaction history get a custom Referral__c junction object linked to both the People and Company records.
Virtual Case Management
Case Note
Twenty CRM
Note
1:1VCM case notes migrate as Twenty Notes attached to the relevant People record (for client-level notes) or Opportunity record (for case-level notes). Original author, created date, and note-category metadata are preserved in custom fields on the Note object. Rich-text formatting in VCM notes is flattened to plain text to ensure compatibility with Twenty's Note body field, and file attachments on case notes are re-uploaded as Twenty Files linked to the same parent record.
Virtual Case Management
Agency / Service Provider
Twenty CRM
Company
1:1VCM agencies and service providers map to Twenty Companies. Agency name becomes Company Name; agency type, service categories, and address data map to the corresponding Company fields. The agency's relationship to multiple clients (N:N in VCM) is resolved by creating one Company per agency and linking it to each relevant People record via the Company relation.
Virtual Case Management
Case Worker / Staff
Twenty CRM
WorkspaceMember
1:1VCM case workers map to Twenty Workspace Members. We match VCM staff by email address to Twenty workspace invitees. Caseload assignments (which clients a worker is assigned to) migrate as a custom People custom field (Primary_Case_Worker__c) on the People record. If a VCM staff member has no matching Twenty account, they are flagged for manual workspace invite before migration.
Virtual Case Management
Document / File
Twenty CRM
File
1:1VCM file attachments re-upload to Twenty Files linked to the parent People, Opportunity, or custom Case__c record. File category metadata (intake form, consent document, service log) migrates as custom text fields on the file. File size limits per Twenty storage configuration apply.
Virtual Case Management
Program / Service Type
Twenty CRM
Custom Field on Opportunity or Case__c
1:1VCM program codes (e.g., Emergency Shelter, Food Pantry, Case Management) are pick-list values in VCM. We map each program code to a corresponding custom pick-list value in Twenty's Service_Type__c or Program_Code__c field. Unmapped program codes are flagged for manual value creation in Settings → Data Model before migration.
Virtual Case Management
Workflow / Automation
Twenty CRM
Not migrated
1:1VCM workflows — enrollment triggers, service-reminder automations, case-update notifications — have no Twenty CRM equivalent and do not migrate. FlitStack AI exports the workflow definitions as a JSON reference document for your Twenty admin to rebuild using Twenty Workflows (available on Pro and Organization tiers).
Virtual Case Management
Report / Dashboard
Twenty CRM
Not migrated
1:1VCM reports on enrollment rates, service-delivery metrics, and client outcomes do not transfer to Twenty. The underlying data (People, Opportunities, custom Case__c, Service_History__c) migrates and becomes available for Twenty views and API-based reporting. Your team builds new reports in Twenty from the migrated data.
| Virtual Case Management | Twenty CRM | Compatibility | |
|---|---|---|---|
| Client | People1:1 | Fully supported | |
| Case | Opportunity1:1 | Fully supported | |
| Case | Custom Object: Case__c1:1 | Fully supported | |
| Service Record | Custom Object: Service_History__c1:1 | Fully supported | |
| Referral | Opportunity custom fields + Custom Object: Referral__c1:1 | Fully supported | |
| Case Note | Note1:1 | Fully supported | |
| Agency / Service Provider | Company1:1 | Fully supported | |
| Case Worker / Staff | WorkspaceMember1:1 | Fully supported | |
| Document / File | File1:1 | Fully supported | |
| Program / Service Type | Custom Field on Opportunity or Case__c1:1 | Fully supported | |
| Workflow / Automation | Not migrated1:1 | Fully supported | |
| Report / Dashboard | Not migrated1: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.
Virtual Case Management gotchas
No publicly documented bulk export API
Report definitions are not exportable
Database-entry interface creates training burden
Multi-agency security level mapping requires manual verification
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 VCM data and design Twenty schema
FlitStack AI audits your VCM export — client records, case files, service history, referrals, case notes, and documents — to produce a data volume count and schema map. We then deliver a Twenty schema setup plan specifying which custom objects and custom fields to create in Settings → Data Model (Case__c, Service_History__c, Referral__c, and any custom fields on People and Opportunity). Your admin creates these in Twenty while we prepare the migration scripts. This step typically takes 3–5 business days.
Invite and resolve all workspace members
Before data lands, all VCM case workers who will appear as assignees need Twenty workspace accounts. We extract all unique staff email addresses from VCM, match them against your existing Twenty workspace members, and flag any unmatched staff for manual invitation. No record assigns to a case worker without a corresponding Twenty WorkspaceMember — resolving this dependency upfront prevents null assignee issues during migration.
Migrate companies and agencies first, then people
Twenty's CSV import documentation explicitly requires uploading the 'one' side of one-to-many relationships before the 'many' side. We migrate VCM agencies and service providers to Twenty Companies first, then migrate VCM clients to Twenty People, resolving the people-to-company link using the migrated company domain or ID. This sequencing ensures that when Twenty validates the companyId relation on each People record, the referenced Company already exists in the workspace.
Run a sample migration with field-level diff
A representative slice of VCM records — typically 100–500 covering clients, agencies, cases, service lines, and notes — migrates to your Twenty staging workspace before the full run. We generate a field-level diff comparing source values against the destination records so you can verify the People-to-Company linkage, case-status to Opportunity mapping, referral field resolution, and service-history relation integrity. Any mapping adjustments get made before the production run commits.
Execute full migration with delta pickup and rollback plan
The full VCM dataset migrates to your Twenty production workspace via API batch inserts with rate-limit handling. A delta-pickup window (typically 24–48 hours) captures any new records or case updates made in VCM during the cutover. FlitStack AI maintains an audit log of every operation and a one-click rollback script that re-imports from the pre-migration VCM backup if reconciliation identifies record mismatches. Once validated, your team transitions to Twenty and VCM is set to read-only or decommissioned.
Platform deep dives
Virtual Case Management
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Virtual Case Management and Twenty CRM.
Object compatibility
2 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
Virtual Case Management: Not publicly documented — confirmed during integration scoping..
Data volume sensitivity
Virtual Case Management 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 Virtual Case Management to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Virtual Case Management 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 Virtual Case Management
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.