CRM migration
Field-level mapping, validation, and rollback between SalesNexus and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
SalesNexus
Source
Twenty CRM
Destination
Compatibility
9 of 12
objects map 1:1 between SalesNexus and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from SalesNexus to Twenty CRM is a structural migration that exits the bundled CRM-and-email-marketing model in favor of a self-hosted or managed open-source CRM focused on People, Companies, and Opportunities. SalesNexus operates two distinct platform versions (Legacy and 2026 Nexi) that require explicit identification before any export begins, and the Nexi AI inference layer produces no exportable artifacts. We map SalesNexus Contacts to Twenty People, Companies to Twenty Companies, and Pipelines to Opportunities with stage configuration preserved. Drip automation sequences and Nexi AI configurations are not accessible via SalesNexus public API and must be rebuilt manually in Twenty's workflow builder; we deliver a sequence audit report listing all active enrollments so the customer's admin can reconstruct them. Contact tier caps on SalesNexus Free and Starter plans may exceed the destination's initial data budget, requiring plan comparison or staged import before cutover.
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 SalesNexus 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.
SalesNexus
Contact
Twenty CRM
Person
1:1SalesNexus Contacts map directly to Twenty People. We export the full contact schema via the get-all-fields endpoint including custom field IDs, enrichment data, and lifecycle stage properties, then map each to a Twenty People field or custom field created in Settings → Data Model. The contact's primary email address becomes the dedupe key during import. Owner assignment resolves by email match against Twenty Workspace Members.
SalesNexus
Company
Twenty CRM
Company
1:1SalesNexus Company records map to Twenty Companies. The company domain and website transfer to the Company record. We export Companies independently and link them to imported People via the company_name or company_id field on the contact record. No special handling required beyond standard lookup resolution.
SalesNexus
Pipeline
Twenty CRM
Opportunity
1:1SalesNexus Pipelines (up to 10 on Starter, 3 on Free) map to Twenty Opportunities organized by pipeline name. Each SalesNexus pipeline becomes a Twenty Opportunity view filtered by a custom pipeline_name field or a separate Opportunities tab. We preserve pipeline-level configuration including stage count and order for recreation in Twenty's stage editor.
SalesNexus
Pipeline Stage
Twenty CRM
Opportunity Stage
lossySalesNexus Pipeline Stages (ordered integers with names and probability defaults) map to Twenty Opportunity stage values. We export the full stage schema and recreate it in Twenty via Settings → Data Model as select options on the Opportunities stage field. Probability percentages migrate as informational fields or custom probability fields depending on customer reporting needs.
SalesNexus
Task
Twenty CRM
Task
1:1SalesNexus Tasks with due dates, assignees, and completion status map to Twenty Tasks. Owner assignment migrates via email-to-Workspace-Member lookup. We export open and completed tasks, preserving the original created_at and due_date timestamps for activity timeline accuracy.
SalesNexus
Email Template
Twenty CRM
Note (replacement)
1:1SalesNexus stores email templates with merge fields and HTML content. We export template bodies, subject lines, and merge field syntax. Twenty does not have a native email template object; templates migrate as Note records attached to the relevant People or Company for reference, and the customer's admin rebuilds them in their chosen email outreach tool. We document merge field mappings for manual translation.
SalesNexus
Custom Field (Contacts)
Twenty CRM
Custom Field (People)
lossySalesNexus custom fields on Contacts are identified by integer field IDs retrieved via get-all-fields. We export field labels, types, and values, then create equivalent custom fields in Twenty via Settings → Data Model before import. Field types map to Twenty equivalents: text fields to TEXT, picklists to SELECT, dates to DATE, checkboxes to CHECKBOX. Unique constraint handling uses Twenty's Advanced mode API names per documentation.
SalesNexus
Custom Field (Companies)
Twenty CRM
Custom Field (Company)
lossySame approach as Contact custom fields applied to Company records. Company-level custom fields export from SalesNexus get-all-fields with field IDs and types, then create in Twenty's Data Model under the Company object before migration. Lookup relationships to People require parent-record resolution before Company import completes.
SalesNexus
Call Transcription
Twenty CRM
Note or Task
1:1SalesNexus stores call recordings and transcriptions linked to Contact Activity records. We export the transcription text and a URL reference to the recording. Binary audio files are not downloadable via API. Transcription text migrates as a Note attached to the relevant People record, and the recording URL is stored as a custom URL field for manual access. Call disposition and duration migrate as custom fields on the Note.
SalesNexus
Email Archival
Twenty CRM
Activity (Timeline)
1:1SalesNexus unlimited email archival (all plans) exports as email subject, body, date, direction (sent/received), and recipient. The email body exports as HTML; we convert to plain text for Twenty's activity rendering. Each email creates an Activity record on the People timeline. Direction, sender, and recipient map to activity metadata fields. Email threading references are not preserved in Twenty's current data model.
SalesNexus
User / Owner
Twenty CRM
Workspace Member
1:1SalesNexus Users and Owners map to Twenty Workspace Members. We export the user list with email addresses and names, then match by email during import. Any SalesNexus Owner without a matching Workspace Member is flagged for the customer's admin to provision before record import resumes. Inactive or archived SalesNexus users map to inactive Twenty members for historical assignment preservation.
SalesNexus
Drip Automation Enrollment
Twenty CRM
Note (audit record)
1:1SalesNexus drip sequences and their active enrollments are not exportable via API. We can export the list of contacts currently enrolled in each sequence, the sequence name, and enrollment dates. This data migrates as Note records on each People record listing their active drip enrollments. We provide a separate sequence audit report listing all active sequences, step counts, and enrolled contact counts for the customer's admin to rebuild in Twenty's workflow builder or an external sales engagement tool.
| SalesNexus | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Pipeline | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Email Template | Note (replacement)1:1 | Fully supported | |
| Custom Field (Contacts) | Custom Field (People)lossy | Fully supported | |
| Custom Field (Companies) | Custom Field (Company)lossy | Fully supported | |
| Call Transcription | Note or Task1:1 | Fully supported | |
| Email Archival | Activity (Timeline)1:1 | Mapping required | |
| User / Owner | Workspace Member1:1 | Fully supported | |
| Drip Automation Enrollment | Note (audit record)1: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.
SalesNexus gotchas
Dual-platform account confusion blocks clean exports
Contact tier limits are enforced at migration time
Drip automation sequences are not exportable via API
API rate limits restrict export throughput on Free and Starter plans
Nexi AI suggestions and automations produce no exportable artifact
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
Platform version detection and scoping
We identify whether the customer's SalesNexus account is on the Legacy platform (salesnexus.com) or the 2026 Nexi platform (app.salesnex.us) by querying both endpoints during discovery. We confirm with the customer whether data in the legacy system is in scope and document the total record counts across Contacts, Companies, Pipelines, Stages, Tasks, email archival volume, and active drip sequence enrollments. We also audit custom field schemas via get-all-fields and identify any Nexi AI features active in the account.
Twenty schema provisioning
We create the destination schema in Twenty before any data import. This includes creating custom fields on People (matching SalesNexus Contact custom fields), creating custom fields on Company, configuring Opportunity stages to match SalesNexus Pipeline Stages, and provisioning Workspace Members matched by email to SalesNexus Owners. Schema is built via Twenty's Settings → Data Model UI or API. We validate that all field types are compatible and that any unique-constraint fields are clean of duplicates before import begins.
Staging migration and reconciliation
We run a full migration into a staging environment or a test workspace in Twenty using production-like data volume. The customer's team reconciles record counts, spot-checks 25-50 random records against SalesNexus, and verifies that custom field data appears correctly in Twenty. Any mapping corrections (field type mismatches, lookup resolution failures, merge field syntax issues) happen in staging before production migration. This step also validates that drip sequence enrollment data is correctly captured as Note records on People.
Owner reconciliation and workspace provisioning
We extract every distinct SalesNexus Owner referenced on Contacts, Companies, Deals, and Tasks and match by email against Twenty Workspace Members. Owners without a matching Twenty member go to a reconciliation queue for the customer's admin to provision. This step must complete before record import resumes because owner assignments are required for accurate activity timeline attribution in Twenty.
Production migration in dependency order
We run production migration in record-dependency order: Workspace Members (manual, validated), Companies (from SalesNexus Companies), People (with company lookups resolved), Opportunities (with stage and pipeline configuration applied), Tasks, Email archival as Activities, Call transcriptions as Notes, and drip enrollment data as Notes for rebuild reference. Each phase emits a row-count reconciliation report before the next phase begins. API rate limits on SalesNexus Free and Starter plans are managed via exponential backoff and chunking throughout.
Cutover, validation, and sequence rebuild handoff
We freeze SalesNexus 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 drip sequence audit report listing all active sequences, enrolled contacts, and recommended Twenty workflow equivalents. We support a one-week hypercare window for reconciliation issues. We do not rebuild SalesNexus drip sequences as Twenty workflows inside the migration scope; that is documented separately for the customer's admin to implement.
Platform deep dives
SalesNexus
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 SalesNexus 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
SalesNexus: Not publicly documented in a rate-limit table; Free plan limits are 50 API calls/month, Starter increases to 500+.
Data volume sensitivity
SalesNexus 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 SalesNexus to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your SalesNexus 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 SalesNexus
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.