CRM migration
Field-level mapping, validation, and rollback between AgileCase and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
AgileCase
Source
Twenty CRM
Destination
Compatibility
12 of 12
objects map 1:1 between AgileCase and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
AgileCase organizes data around Cases — each case links contacts, companies, tasks, and notes into a unified workflow. Twenty CRM uses a standard CRM object model: People (contacts), Companies, Opportunities (deals), Tasks, and Notes. The migration requires translating AgileCase's case-centric structure into Twenty's relational model, where cases become Opportunities with custom fields storing case-specific metadata, and case-associated contacts become People records linked to Opportunities via the standard relationship model. AgileCase workflows, email templates, and automations cannot migrate — these are destination-side constructs that must be rebuilt in Twenty's workflow builder. FlitStack sequences the migration by exporting AgileCase contacts and companies first, then cases with their custom field values, then activities and notes. We preserve the original create-date and last-modified timestamps as custom fields in Twenty since Twenty's native CreatedDate reflects migration time. Owner resolution matches AgileCase user emails to Twenty Workspace Members by email before records land without an assignee. A delta-pickup window captures any AgileCase changes 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 AgileCase 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.
AgileCase
Contact
Twenty CRM
People
1:1AgileCase Contacts map directly to Twenty People. Each People record stores name, email, phone, job title, and company link. Primary company link resolves via companyId reference to the migrated Companies record. Non-primary company associations are stored as custom fields or Notes for reference.
AgileCase
Company
Twenty CRM
Company
1:1AgileCase Companies map to Twenty Companies with domain, industry, size, and location fields preserved. Parent-company hierarchies in AgileCase translate to the Companies relation model in Twenty. Multi-contact companies land with one primary contact assigned via the People.companyId field. Address information and industry classifications transfer as standard fields on the Company record.
AgileCase
Case
Twenty CRM
Opportunity
1:1AgileCase Cases become Twenty Opportunities — the core structural translation of this migration. Case-specific metadata (case number, case type, priority, status, assigned attorney, billing rate) migrates as custom fields on the Opportunity. The case description migrates to the Opportunity name or a custom long-text field. Case stages map to Opportunity stage values.
AgileCase
Case Plan / Workflow
Twenty CRM
Workflow (manual rebuild)
1:1AgileCase case plans and automation workflows have no equivalent in Twenty's workflow model. We export the full workflow definition — triggers, conditions, action sequences, and due-date rules — as a structured JSON reference document. Your Twenty admin uses this to rebuild equivalent automations in Twenty's workflow builder or via external tools.
AgileCase
Email Template
Twenty CRM
Workflow Action / External
1:1AgileCase email templates (10 on Professional, unlimited on Business) do not migrate. We export template names, subject lines, body content, and merge-field mappings as a CSV reference. These must be rebuilt as Twenty workflow email actions or a dedicated email template tool.
AgileCase
Task
Twenty CRM
Task
1:1AgileCase Tasks link to Cases and Contacts and map directly to Twenty Tasks. Task subject, due date, assignee, status, and linked record (People or Company) are preserved. Tasks without a due date or assignee land with default values set during migration.
AgileCase
Note
Twenty CRM
Note
1:1AgileCase Notes attached to Cases or Contacts migrate as Twenty Notes. Rich-text formatting is preserved where AgileCase's export format allows. Notes are linked to the corresponding People, Company, or Opportunity record via the standard relation model, maintaining full context and association from the original source system.
AgileCase
Attachment / File
Twenty CRM
File (re-upload)
1:1AgileCase file attachments on cases or contacts do not migrate via standard export. We provide a file manifest (record ID, filename, URL if accessible) so your team can re-upload files manually to Twenty or via the Twenty API. Attachments not accessible via API require manual re-upload.
AgileCase
Custom Field (on Case)
Twenty CRM
Custom Field (on Opportunity)
1:1Every AgileCase custom field on Cases must be pre-created in Twenty as a custom field on Opportunity before migration runs. We deliver a field-creation checklist from the AgileCase field inventory so Twenty's Data Model is ready before records land. Field types (text, number, select, multi-select) map to their Twenty equivalents.
AgileCase
User / Owner
Twenty CRM
Workspace Member
1:1AgileCase users are resolved to Twenty Workspace Members by email match. Unmatched users are flagged with a fallback assignee (typically the migration admin). AgileCase user roles and permissions do not transfer — Twenty roles and permissions must be configured independently post-migration.
AgileCase
Audit Trail Entry
Twenty CRM
Custom Note or Reference Field
1:1AgileCase's 180-day audit trail (Business plan) or full audit log (Enterprise) does not migrate as a structured object. We export audit entries as a CSV and surface them as a linked Note on each record or a reference field pointing to the audit export file.
AgileCase
Tag / Label
Twenty CRM
Custom Field or Tag
1:1AgileCase tags and case labels map to Twenty custom fields with pick-list or multi-select types. We export the full tag vocabulary and create corresponding options in Twenty before migration so values land correctly on records. The tag-to-field mapping preserves all label hierarchies and categorization from AgileCase.
| AgileCase | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Case | Opportunity1:1 | Fully supported | |
| Case Plan / Workflow | Workflow (manual rebuild)1:1 | Fully supported | |
| Email Template | Workflow Action / External1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Attachment / File | File (re-upload)1:1 | Fully supported | |
| Custom Field (on Case) | Custom Field (on Opportunity)1:1 | Fully supported | |
| User / Owner | Workspace Member1:1 | Fully supported | |
| Audit Trail Entry | Custom Note or Reference Field1:1 | Fully supported | |
| Tag / Label | Custom Field or Tag1: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.
AgileCase gotchas
Audit trail retention is tier-dependent
Post-termination 30-day export window in DPA
Blob storage document extraction requires flattening
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 AgileCase data and build the field-creation checklist
FlitStack exports the full AgileCase data model: contacts, companies, cases with all custom fields, tasks, notes, and user list. We inventory every custom field name, type, and pick-list value on Cases. From this inventory we produce the Twenty field-creation checklist — a list of custom fields to pre-create in Settings > Data Model with the correct types (text, number, select, multi-select, relation) before any CSV is uploaded.
Invite all AgileCase users to Twenty and verify Workspace Members
Twenty requires user accounts to exist in the workspace before records referencing them can be imported via CSV or API. We extract all AgileCase user emails and confirm each has accepted their Twenty workspace invitation before migration runs. Unmatched users (inactive AgileCase accounts, contractors without email access) receive assignment to a fallback Twenty user and appear flagged in the migration report for post-migration reassignment by your administrator.
Sequence the migration: Companies → People → Opportunities → Tasks → Notes
FlitStack executes the migration in the order Twenty requires: Companies first (the one side of the relationship), then People with companyId links resolved, then Opportunities with People and Company links, then Tasks and Notes. Each object is validated for row counts and referential integrity before the next phase begins. AgileCase case metadata is transformed into custom fields on Opportunities during this phase.
Run sample migration with field-level diff and validate
A representative slice of 100–500 records migrates first — covering contacts, companies, cases, and activities. We generate a detailed field-level diff between the AgileCase source values and the Twenty destination fields so you can verify case-stage mapping accuracy, owner resolution correctness, custom field population, and date preservation before the full migration run commits. This validation phase catches mapping errors early.
Execute full migration with delta-pickup and audit log
The full migration executes against Twenty CRM. A delta-pickup window (24–48 hours) captures any records created or modified in AgileCase during the cutover period, ensuring Twenty reflects AgileCase's final state at go-live. Every migration operation is logged in FlitStack's audit log for full traceability. One-click rollback is available if data integrity issues surface during reconciliation, allowing reversion to the pre-migration state without data loss.
Platform deep dives
AgileCase
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 AgileCase 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
AgileCase: Not publicly documented.
Data volume sensitivity
AgileCase exposes a bulk API — large-volume migrations stream efficiently.
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 AgileCase to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your AgileCase 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 AgileCase
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.