CRM migration
Field-level mapping, validation, and rollback between BackDocket and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
BackDocket
Source
Twenty CRM
Destination
Compatibility
12 of 12
objects map 1:1 between BackDocket and Twenty CRM.
Complexity
BStandard
Timeline
2–4 days
Overview
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.
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 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
Twenty CRM
People
1:1Backdocket 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
Twenty CRM
Companies
1:1Backdocket 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
Twenty CRM
People (custom fields)
1:1Backdocket 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
Twenty CRM
People (custom fields)
1:1Backdocket'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
Twenty CRM
Note or custom URL field
1:1Backdocket 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
Twenty CRM
Tasks
1:1Backdocket 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
Twenty CRM
Note (with datetime fields)
1:1Backdocket 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)
Twenty CRM
Custom Object
1:1Backdocket 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
Twenty CRM
Workspace Member
1:1Backdocket 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
Twenty CRM
Note (reference only)
1:1Backdocket'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
Twenty CRM
Note
1:1Backdocket 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
Twenty CRM
None
1:1Backdocket 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.
| BackDocket | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Company / Law Firm | Companies1:1 | Fully supported | |
| Case / Matter | People (custom fields)1:1 | Fully supported | |
| Claim / Intake Record | People (custom fields)1:1 | Fully supported | |
| Document / File Attachment | Note or custom URL field1:1 | Fully supported | |
| Task / To-Do | Tasks1:1 | Fully supported | |
| Calendar Event / Court Date | Note (with datetime fields)1:1 | Fully supported | |
| Custom Object (Legal-Specific) | Custom Object1:1 | Fully supported | |
| Owner / User | Workspace Member1:1 | Fully supported | |
| Billing / Invoice Record | Note (reference only)1:1 | Fully supported | |
| Note / Free-Form Entry | Note1:1 | Fully supported | |
| Workflow / Automation | None1: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.
BackDocket gotchas
No publicly documented API for data export
Pricing inconsistency across published sources
Onsite Data Warehouse data locality uncertainty
Check Approvals has no direct equivalent in most destination platforms
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 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.
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.
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.
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.
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
BackDocket
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 BackDocket 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
BackDocket: Not publicly documented.
Data volume sensitivity
BackDocket 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 BackDocket to Twenty CRM migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave BackDocket
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.