CRM migration

Migrate from The Case File to Twenty CRM

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

The Case File logo

The Case File

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

10 of 10

objects map 1:1 between The Case File and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

The Case File and Twenty CRM share a broadly compatible CRM object model — contacts, companies, deals, activities — but they diverge in how activity logging is structured, how custom objects are configured, and how ownership is resolved. The Case File exports data through its native export function or API; Twenty ingests through CSV import or GraphQL API, with a strict import order (Companies → People → Opportunities → Custom objects) that determines whether relationship foreign keys resolve or fail. FlitStack AI extracts your The Case File data object by object, maps each field to its Twenty equivalent, creates any custom fields needed in Twenty's data model, and sequences the load so that Company foreign keys exist before People records land, and People records exist before Opportunity contact roles attach. Custom objects migrate to Twenty's custom object system (Pro tier supports up to 10; Organization tier is unlimited). Workflows, automations, and sequences do not migrate — The Case File's automation logic has no equivalent in Twenty's workflow builder and must be rebuilt. Owner resolution uses email matching against Twenty workspace members; any owner without a matching workspace member is flagged before the migration commits so your team can pre-invite them or assign a fallback owner.

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

The Case File logo

The Case File

What's pushing teams away

  • Document management limitations make handling extremely large or complex litigation document sets difficult.
  • The platform lacks depth for multi-party or high-volume matters that require advanced workflow automation.
  • Reporting and analytics are basic compared to purpose-built litigation analytics platforms.
  • Limited API documentation and third-party integration ecosystem makes automation difficult.
  • Some firms outgrow the platform as they scale and need more robust matter-level permissions controls.

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 The Case File objects map to Twenty CRM

Each row shows how a The Case File 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.

The Case File

Contact

maps to

Twenty CRM

People

1:1
Fully supported

The Case File Contact maps directly to Twenty People. All standard contact fields (name, email, phone, job title) map one-to-one. The Case File contacts with a primary company link require that company to exist in Twenty first — FlitStack sequences companies before people in the migration run so the companyId foreign key resolves correctly.

The Case File

Company

maps to

Twenty CRM

Companies

1:1
Fully supported

The Case File Company maps to Twenty Companies. FlitStack migrates company name, domain/website, industry, employee count, and annual revenue as standard fields. Parent-child company hierarchies in The Case File map to Twenty's parentCompanyId field, requiring the parent company record to land first in the migration sequence.

The Case File

Deal

maps to

Twenty CRM

Opportunities

1:1
Fully supported

The Case File Deal maps to Twenty Opportunities. Deal name, amount, close date, and stage all transfer. Stage names are preserved as pick-list values in Twenty's Opportunity stage field. Probability and forecast-category metadata from The Case File stage definitions is stored in custom fields on each Opportunity record for reporting continuity.

The Case File

Activity (Call / Email / Meeting)

maps to

Twenty CRM

Tasks

1:1
Fully supported

The Case File call and email engagement records map to Twenty Tasks. Each task receives a Type field set to 'Call' or 'Email', with the original engagement subject stored in the task title. Meeting records from The Case File map to Twenty Tasks with Type='Meeting' and the original start/end timestamps preserved in task custom fields since Twenty Tasks do not natively store meeting time windows.

The Case File

Note

maps to

Twenty CRM

Notes

1:1
Fully supported

The Case File note records migrate to Twenty Notes, preserving the note body content and original create timestamp. Notes are attached to the relevant People, Companies, or Opportunities record via Twenty's note relationships. FlitStack resolves the target record by matching The Case File record IDs to the migrated Twenty IDs during the delta-pickup phase.

The Case File

Owner / User

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

The Case File owner and assignee fields are resolved by matching their email address against Twenty workspace members. All intended Twenty users must accept their workspace invitation before migration runs. Unmatched owners are flagged and assigned to a designated fallback workspace member so no Opportunity or Task lands without an owner.

The Case File

Custom Object

maps to

Twenty CRM

Custom Object

1:1
Fully supported

