CRM migration

Migrate from BackDocket to Twenty CRM

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

BackDocket logo

BackDocket

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between BackDocket and Twenty CRM.

Complexity

BStandard

Timeline

2–4 days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Backdocket and Twenty CRM occupy different positions in the software stack. Backdocket is a legal practice management platform built around case files, intake pipelines, and claim tracking — it stores client contacts, matter records, document links, and firm-specific custom fields in a schema designed for law firms. Twenty CRM is an open-source CRM built on TypeScript, NestJS, React, and PostgreSQL with a flexible People/Companies/Opportunities data model and a Metadata API for custom objects. The migration challenge is structural: Backdocket's legal objects (cases, claims, intake records) have no native equivalent in Twenty's generic CRM model. FlitStack AI handles this by translating Backdocket's proprietary fields into Twenty custom fields and properties, running a test migration with field-level diff before committing the full run. We use Twenty's CSV import (up to 20,000 records per export) or GraphQL REST API for larger volumes. Workflows, automations, and document attachments do not migrate and must be rebuilt manually in Twenty's workflow builder or rehosted from Backdocket's file storage. Owner resolution happens by email match against Twenty workspace members, and a delta-pickup window captures in-flight 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

BackDocket logo

BackDocket

What's pushing teams away

  • BackDocket's small development team of approximately 2 employees limits the speed of feature development and responsiveness to feature requests from growing firms.
  • The platform lacks a publicly documented API, making third-party integrations and automated data exports difficult without manual intervention or custom development work.
  • Firms scaling beyond 20-30 users sometimes report outgrowing BackDocket's feature set and seeking more robust reporting or advanced workflow automation found in enterprise legal platforms.
  • Limited third-party app ecosystem compared to competitors like Clio or Practice Management add-ons means firms needing native integrations may need to replace that functionality manually.
  • Some firms report that while the dashboard is customizable, the underlying data model can be rigid for non-standard legal workflows, driving migrations to more flexible platforms.

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 BackDocket objects map to Twenty CRM

Each row shows how a BackDocket 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.

BackDocket

Contact

maps to

Twenty CRM

People

1:1
Fully supported

Backdocket contacts map 1:1 to Twenty People records. All standard contact properties such as name, email, phone, and address fields migrate as direct field mappings without transformation. Each Backdocket contact's associated case and claim records link via custom fields on the People record in Twenty, preserving the relationship between the client contact and their legal matter data. Owner assignment from Backdocket resolves against Twenty workspace members by email during the import.

BackDocket

Company / Law Firm

maps to

Twenty CRM

Companies

1:1
Fully supported

Backdocket companies map to Twenty Companies records with all standard fields transferring directly. Firm name, domain, address, and industry classification migrate without transformation. Company records must exist before People records import because Twenty enforces referential integrity via the companyId lookup on People — FlitStack sequences this automatically during the migration run. Backdocket's law-firm-specific custom properties on the company record translate to Twenty custom fields on the Companies object.

BackDocket

Case / Matter

maps to

Twenty CRM

People (custom fields)

1:1
Fully supported

Backdocket case records have no native Twenty equivalent. The case ID, case type, case status, and assigned attorney fields migrate as custom fields on the related People record. Case history and status-change timestamps are preserved as custom datetime fields for audit continuity.

BackDocket

Claim / Intake Record

maps to

Twenty CRM

People (custom fields)

1:1
Fully supported

Backdocket's claim and intake objects represent the front-end pipeline for new client matters. These translate to a set of custom fields on the People record (claim_type, intake_status, intake_date, referring_source). Intake pipeline stage values require value mapping if Backdocket uses a stage pick-list.

BackDocket

Document / File Attachment

maps to

Twenty CRM

Note or custom URL field

1:1
Fully supported

Backdocket document links and file attachments re-upload to Twenty's file storage and attach to the parent People record. Backdocket does not provide a bulk file export — FlitStack downloads files individually and re-uploads to Twenty. File size limits apply. Inline document previews do not carry over as rendered content.

BackDocket

Task / To-Do

maps to

Twenty CRM

Tasks

1:1
Fully supported

Backdocket tasks map to Twenty Tasks records. Due dates, task descriptions, assignee email (resolved to Twenty workspace member), and completion status carry over. Open vs. completed task state is preserved. Recurring task rules do not migrate and must be rebuilt in Twenty's workflow builder.

BackDocket

Calendar Event / Court Date

maps to

Twenty CRM

Note (with datetime fields)

1:1
Fully supported

