CRM migration
Field-level mapping, validation, and rollback between Kordeva and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Kordeva
Source
Twenty CRM
Destination
Compatibility
10 of 10
objects map 1:1 between Kordeva and Twenty CRM.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Kordeva to Twenty CRM is a migration from a niche bundled platform to an open-source Salesforce alternative with a developer-first data model. Kordeva exposes a Custom Fields API for extended resource attributes but lacks published documentation for bulk export endpoints or activity history retrieval, which constrains what we can migrate programmatically. We handle this constraint by running a connectivity test during discovery: if the API confirms read access to contacts, companies, deals, and activities, we use structured extraction with batch chunking; if not, we fall back to CSV export which captures standard fields but may omit custom field values and historical activity records. Twenty's runtime Data Model lets us recreate Kordeva's custom field definitions as typed Twenty fields in Settings before import, preserving the extended attribute schema. We do not migrate Intelligent Workflow (Premium tier) or In-Depth Reporting; we deliver a written inventory of these for the customer's admin to rebuild in Twenty's workflow builder post-migration.
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 Kordeva 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.
Kordeva
Contact
Twenty CRM
People
1:1Kordeva Contact records map directly to Twenty People. Standard fields (name, email, phone, address) map to their Twenty equivalents. We preserve any custom contact-level attributes from Kordeva's Custom Fields API by creating matching custom fields in Twenty's Settings Data Model before import. The People record is the first migrated object because Twenty's Company-People relationship requires People to exist before the Company lookup can be resolved.
Kordeva
Company
Twenty CRM
Company
1:1Kordeva Company records map to Twenty Company. The company domain name maps to the Website field and is used as the dedupe key during import. We create all Companies before importing People so that the People-Company relationship is satisfied at import time. Custom company-level attributes from the Kordeva Custom Fields API carry through as Twenty custom fields.
Kordeva
Deal
Twenty CRM
Opportunity
1:1Kordeva Deal records map to Twenty Opportunity. The deal stage maps to Twenty's Opportunity stage values. Pipeline layout (stage-to-stage mapping) requires customer review during scoping since Kordeva's pipeline configuration is not exposed via documented API. We use the customer's stated stage order to configure the Twenty Opportunity pipeline before import.
Kordeva
Activity (Call, Email, Meeting, Task)
Twenty CRM
Task and Note
1:1Kordeva Activity records (calls, emails, meetings, tasks) log against contacts and deals. We export the full activity history and map call and meeting activities to Twenty Task records (with Task type differentiated via a custom field), and email records to Note records linked to the correct People or Opportunity. The mapping type is 1:1 but depends on API confirmation of activity retrieval since Kordeva's activity export endpoints are not publicly documented.
Kordeva
Custom Field (Contact level)
Twenty CRM
Custom Field (People object)
1:1Kordeva custom fields defined on the Contact object map to Twenty custom fields on the People object. We enumerate all custom field definitions during discovery by querying the Kordeva Custom Fields API, then pre-create matching fields in Twenty's Settings Data Model with equivalent field types (text, number, date, select, multi-select) before importing any People records.
Kordeva
Custom Field (Company level)
Twenty CRM
Custom Field (Company object)
1:1Kordeva custom fields defined on the Company object map to Twenty custom fields on the Company object. Same approach as Contact-level custom fields: enumerate via Kordeva Custom Fields API, create matching typed fields in Twenty Data Model, then import. Custom field values stored on existing Company records migrate as field data in the Company import.
Kordeva
Custom Field (Deal level)
Twenty CRM
Custom Field (Opportunity object)
1:1Kordeva custom fields defined on the Deal object map to Twenty custom fields on the Opportunity object. We apply the same enumeration and pre-creation workflow before Opportunity import. Any deal-level custom field used for pipeline-specific tracking is flagged for the customer to configure as a Twenty custom field before migration runs.
Kordeva
Owner
Twenty CRM
Workspace Member
1:1Kordeva Owner records (the user assigned to a Contact, Company, or Deal) map to Twenty workspace Members. We extract all distinct owner emails referenced across the dataset and invite them to the Twenty workspace before import. Any owner without a matching Twenty user is held in a reconciliation queue for the customer's admin to provision before the relevant records import.
Kordeva
Accounts and Invoicing
Twenty CRM
Custom Object or Note
1:1Kordeva includes accounts and invoicing at the Regular tier. Invoice records, line items, and payment status are migratable but require field-level mapping since invoicing schemas vary significantly between platforms. We typically map invoices to a custom Invoice object in Twenty if the customer has an active billing workflow, or to Note records attached to the relevant Company if the invoice history is reference data rather than operational. This requires explicit scoping during discovery.
Kordeva
Premium Tier Workflows
Twenty CRM
Workflow
1:1Kordeva Intelligent Workflow is gated to the Premium tier. Workflow configurations do not migrate; we do not rebuild Kordeva workflows as Twenty workflows. We deliver a written inventory of every active Kordeva workflow with its trigger, conditions, and actions documented for the customer's admin to rebuild in Twenty's workflow builder post-migration. This is a separate services engagement outside standard migration scope.
| Kordeva | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Activity (Call, Email, Meeting, Task) | Task and Note1:1 | Fully supported | |
| Custom Field (Contact level) | Custom Field (People object)1:1 | Fully supported | |
| Custom Field (Company level) | Custom Field (Company object)1:1 | Fully supported | |
| Custom Field (Deal level) | Custom Field (Opportunity object)1:1 | Fully supported | |
| Owner | Workspace Member1:1 | Fully supported | |
| Accounts and Invoicing | Custom Object or Note1:1 | Mapping required | |
| Premium Tier Workflows | Workflow1: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.
Kordeva gotchas
Sparse public API documentation limits migration tooling confidence
Premium-tier feature boundary affects what data exists to migrate
Single verified review on G2 creates information asymmetry
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
Discovery and API connectivity test
We audit the source Kordeva account across tier (Regular/Premium), custom field definitions via the Custom Fields API, record counts by object, and active workflow count. We run a connectivity test against the base CRM endpoints and activity history endpoints to confirm what is programmatically accessible. We also request a manual CSV export to compare against API schema availability. The discovery output is a written migration scope that explicitly states which objects are API-accessible, which require CSV fallback, and which are out of scope.
Twenty workspace configuration
We set up the Twenty workspace before any data import. This includes creating custom fields on the People, Company, and Opportunity objects in Settings Data Model to match every Kordeva custom field definition confirmed in discovery. We configure the Opportunity pipeline with stages mapped to the customer's Kordeva deal stages. We invite all team Members to the workspace so that owner lookups resolve at import time rather than creating orphaned records.
Data extraction and transformation
If API access is confirmed, we extract contacts, companies, deals, and activities in batches using the Kordeva API with pagination handling. If API access is unavailable, we extract from CSV and flag custom field values as excluded. We transform each record using the object mapping defined in scoping: standard fields map directly, custom fields map to their Twenty equivalents, and owner emails are resolved to Twenty Member references. We deduplicate by email for People and by domain for Company.
Sandbox import and reconciliation
We run a test import into a staging Twenty instance (self-hosted Docker container or Twenty Cloud sandbox) using production-like data volume. We reconcile record counts for each object, spot-check 20-30 records against the Kordeva source for field accuracy, and validate that People-Company relationships and Opportunity-People relationships are correctly resolved. Any mapping corrections are applied before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Members (already provisioned), Companies (first, as the anchor), People (with CompanyId resolved), Opportunities (with PeopleId and pipeline stage resolved), Activity history (Tasks and Notes via Twenty's import API with parent record resolution). Each phase emits a row-count reconciliation report before the next phase begins. We freeze Kordeva writes during the final delta migration window to capture any records modified during the migration window.
Cutover, validation, and workflow rebuild handoff
We complete the delta migration, validate record counts and relationship integrity in Twenty, and enable the workspace as the system of record. We deliver the workflow inventory document to the customer's admin team with recommended Twenty workflow equivalents documented per Kordeva workflow. We support a five-business-day hypercare window where we resolve any data integrity issues raised by the customer's team. Workflow rebuild in Twenty is a separate engagement handled by the customer's admin or a Twenty implementation partner.
Platform deep dives
Kordeva
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 Kordeva and Twenty CRM.
Object compatibility
3 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
Kordeva: Not publicly documented.
Data volume sensitivity
Kordeva 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 Kordeva to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Kordeva 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 Kordeva
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.