The Case File custom objects migrate 1:1 to Twenty custom objects. FlitStack creates the corresponding custom object in Twenty (Pro: up to 10; Organization: unlimited) before importing data. Custom object associations using The Case File's N:1 or N:N relationship model map to Twenty relation fields — any N:N relationships that do not have a native Twenty equivalent are surfaced as a custom junction object in the migration plan.

The Case File

Attachment / File

maps to

Twenty CRM

Files (manual re-upload)

1:1
Fully supported

The Case File file attachments linked to contacts, companies, deals, or notes do not migrate via CSV. FlitStack generates a manifest of all attachment references with their source record ID, storage location, and file type so the files can be re-uploaded manually to Twenty or uploaded via the Twenty GraphQL API with the correct relation to the target record.

The Case File

Workflow / Automation

maps to

Twenty CRM

Workflow

1:1
Fully supported

The Case File workflows, sequences, and automation rules do not migrate to Twenty. They are fundamentally different automation paradigms. FlitStack exports your The Case File workflow definitions as a structured reference document so your Twenty admin can rebuild equivalent automations in Twenty's workflow builder or via API-based automation tools.

The Case File

Report / Dashboard

maps to

Twenty CRM

Views

1:1
Fully supported

The Case File reports and dashboards do not migrate. The underlying Opportunity, Contact, and Company data that powers those reports does migrate, so Twenty Views can be configured to replicate the key metrics. FlitStack delivers a views-recreation guide mapping your most-used report dimensions to Twenty's filter and column configuration.

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.

The Case File logo

The Case File gotchas

High

No publicly documented API for programmatic data extraction

High

Trust account ledger balances require manual verification

Medium

Custom fields lack a documented export schema

Medium

Document folder structure does not export flatly

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

  • Activity history requires record-type disaggregation

    The Case File logs calls, emails, and meetings as engagement records that attach directly to a contact or company. Twenty collapses all activity types into a single Tasks and Notes model. When migrating activity history, FlitStack disaggregates each engagement type: call records become Tasks with Type='Call', email records become Tasks with Type='Email' and the body preserved in the task body field, and meeting records become Tasks with the original start/end time stored in custom datetime fields. Meeting body content is stored as a note attachment linked to the task. This transformation preserves the original timestamp and owner of every engagement but changes how activity history appears in the Twenty UI compared to The Case File.

  • File attachments do not transfer via CSV import

    The Case File file attachments stored in its document layer have no equivalent in Twenty's CSV import mechanism. The Twenty CSV import does not ingest binary file attachments. FlitStack generates a full attachment manifest listing each file's name, source record ID, file type, and storage location. Your team can re-upload attachments manually after the migration, or FlitStack can upload files via the Twenty GraphQL API with the correct record relationship for an additional scope fee. File attachments that are critical to deal context should be identified during the audit phase so the re-upload plan is scoped before cutover.

  • 20,000-record export limit requires chunked extraction

    Twenty's CSV export is capped at 20,000 records per file. The Case File workspaces with more than 20,000 total records require FlitStack to extract in multiple passes — either by object type (Companies, then People, then Opportunities), by date range, or by record ID offset. The chunked extraction is then re-assembled in the correct dependency order before loading into Twenty. Chunking adds processing time and requires careful sequencing so that the Companies-pass completes before the People-pass, and the People-pass completes before Opportunities load so foreign keys resolve correctly.

  • Import order constraint forces staged migration sequencing

    Twenty's CSV import enforces a dependency order: Companies must be imported before People, and People must be imported before Opportunities. Custom objects import last after all standard objects are loaded. This constraint means the migration cannot be a single parallel load — it must run in sequence. FlitStack manages this sequencing automatically and uses the delta-pickup window to reconcile any records modified in The Case File during the Companies and People migration passes before Opportunities load. If your The Case File data uses non-standard import ordering from a previous migration, FlitStack re-normalizes the record sequence before loading into Twenty.

  • Workspace members must accept invitations before owner resolution

    Twenty requires workspace members to exist and accept their invitations before owner or assignee references can resolve during import. If a The Case File owner record references an email address for which no Twenty workspace member exists, FlitStack flags that owner as unresolved and assigns the record to a designated fallback workspace member. Your team must pre-invite all intended Twenty users and confirm they have accepted their invitations before the migration runs. FlitStack provides an owner-resolution report in the audit phase listing all The Case File owners, their email addresses, and whether a matching Twenty workspace member exists so you can resolve gaps before data moves.

