CRM migration
Field-level mapping, validation, and rollback between Workpex and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Workpex
Source
Twenty CRM
Destination
Compatibility
10 of 12
objects map 1:1 between Workpex and Twenty CRM.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Workpex to Twenty CRM is a manual-extraction migration constrained by Workpex's lack of a documented public API. Workpex data must be pulled via CSV export from the UI, which we augment with a pre-migration audit to surface custom fields, WhatsApp interaction logs, Facebook Ad records, and GPS tracking data that are not always included in the standard export. Twenty CRM receives the extracted records through its REST and GraphQL APIs, with schema pre-creation (custom fields, custom objects) required before import because Twenty's CSV import creates records, not fields. Owner resolution maps Workpex Users to Twenty workspace Members by email. We preserve the relationship between Leads and their associated activities, follow-up reminders, and call records across the migration. Workflows, sequences, automations, and GPS data in proprietary formats do not migrate; we document every field we cannot migrate in the pre-migration audit report.
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 Workpex 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.
Workpex
Lead
Twenty CRM
People
1:1Workpex Leads map to Twenty CRM People records. The Lead status field maps to the People record's display name and source tracking fields. We preserve the Workpex lead status and source attribution as custom fields in Twenty's data model during pre-creation. Since Twenty does not have a separate Lead object, unqualified prospects land in People alongside contacts, which is the expected behavior for Twenty migrations.
Workpex
Contact
Twenty CRM
People
1:1Workpex Contacts map to Twenty CRM People records, preserving the Contact-to-Lead association from Workpex. The contact name, phone, email, and address fields map directly to Twenty's standard People fields. Email addresses serve as the dedupe key during import to prevent duplicate People records.
Workpex
Company
Twenty CRM
Company
1:1Workpex Company records map directly to Twenty CRM Company records. The company name becomes the Company display name and domain information maps to the website field. Any custom fields on Workpex Companies are pre-created in Twenty's data model under Company before import.
Workpex
Deal
Twenty CRM
Opportunity
1:1Workpex Deals map to Twenty CRM Opportunity records. The deal name, amount, close date, and pipeline stage migrate as standard Opportunity fields. Workpex pipeline stages map to Twenty Opportunity stage values, and any custom pipeline stages are flagged for value-mapping review during scoping.
Workpex
Task
Twenty CRM
Task
1:1Workpex Tasks map to Twenty CRM Task records with Status, Priority, and due date preserved. Task assignments migrate by resolving Workpex owner IDs to Twenty workspace Members by email match. Open and closed status translates directly to Twenty's task completion state.
Workpex
Follow-up Reminder
Twenty CRM
Task
1:1Workpex Follow-up Reminders are tied to Leads and Contacts and map to Twenty CRM Task records with the reminder date mapped to the Task due date and the reminder description mapped to the Task body. Since Twenty does not have a native Reminder object, this transform is the standard mapping pattern.
Workpex
Call Record
Twenty CRM
Task (with custom call fields)
1:1Workpex call metadata (duration, direction, timestamp, disposition) migrates to Twenty CRM Task records with TaskSubtype indicated as call-related. Call recordings are flagged as file attachments to be re-associated post-migration. We note that Twenty does not have a native call recording storage mechanism, so recording files require separate handling.
Workpex
Pipeline Stage
Twenty CRM
Opportunity Stage
lossyWorkpex pipeline stages define the sales process for Deals and map to Twenty Opportunity stage values. We capture the stage ordering and any custom stage names during the pre-migration audit. Deprecated or custom stages are flagged for value-mapping review before import to ensure no stage data is silently dropped.
Workpex
User
Twenty CRM
Member
1:1Workpex Users and Owners are mapped to Twenty CRM Members by email address. Any Workpex Owner without a matching Twenty Member goes to a reconciliation queue for the customer's admin to provision the user before record import resumes. This step is required before Deals, Tasks, and Activities can reference owners.
Workpex
Custom Field
Twenty CRM
Custom Field
lossyWorkpex custom fields on Leads and Contacts are discovered during the scoping phase and pre-created in Twenty's Settings Data Model before any data import begins. Field types are mapped to their nearest Twenty equivalents. Any custom fields with incompatible data types are flagged for manual review. This step is mandatory because Twenty's import creates records, not fields.
Workpex
WhatsApp Interaction
Twenty CRM
Task or Note
1:1WhatsApp marketing and message logs from Workpex export as Task or Note records in Twenty CRM depending on whether the interaction is time-stamped (Task) or free-text (Note). Rich media attachments may require separate handling as file links. We document the WhatsApp data structure found during scoping and map accordingly.
Workpex
Attachment
Twenty CRM
Attachment
1:1File attachments associated with Workpex Leads, Deals, or Tasks are exported and re-associated in Twenty CRM. Large files or unsupported formats are flagged for manual upload review. We verify file association by matching attachment record IDs to their parent record IDs in Twenty.
| Workpex | Twenty CRM | Compatibility | |
|---|---|---|---|
| Lead | People1:1 | Fully supported | |
| Contact | People1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Follow-up Reminder | Task1:1 | Fully supported | |
| Call Record | Task (with custom call fields)1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully supported | |
| User | Member1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| WhatsApp Interaction | Task or Note1:1 | Fully supported | |
| Attachment | Attachment1: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.
Workpex gotchas
No public API for automated data export
No bulk export mechanism for large datasets
Custom fields and WhatsApp data not visible in standard export
GPS tracking data structure undocumented
Migration timing depends on manual export coordination
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
Pre-migration audit and export planning
We audit the Workpex account across all objects (Leads, Contacts, Companies, Deals, Tasks, Call Records, Pipeline Stages) and identify every custom field, WhatsApp log, Facebook Ad record, and GPS tracking entry present. Because Workpex has no API, we document the export procedure for each object and provide a detailed export checklist. We verify record counts in the UI before export begins and split large exports into batches to avoid timeout. Any export limitations discovered are flagged for resolution before mapping begins.
Schema design and Twenty workspace preparation
We design the destination schema in Twenty CRM. This includes creating all custom fields in Settings Data Model (required before import), creating any custom objects, and inviting all team Members who will be referenced as record owners. We map Workpex pipeline stages to Twenty Opportunity stage values and document any custom stages requiring value-mapping. The Twenty workspace must be operational with all users accepted before we begin importing records that reference them.
CSV extraction and transformation
We extract Workpex data via CSV export using the audit checklist as a guide. Each CSV file is validated against the record counts from the audit phase. Any files that are incomplete or timed out are flagged for re-export. We transform the extracted data into Twenty's import format, applying field type conversions, date formatting, and picklist standardization. Owner references are resolved by matching Workpex owner email to Twenty Member email.
Sandbox validation (if available)
If the Twenty deployment includes a staging or sandbox environment, we run a full migration into that environment using production-like data volume. The customer's admin reconciles record counts and spot-checks 25-50 records against the Workpex source before production migration begins. Any mapping corrections happen in the staging environment. If no staging environment is available, we proceed directly to production with a reduced initial batch for validation.
Production migration in dependency order
We run production migration in record-dependency order: Members (manual provisioning, validated first), Companies (from Workpex Companies), People (with company lookups resolved from the Company phase), Opportunities (with PeopleId and MemberId resolved), Tasks (with PeopleId and MemberId resolved), Activity history (Tasks and Notes), and Custom fields data (final pass). Each phase emits a row-count reconciliation report before the next phase begins. GPS data and WhatsApp logs are handled in a separate pass with custom field mapping as applicable.
Cutover, validation, and handoff
We freeze Workpex writes during cutover, run a final delta migration of any records modified during the migration window, then enable Twenty as the system of record. We deliver the pre-migration audit report documenting every field we identified, what migrated, and what could not be migrated. We do not rebuild Workpex workflows or automations in Twenty because they do not have a programmatic equivalent to migrate. The customer receives a written inventory of automations to rebuild manually in Twenty's settings.
Platform deep dives
Workpex
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Workpex and Twenty CRM.
Object compatibility
4 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
Workpex: Not publicly documented.
Data volume sensitivity
Workpex 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 Workpex to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Workpex 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 Workpex
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.