CRM migration
Field-level mapping, validation, and rollback between bxp software and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
bxp software
Source
Twenty CRM
Destination
Compatibility
9 of 12
objects map 1:1 between bxp software and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
BXP Software and Twenty CRM represent fundamentally different approaches to CRM architecture. BXP deploys a bespoke, per-client data model where Forms serve as primary data containers with arbitrary custom field configurations built for each customer's workflows. Twenty CRM uses a standard open-source data model centred on People, Companies, Opportunities, Tasks, and Notes, with custom objects and fields configured through the Settings interface. Migrating from BXP to Twenty requires enumerating the specific BXP instance schema before any data moves, mapping each BXP Form and its fields to the appropriate Twenty standard or custom object, and pre-building that destination schema before the CSV import. Activity history and agent metrics stored in BXP's proprietary CDA and CCL archive formats are parsed into structured records. Workflows, QA evaluation logic, and eLearning module configurations do not migrate; we deliver a written inventory for the customer's admin to rebuild in Twenty.
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 bxp software 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.
bxp software
Forms
Twenty CRM
People, Company, or Custom Object
1:manyBXP Forms are the primary data containers and hold arbitrary field configurations per client instance. We enumerate every Form in the BXP instance during scoping, then map each Form to the nearest Twenty standard object (People for contact-facing forms, Company for account-facing forms, or a Custom Object for industry-specific record types). Custom fields from each Form are pre-created in Twenty's Data Model before any import begins. Forms that serve as standalone records without clear CRM equivalents migrate as Custom Objects with the Form name preserved as the object label.
bxp software
Contacts
Twenty CRM
People
1:1BXP Contact records map directly to Twenty People. Email, phone, and standard contact fields transfer directly. Any custom fields on the BXP Contact record are created as custom fields on the Twenty People object before import. We use the BXP Contact email address as the dedupe key during Twenty import to prevent duplicate records.
bxp software
Activities (call logs, agent interactions)
Twenty CRM
Task or Note
1:1BXP logs call activities and agent interactions with schema varying by client deployment. Standard call fields (duration, disposition, timestamp) map to Twenty Task records with TaskSubtype set to Call. Interaction notes and free-text activity records map to Twenty Note records linked via ContentDocumentLink to the parent People or Company record. Non-standard BXP activity fields are exported as custom task fields or Note body text depending on content type.
bxp software
Custom Fields (per-client BXP fields)
Twenty CRM
Custom Field
lossyBXP's value proposition is custom fields built per client. Every custom field in the BXP instance is enumerated during scoping and created as a typed custom field in Twenty's Data Model before import. Field types are mapped: BXP text to Twenty TEXT, BXP date to Twenty DATE, BXP dropdown to Twenty SELECT, BXP number to Twenty NUMBER. Fields must exist in Twenty before the CSV import; we create them first so that the import references valid column headers.
bxp software
Custom Archives (CDA/CCL formats)
Twenty CRM
Structured CSV or JSON
lossyBXP can export custom archives in proprietary CDA and CCL formats. These are parsed into standard CSV or JSON before loading into Twenty. The parsing logic is developed during scoping using a test archive sample. Parsed records are then mapped to the appropriate Twenty object (People, Company, Task) based on the archive content type. CDA and CCL parsing adds one to two weeks to the project timeline.
bxp software
Agent Metrics
Twenty CRM
Custom Object or Task
1:1Contact-centre metrics like call duration, wrap time, and QA scores stored in BXP do not map directly to Twenty's standard objects. We export them as structured records in a Twenty Custom Object (AgentMetrics) with custom fields for each metric, linked via lookup to the associated People record for agent attribution. QA scores are exported as Note records linked to the associated Task (the evaluated call).
bxp software
eLearning Records
Twenty CRM
Custom Object or Note
1:1BXP's eLearning module stores training completion records, scores, and module assignments. These have no direct Twenty CRM equivalent. We export eLearning records as a Custom Object (TrainingRecord) in Twenty with fields for module name, completion date, score, and status, linked to the People record representing the trained agent. If the customer does not require eLearning tracking in Twenty, records are exported as a structured CSV audit file rather than live CRM records.
bxp software
Quality Assurance Records
Twenty CRM
Custom Object or Note
1:1QA evaluations tied to agent calls are stored in BXP with bespoke schema per deployment. We export QA records alongside the associated Contact and Activity to preserve evaluation context. In Twenty, QA records are stored in a Custom Object (QAEvaluation) with fields for evaluator, score, evaluation date, and evaluation criteria, linked to the associated Task (the evaluated call). The customer defines the criteria fields during scoping based on their BXP QA template.
bxp software
Accounts (BXP standard module)
Twenty CRM
Company
1:1BXP includes an Accounts module for managing company records alongside Contacts. Where present, BXP Accounts map directly to Twenty Companies. The BXP account name becomes the Company name in Twenty, and the account address maps to the Company address fields. BXP account contacts are linked via the People-to-Company relationship in Twenty.
bxp software
Leads (BXP standard module)
Twenty CRM
People (or Opportunity)
1:1BXP includes a Leads module for tracking unqualified prospects. BXP Leads map to Twenty People records with a custom field bxp_lead_source__c capturing the original lead source. If the BXP Lead has an associated deal value, it maps to a Twenty Opportunity record linked to the People record.
bxp software
Opportunities (BXP standard module)
Twenty CRM
Opportunity
1:1BXP Opportunities map to Twenty Opportunities with deal name, amount, stage, and close date preserved. BXP pipeline stages are mapped to Twenty Opportunity stage values during the pre-build phase. Opportunity amount maps to the Twenty amount field; any custom deal fields from BXP are created as custom fields on the Twenty Opportunity object before import.
bxp software
Owner (BXP agent/user)
Twenty CRM
Workspace Member
1:1BXP agents and users referenced on Contact, Activity, and QA records are resolved by email against Twenty workspace Members. We extract every distinct owner email from the BXP export and match against the Twenty Members list. Members must be invited to the Twenty workspace and accept their invitation before the import phase because Owner references on People, Company, and Opportunity records require a valid workspace Member to link against.
| bxp software | Twenty CRM | Compatibility | |
|---|---|---|---|
| Forms | People, Company, or Custom Object1:many | Fully supported | |
| Contacts | People1:1 | Fully supported | |
| Activities (call logs, agent interactions) | Task or Note1:1 | Fully supported | |
| Custom Fields (per-client BXP fields) | Custom Fieldlossy | Fully supported | |
| Custom Archives (CDA/CCL formats) | Structured CSV or JSONlossy | Fully supported | |
| Agent Metrics | Custom Object or Task1:1 | Mapping required | |
| eLearning Records | Custom Object or Note1:1 | Mapping required | |
| Quality Assurance Records | Custom Object or Note1:1 | Mapping required | |
| Accounts (BXP standard module) | Company1:1 | Fully supported | |
| Leads (BXP standard module) | People (or Opportunity)1:1 | Fully supported | |
| Opportunities (BXP standard module) | Opportunity1:1 | Fully supported | |
| Owner (BXP agent/user) | Workspace Member1: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.
bxp software gotchas
BXP has no published public API documentation
Every BXP instance has a unique data schema
No list pricing creates budget uncertainty
Small review corpus limits due diligence
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 schema enumeration
We audit the BXP instance by requesting the internal API documentation PDF, testing API connectivity in a sandbox environment, and enumerating every Form, custom field, and relationship in the live instance. We identify which BXP Forms correspond to CRM records (Contacts, Accounts, Opportunities) versus operational records (QA evaluations, eLearning completions, agent metrics). We also identify any CDA or CCL archive exports and request a sample for parsing development. The discovery output is a written schema map and a fixed-price migration scope.
Twenty workspace pre-build
We create the destination schema in Twenty before any data export. This includes creating Custom Objects for any BXP data that has no standard Twenty equivalent (QAEvaluation, TrainingRecord, AgentMetrics), adding all mapped custom fields to the People, Company, and Opportunity standard objects, and inviting all workspace Members whose email addresses appear as BXP Owner references. The workspace is built in Twenty's Settings interface using the Data Model and Members sections. We do not run any imports until all fields and Members exist in Twenty.
BXP export and data transformation
We export data from BXP using the bxp API where accessible or Form-level exports for schema objects. CDA and CCL archive files are parsed using the developed custom parser and converted to structured CSV or JSON. All exports are validated against the schema enumeration for completeness and record counts. The transformation layer maps BXP field values to their Twenty equivalents, applies any format conversions (date formats, phone number normalisation), and applies the dedupe key (email for People, Company name for Company).
Sandbox import and reconciliation
We run the first full import into a Twenty sandbox workspace to validate the mapping. The customer reconciles record counts (People in, Companies in, Opportunities in, Tasks in), spot-checks twenty to thirty random records against the BXP source, and reviews the Custom Object records. Any missing fields, incorrect mappings, or duplicate records are corrected in the transformation layer before the production import begins. Sandbox reconciliation typically takes three to five business days.
Production migration in dependency order
We run production migration in dependency order: workspace Members (already provisioned, validated), Companies (from BXP Accounts), People (with CompanyId resolved from the Company import), Opportunities (with PeopleId and CompanyId resolved), Tasks and Notes (with PeopleId resolved), Custom Objects (with their respective lookups resolved). Each phase emits a row-count reconciliation report. During cutover, we freeze writes in BXP, run a final delta export of any records modified during the migration window, load the delta, and then mark Twenty as the system of record.
QA, eLearning, and agent metrics handoff
QA evaluation records, eLearning completion records, and agent metrics are delivered as Custom Object records in Twenty linked to the relevant People and Task records. We provide a written inventory of all migrated Custom Object records with their field definitions and recommended uses. We do not configure QA evaluation workflows or training tracking automations in Twenty as that is a separate admin configuration task. We support a five-business-day hypercare window for reconciliation issues raised by the customer's team after go-live.
Platform deep dives
bxp software
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 bxp software 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
bxp software: Not publicly documented.
Data volume sensitivity
bxp software 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 bxp software to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your bxp software 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 bxp software
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.