CRM migration

Migrate from AgileCase to Twenty CRM

Field-level mapping, validation, and rollback between AgileCase and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

AgileCase logo

AgileCase

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between AgileCase and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

AgileCase logo

AgileCase

What's pushing teams away

  • User limits of 15 on Professional and 30 on Business force growing firms to migrate when they exceed these thresholds, often mid-workflow.
  • Limited automation and report counts on Professional tier become restrictive as case volume increases, pushing teams toward platforms with fewer structural caps.
  • Enterprise pricing requires custom quotes with no public range, making budget planning difficult and prompting firms to evaluate alternatives with transparent pricing.
  • Workflow automation logic and custom reports do not transfer between platforms, creating significant rebuild effort that makes switching costly and slow.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How AgileCase objects map to Twenty CRM

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

maps to

Twenty CRM

People

1:1
Fully supported

AgileCase 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

maps to

Twenty CRM

Company

1:1
Fully supported

AgileCase 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

maps to

Twenty CRM

Opportunity

1:1
Fully supported

AgileCase 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

maps to

Twenty CRM

Workflow (manual rebuild)

1:1
Fully supported

AgileCase 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

maps to

Twenty CRM

Workflow Action / External

1:1
Fully supported

AgileCase 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

maps to

Twenty CRM

Task

1:1
Fully supported

AgileCase 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

maps to

Twenty CRM

Note

1:1
Fully supported

AgileCase 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

maps to

Twenty CRM

File (re-upload)

1:1
Fully supported

AgileCase 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)

maps to

Twenty CRM

Custom Field (on Opportunity)

1:1
Fully supported

Every 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

maps to

Twenty CRM

Workspace Member

1:1
Fully supported

AgileCase 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

maps to

Twenty CRM

Custom Note or Reference Field

1:1
Fully supported

AgileCase'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

maps to

Twenty CRM

Custom Field or Tag

1:1
Fully supported

AgileCase 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.

Gotchas + challenges

What specifically takes care here

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 logo

AgileCase gotchas

Medium

Audit trail retention is tier-dependent

High

Post-termination 30-day export window in DPA

Medium

Blob storage document extraction requires flattening

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Case-to-opportunity restructuring requires pre-built Twenty schema

    AgileCase Cases hold case-specific metadata (case type, billing rate, assigned attorney, priority, custom fields) that has no native equivalent on Twenty Opportunities. Every AgileCase custom field on Cases must be created in Twenty's Data Model (Settings > Data Model) before migration runs. If fields don't exist, the CSV import skips them silently or errors. FlitStack delivers a field-creation checklist from the AgileCase field inventory so your Twenty workspace is schema-ready before records land.

  • Workflows and email templates cannot migrate and must be rebuilt manually

    AgileCase workflows (case plans, triggers, automation rules) and email templates have no structural equivalent in Twenty's data model. Twenty's workflow builder supports basic task creation and field updates but lacks AgileCase's case-plan sequencing model. We export the complete workflow definition as a structured reference document, but the actual rebuilding is a manual step your Twenty administrator performs post-migration. Plan for 1–3 days of configuration time per complex workflow to ensure all automation logic is properly replicated in Twenty's system.

  • Import sequence matters — Companies must land before People

    Twenty's CSV import enforces referential integrity: People records require a valid companyId linking to an existing Company. AgileCase exports contacts and companies as separate CSV files. If contacts are imported before companies, the companyId lookup fails and contacts land without a company link. FlitStack sequences the migration: Companies first, then People with companyId references, then Opportunities with People and Company links, then Tasks and Notes. Verify this sequence in your test migration before the full run.

  • Owner resolution by email match requires Twenty Workspace Members to exist first

    AgileCase case and contact owners must resolve to Twenty Workspace Members by email. If a user exists in AgileCase but hasn't been invited to Twenty, their records land without an assignee. Twenty's import documentation explicitly states that user relations must exist before importing records that reference them. FlitStack flags unmatched owners before migration and can assign them to a fallback user, but the cleanest path is to invite all AgileCase users to Twenty before the migration run.

  • File attachments require manual re-upload

    AgileCase file attachments on cases or contacts are not included in standard CSV exports and cannot be retrieved via the AgileCase API in all plan tiers. Twenty has no native file attachment import — files must be re-uploaded manually or via the Twenty API. We generate a file manifest (AgileCase record ID, filename, URL if accessible) so your team can re-associate files post-migration. Budget manual re-upload time for any attachments your team needs to preserve.

Migration approach

Six steps for a successful AgileCase to Twenty CRM data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Context on both ends of the pair

AgileCase logo

AgileCase

Source

Strengths

  • Tiered storage: 50GB on Professional, unlimited on Business with fair-use policy.
  • Audit trail tracking with 180-day minimum retention on Professional tier.
  • REST API, CSV, and Excel import options for data onboarding.
  • Workflow management with task sequences, case plans, and custom scripts.
  • Client-facing portal for status sharing and secure document exchange.

Weaknesses

  • User caps (15 Professional, 30 Business) limit scalability for larger legal departments.
  • Automation and report limits on lower tiers require upgrades as usage grows.
  • No public pricing for Enterprise tier, complicating cost comparisons during vendor evaluation.
  • Workflow definitions and automation rules are not portable between platforms, requiring manual rebuild.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across AgileCase and Twenty CRM.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    AgileCase: Not publicly documented.

  • Data volume sensitivity

    A

    AgileCase exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your AgileCase to Twenty CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about AgileCase to Twenty CRM data migrations

Answers to the questions buyers ask most during AgileCase to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most AgileCase to Twenty migrations complete in 48–72 hours of clock time for under 25,000 records. Larger setups with 100k+ records, complex case-plan hierarchies, or extensive custom field counts extend to 7–10 days. The longest planning step is pre-building the Twenty Data Model (custom fields on Opportunities) from the AgileCase field inventory — this must be done before any CSV import runs.

Adjacent paths

Related migrations to explore

Ready when you are

Move from AgileCase.
Land in Twenty CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day