Migration approach

Six steps for a successful The Case File to Twenty CRM data migration

  1. Audit The Case File data and build field mapping

    FlitStack extracts a representative snapshot of your The Case File data covering all object types (People, Companies, Opportunities, Tasks, Notes, and any custom objects). We document field names, data types, pick-list values, ownership structure, and the relationship model between objects. This audit identifies custom fields, duplicate-prone fields, and records with missing required fields so cleanup can happen before migration rather than after. The field mapping document produced in this step becomes the authoritative reference for every subsequent migration step.

  2. Configure Twenty workspace schema

    Before data moves, FlitStack configures the Twenty workspace to match the mapped schema. This includes creating custom fields that have no direct Twenty equivalent (such as custom datetime fields for original create dates), configuring Opportunity stage pick-lists with the mapped stage names and probability values, and creating custom objects for any The Case File custom objects that exist in your source workspace. Team members who should appear as Twenty workspace members are invited so their email addresses are available for owner resolution during the migration run.

  3. Resolve owners and assignees by email

    FlitStack matches every The Case File owner and assignee email against the Twenty workspace members list. Records owned by users without a matching Twenty workspace member are flagged with a designated fallback owner so no Opportunity or Task lands without an assigned owner. A pre-migration owner-resolution report is shared with your team so gaps can be closed — either by inviting the missing user to Twenty or by confirming the fallback assignment before the migration commits.

  4. Run sample migration with field-level diff

    A representative slice of records — typically 50–200 covering each object type and a range of custom field values — migrates first. FlitStack generates a field-level diff comparing the source The Case File values against the migrated Twenty values so you can verify that stage names mapped correctly, owner resolution worked, and custom field content transferred as expected. This sample validates the transformation logic and the import sequence before the full migration run commits.

  5. Execute full migration with delta-pickup window

    The full migration runs in the correct sequence: Companies first, then People with companyId foreign keys resolving to the migrated company records, then Opportunities with owner resolution and stage mapping, then custom objects. After the primary load completes, a delta-pickup window (typically 24–48 hours) captures any records created or modified in The Case File during the migration window. FlitStack provides a record-count reconciliation report, relationship integrity check, and owner-resolution summary so you can validate the full migration before sign-off.

Platform deep dives

Context on both ends of the pair

The Case File logo

The Case File

Source

Strengths

  • Cloud-native platform with no on-premises infrastructure requirements for the standard edition.
  • Native Full Data Backup tool and export spreadsheets provide a structured data extraction path.
  • Integrated client intake, case management, billing, and time tracking in one platform.
  • Good mobile app availability for attorneys working outside the office.
  • Dedicated Data Migration help center collection suggests some investment in migration tooling.

Weaknesses

  • Limited public API documentation makes programmatic migration and integration work harder to plan.
  • Document management is basic; large-scale litigation document sets are difficult to organize within the platform.
  • Reporting and analytics capabilities are shallow compared to specialized litigation software.
  • Third-party integrations ecosystem is smaller than enterprise-class legal CRMs.
  • Custom field definitions must be reviewed manually during migration scoping as no exportable schema is documented.
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 The Case File 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

    The Case File: Not publicly documented.

  • Data volume sensitivity

    B

    The Case File doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your The Case File 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 The Case File to Twenty CRM data migrations

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

Can't find your answer?

Walk through your The Case File to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most The Case File to Twenty migrations complete in 48–72 hours of clock time for under 50,000 total records. Complex setups with heavy custom objects, many custom fields, or more than 50,000 records extend the timeline to 5–14 days. The Twenty 20,000-record export limit and the enforced import order (Companies before People, People before Opportunities) are the longest planning steps. The delta-pickup window adds 24–48 hours at the end of the migration run.

Adjacent paths

Related migrations to explore

Ready when you are

Move from The Case File.
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