Backdocket calendar events including court dates and hearing schedules migrate as Twenty Notes with custom datetime fields (event_date, event_type, location). Backdocket's calendar integration events carry original timestamps. Full calendar sync (Google Calendar, Outlook) must be reconnected in Twenty's settings post-migration.

BackDocket

Custom Object (Legal-Specific)

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Backdocket custom fields on any legal-specific object (e.g., Lien records, Insurance policy references, Court jurisdiction flags) migrate as Twenty custom fields under the relevant object. Twenty's Metadata API handles custom object creation — FlitStack generates the field definitions during the schema-setup phase before data loads.

BackDocket

Owner / User

maps to

Twenty CRM

Workspace Member

1:1
Fully supported

Backdocket user and owner IDs are resolved by email match against Twenty workspace members. FlitStack flags any Backdocket owner with no matching Twenty user before migration — your team either creates the Twenty account first or assigns records to a fallback owner. Unmatched owners do not block migration; they are flagged for manual reassignment.

BackDocket

Billing / Invoice Record

maps to

Twenty CRM

Note (reference only)

1:1
Fully supported

Backdocket's billing and invoice records have no native equivalent in Twenty CRM. FlitStack preserves invoice metadata (invoice number, amount, date, status) as custom fields on the associated People record for reference. Actual invoice files must be rehosted manually or linked via URL custom fields.

BackDocket

Note / Free-Form Entry

maps to

Twenty CRM

Note

1:1
Fully supported

Backdocket notes migrate as Twenty Notes attached to the parent People record. Original create timestamps, note authors (resolved by email), and rich-text formatting are preserved where Backdocket's export format supports it. Notes without a clear parent record attach to the default workspace.

BackDocket

Workflow / Automation

maps to

Twenty CRM

None

1:1
Fully supported

Backdocket workflow definitions, task sequences, and approval chains do not migrate. Twenty has a workflow builder for triggers, actions, and background jobs. FlitStack exports Backdocket workflow definitions as a JSON reference document for your Twenty admin to use during manual rebuild. Allocate 2–5 days for workflow recreation depending on rule complexity.

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.

BackDocket logo

BackDocket gotchas

High

No publicly documented API for data export

Medium

Pricing inconsistency across published sources

Medium

Onsite Data Warehouse data locality uncertainty

Low

Check Approvals has no direct equivalent in most destination platforms

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

  • Backdocket's legal object graph has no native Twenty equivalent — custom fields carry the load

    Backdocket's Case, Claim, and Intake objects are first-class entities in its schema. Twenty CRM has no built-in concept of a legal matter, a claim record, or an intake pipeline. FlitStack maps these to custom fields on the People record (Case_ID__c, Case_Type__c, Intake_Status__c, Claim_Type__c). This means case history timelines, status-change logs, and matter-specific attributes sit on the contact record rather than as standalone objects. If your firm relies on case-level reporting views in Backdocket, those dashboards need to be rebuilt in Twenty using the custom field filters — plan 3–5 days of configuration work post-migration.

  • Twenty's 20,000-record CSV export limit may require batching for large Backdocket datasets

    Twenty's CSV import supports up to 20,000 records per export. Backdocket datasets with more than 20,000 contacts, companies, or combined records require batched exports. FlitStack handles this by running multiple export passes at the API level, splitting records by object type and creation-date windows, then sequencing the batches into Twenty's required import order (Companies → People → Opportunities → Custom objects). If your Backdocket dataset exceeds 100,000 total records, the migration timeline extends by 2–5 days to accommodate batching and re-validation across export batches.

  • Custom fields must exist in Twenty before the CSV import runs

    Twenty's CSV import creates records but not fields — a limitation that catches teams who assume the import wizard handles schema creation. Backdocket's legal-specific custom fields (case_type, claim_status, intake_pipeline_stage, assigned_attorney, filed_date) must be pre-created in Twenty via Settings → Data Model before the migration runs. FlitStack generates a Twenty field-creation checklist during the schema-setup phase, covering object, field name, field type, and select options for every Backdocket custom property. Your Twenty admin creates these fields first; FlitStack validates field existence before loading data.

  • Backdocket workflows and automations cannot migrate to Twenty's workflow builder

    Backdocket workflow definitions for task sequences, case progression triggers, and approval chains do not export in a format compatible with Twenty's automation engine. Twenty's workflow builder uses triggers, actions, and conditions that must be manually configured in its UI or via its GraphQL API. FlitStack exports your Backdocket workflow definitions as a structured JSON reference document listing every rule, trigger condition, and action sequence. Your Twenty admin uses this as a rebuild checklist. Budget 2–5 days for workflow recreation depending on rule complexity — a single firm with 10–15 workflow rules should plan for the full week.

  • Document attachments require individual rehosting — no bulk file export from Backdocket

    Backdocket stores documents and file attachments in its own file storage infrastructure. There is no documented bulk file export endpoint. FlitStack downloads each file attachment individually by referencing the Backdocket document URLs stored in your data export, then re-uploads them to Twenty's file storage and attaches them to the parent People record. This process is record-by-record and scales with the number of attachments. Firms with thousands of documents should expect 1–3 additional days for rehosting and may want to use Twenty's batch file upload API directly for the largest document sets.

