CRM migration
Field-level mapping, validation, and rollback between Clarra and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Clarra
Source
Twenty CRM
Destination
Compatibility
10 of 10
objects map 1:1 between Clarra and Twenty CRM.
Complexity
BStandard
Timeline
2–5 days
Overview
Clarra is a cloud-based contract and client management SaaS built for law firms, production companies, and enterprise legal teams. Its data model centers on Clients, Matters, Contracts, Calendar Events, and Documents, with custom objects for industry-specific configurations. Clarra's API access is tiered by plan — lower tiers restrict export scope — and the platform does not expose workflow definitions via API. Twenty CRM is an open-source CRM (AGPL-3.0) with standard objects: People, Companies, Opportunities, Notes, Tasks, and Calendar Events. It supports unlimited custom objects on all tiers and exposes a GraphQL API with per-plan rate limits (100/minute on Pro, 200/minute on Organization). Twenty imports data via CSV upload or GraphQL mutations, with a 20,000-record export limit per CSV. We connect to Clarra's REST API (or CSV export where API access is restricted by plan tier), extract all standard and custom objects including their relationships and timestamps, then generate a mapping document that routes Clarra Clients → Twenty People, Matters → Twenty Companies, Contracts → Twenty Opportunities, Calendar Events → Twenty Tasks, and preserves Clarra custom objects as Twenty custom objects. Workflow automations, document templates, and sharing rules are documented for manual rebuild in Twenty's workflow engine and Settings → Data Model. The migration runs via CSV import (for volumes under 20,000 records per object) or GraphQL bulk mutation for larger datasets, followed by a delta-pickup window and field-level diff.
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 Clarra 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.
Clarra
Client
Twenty CRM
People
1:1Clarra Clients map directly to Twenty People in a 1:1 relationship. Primary email, phone, address, and name fields transfer without transformation. When a Clarra Client has multiple associated contacts, each contact becomes a separate Twenty People record, and all are linked to the same Company record via companyId to preserve the original relationship structure.
Clarra
Matter
Twenty CRM
Company
1:1Clarra Matters function as the case or project container in the system, and they map directly to Twenty Companies. Standard fields including industry, employee count, address, and annual revenue transfer as native Company fields. When Clarra Matters have parent-child hierarchies, those relationships convert via Twenty's Company relation field, preserving the organizational structure across the migration.
Clarra
Contract
Twenty CRM
Opportunity
1:1Clarra Contracts are transformed into Twenty Opportunities. The Contract amount field maps directly to Opportunity.amount, while contract status values (Draft, Active, Under Review, Expired) are mapped via explicit value mapping to Twenty Opportunity stage values. Contract end date becomes the closeDate in Twenty, with a custom status field preserving the original Clarra status for reference after migration.
Clarra
Calendar Event
Twenty CRM
Task
1:1Clarra Calendar Events are evaluated for their time characteristics. Events specified with a due date but lacking explicit start/end times convert to Twenty Tasks with Type set to Reminder. Events containing both start and end times map to Twenty CalendarEvent records. Throughout this process, all original creation timestamps and assignee relationships are captured as custom datetime fields to maintain complete historical context within Twenty.
Clarra
Document / File
Twenty CRM
File Attachment (on People/Company/Opportunity)
1:1Documents and files attached to Clarra Matters and Contracts are downloaded from Clarra and re-uploaded to Twenty as native file attachments on the appropriate record type. People, Company, and Opportunity records each accept file attachments. Since Twenty lacks native version history, Clarra version information is preserved as a custom text field labeled DocumentHistory__c, storing version metadata including version number, uploader, and date in JSON format for audit purposes.
Clarra
Custom Object (e.g., Rights, Licensing, IP, Royalty)
Twenty CRM
Custom Object
1:1Clarra custom objects map 1:1 to Twenty custom objects. The Twenty custom object must be created in Settings → Data Model before migration. Any N:1 relationships to standard objects require a 'relation' field pointing to the existing Company or People record.
Clarra
Workflow Automation
Twenty CRM
Workflow (manual rebuild required)
1:1Clarra workflow rules—including deadline alerts, assignment routing, email triggers, and milestone notifications—reside as platform configuration and are not exposed through Clarra's public API, making automated export impossible. To address this, FlitStack documents every active workflow in detail, capturing its trigger conditions, action steps, and filter logic. Your Twenty administrator then uses this documentation to manually rebuild equivalent automations using Twenty's Settings → Workflows interface.
Clarra
User / Team Member
Twenty CRM
WorkspaceMember
1:1Clarra user accounts are matched to Twenty WorkspaceMembers using email address as the primary key. During the matching process, any Clarra users without a corresponding email in Twenty are flagged in a User Resolution Report for manual handling. Team-level access controls, role hierarchies, and permission structures defined in Clarra cannot be mapped automatically and must be reconfigured manually through Twenty's Settings → Members interface after migration completes.
Clarra
Tag / Label
Twenty CRM
Tag (multi-select on People/Company/Opportunity)
1:1Clarra tags and labels transfer directly to Twenty's built-in tag field, which is available on People, Company, and Opportunity record types. Since Clarra tags are free-form text entries with no enforced vocabulary or predefined list, they transfer verbatim without any transformation or deduplication. Your team should review the consolidated tag list after migration to identify duplicates or inconsistencies that may have accumulated in Clarra over time.
Clarra
Billing / Rate Information
Twenty CRM
Custom Fields on Opportunity
1:1Clarra's billing rates, billing codes, cost-center assignments, and other financial metadata attached to Contracts lack native equivalents in Twenty's Opportunity object. These fields are migrated as custom fields on the Opportunity record, with names like BillingRate__c and CostCenter__c created in Twenty's Settings → Data Model. For Contracts containing multi-currency amounts, the original currency code is preserved in a companion custom select field (ContractCurrency__c) alongside the numeric amount value.
| Clarra | Twenty CRM | Compatibility | |
|---|---|---|---|
| Client | People1:1 | Fully supported | |
| Matter | Company1:1 | Fully supported | |
| Contract | Opportunity1:1 | Fully supported | |
| Calendar Event | Task1:1 | Fully supported | |
| Document / File | File Attachment (on People/Company/Opportunity)1:1 | Fully supported | |
| Custom Object (e.g., Rights, Licensing, IP, Royalty) | Custom Object1:1 | Fully supported | |
| Workflow Automation | Workflow (manual rebuild required)1:1 | Fully supported | |
| User / Team Member | WorkspaceMember1:1 | Fully supported | |
| Tag / Label | Tag (multi-select on People/Company/Opportunity)1:1 | Fully supported | |
| Billing / Rate Information | Custom Fields on Opportunity1: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.
Clarra gotchas
No publicly documented API rate limits
Report configurations do not migrate
Custom field schema varies by firm
Document binary storage handled separately from metadata
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
Discover Clarra API scope and export feasibility
FlitStack connects to Clarra using your API credentials (or receives CSV exports if API access is restricted by plan tier). We audit the full schema — standard objects, custom objects, relationships, and Calendar Events — and identify any API 403 errors or CSV export truncation points caused by the 20,000-record file limit. This step produces a Clarra Data Inventory document listing every object, record count, and the recommended extraction mechanism (API or CSV chunk), plus a list of active workflow rules for documentation.
Map data model and create Twenty schema
We generate a field-level mapping document that pairs every Clarra field (Client, Matter, Contract, Task, CalendarEvent, and custom objects) with its Twenty equivalent. For fields with no native Twenty counterpart — multi-currency codes, Clarra IDs, original timestamps — we create custom fields in Twenty's Settings → Data Model before any data lands. Custom objects are created in Settings → Data Model → Custom Objects with the same field structure as Clarra, including relation fields pointing to existing standard objects.
Resolve user assignments and invite team to Twenty
Clarra users are matched to Twenty WorkspaceMembers by email address. FlitStack generates a User Resolution Report listing matched users, unmatched users, and any role/permission context from Clarra that requires manual reconfiguration in Twenty Settings → Members. Your team must accept Twenty invitations and create WorkspaceMember accounts before we can map assigneeId and ownerId fields. This step runs in parallel with schema setup.
Run sample migration with field-level diff
We run a representative slice of migration — typically 100–500 records spanning Clients, Matters, Contracts, Tasks, and a sample custom object — and generate a field-level diff report. You verify that Clarra field values landed correctly in Twenty, that custom field values (currency codes, original timestamps, source IDs) are populated, and that relationship links (People → Company, Contract → People) resolved correctly. Sample migration runs until field-level diff passes your sign-off criteria.
Execute full migration with delta-pickup window
Full migration loads all records into Twenty via CSV import (Command Menu → Import records) for volumes under 20,000 per object, or via Twenty's GraphQL API for larger datasets. We sequence imports in dependency order: Companies first (the 'one' side of relationships), then People (linked via companyId), then Opportunities (linked to Companies and People), then Tasks and CalendarEvents. A 24–48 hour delta-pickup window captures any records created or modified in Clarra during the cutover period. Audit log records every operation; one-click rollback is available if reconciliation fails.
Validate record counts and deliver workflow documentation
FlitStack compares record counts between Clarra and Twenty for every object, checks a random sample of 50+ records field-by-field, and confirms that relationship links (People → Company, Contract → assignee) resolved correctly. We deliver the Workflow Documentation Package — a structured list of every active Clarra workflow with its trigger, conditions, and actions — for your Twenty admin to rebuild in Settings → Workflows. The migration is complete once validation passes and documentation is delivered.
Platform deep dives
Clarra
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 Clarra 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
Clarra: Not publicly documented.
Data volume sensitivity
Clarra 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 Clarra to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Clarra 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 Clarra
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.