Migration approach

Six steps for a successful BackDocket to Twenty CRM data migration

  1. Audit Backdocket data and design Twenty schema

    FlitStack exports your full Backdocket dataset including contacts, companies, case records, claim objects, intake records, tasks, notes, and all custom fields. We catalog every Backdocket object, field name, field type, pick-list value, and relationship. Then we generate a Twenty field-creation checklist: for each Backdocket custom field (Case_Type__c, Claim_Type__c, Intake_Status__c, etc.), we specify the Twenty object, field name, field type, and select options. Your Twenty admin creates these fields in Settings → Data Model before we begin loading data. We also identify which Twenty workspace members exist and flag any Backdocket owner without a matching email.

  2. Resolve owners and invite workspace members

    Backdocket user and owner records are matched against Twenty workspace members by email. Any Backdocket owner without a matching Twenty account gets flagged in the pre-migration report. Your team either creates a Twenty account for that user first or designates a fallback owner. FlitStack will not migrate a record with an unresolved owner without flagging it — no orphan records land in Twenty without an assignment decision.

  3. Sequence and run the test migration

    Twenty enforces a strict import dependency: Companies before People (via companyId), People before Opportunities (via contact links). FlitStack sequences the migration so foreign keys resolve correctly. We run a representative sample migration first — typically 100–500 records spanning contacts, firms, case records, tasks, and notes. We generate a field-level diff showing source value vs. destination field, custom field mapping, owner resolution, and any records that failed validation. You review the diff before the full run commits.

  4. Execute full migration with delta-pickup

    After test-migration sign-off, FlitStack runs the full Backdocket-to-Twenty migration. We load Companies, then People with case and intake custom fields, then Tasks and Notes. Owner resolution happens live during the load. A delta-pickup window (24–48 hours) captures any Backdocket records created or modified during the cutover period after the initial export. Audit logs record every record created, updated, or flagged. One-click rollback is available if reconciliation fails.

  5. Deliver migration report and rebuild reference

    FlitStack delivers a post-migration reconciliation report: record counts by object, custom field mapping confirmation, owner resolution summary, any records that failed validation with error reason, and delta records captured during the cutover window. We also deliver the Backdocket workflow export as a JSON reference document for your Twenty admin to use during manual workflow recreation. Document rehosting is handled separately if your dataset includes more than 500 attachments.

Platform deep dives

Context on both ends of the pair

BackDocket logo

BackDocket

Source

Strengths

  • Flat-rate pricing of $59.99/user/month with all features included eliminates surprise billing when firms add users or enable capabilities.
  • Customizable dashboard allows each firm to configure its own layout for the most relevant intake, contacts, and case data.
  • 148+ capabilities across 17 feature categories provide a broad functional coverage that reduces the need for third-party tools.
  • Strong customer satisfaction ratings of 4.9/5 indicate consistent usability and reliable service for small to mid-sized law firms.
  • 22 claim type templates spanning multiple practice areas help new users adopt structured workflows immediately.

Weaknesses

  • Very small development team (approximately 2 employees) limits product development velocity and customer support responsiveness.
  • No publicly documented API means automated data extraction and third-party integrations require custom development work.
  • Limited third-party application ecosystem compared to larger competitors like Clio or PracticePanther.
  • Small company footprint (37 LinkedIn followers, founded 2019) may raise long-term viability concerns for firms making decade-long software commitments.
  • Firms with non-standard legal workflows may find BackDocket's data model too rigid for their specific practice needs.
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 BackDocket 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

    BackDocket: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your BackDocket 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 BackDocket to Twenty CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Backdocket-to-Twenty migrations complete in 2–4 days of clock time for datasets under 10,000 records. Larger setups with 50,000+ records, heavy case-and-claim object counts, or multiple custom field sets extend to 2–3 weeks. The longest single step is schema setup — creating Twenty custom fields for case_type, intake_status, claim_type, and other Backdocket legal objects before the import runs. Twenty's 20,000-record per-export limit can add 1–2 days for datasets exceeding that threshold.

Adjacent paths

Related migrations to explore

Ready when you are

Move from BackDocket.
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