CRM migration
Field-level mapping, validation, and rollback between Sellsation CRM and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Sellsation CRM
Source
Twenty CRM
Destination
Compatibility
6 of 10
objects map 1:1 between Sellsation CRM and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Sellsation CRM to Twenty CRM is a self-hosted, open-source transition driven by data ownership, vendor independence, and an active community roadmap. Sellsation CRM does not publish a public API, so migration relies on CSV exports from the platform's UI — we scope the exportable field coverage before migration day to identify any gaps. Sellsation Customers map to Twenty Companies, Contact Persons map to Twenty People, and Sales Projects map to Twenty Opportunities with pipeline stage preserved as Opportunity status values. Activities (calls, appointments, notes, tasks) migrate to Twenty Tasks and Notes with timestamps intact; activity volumes of 10–20 times the contact count are common and require time-bounded batch processing. Multi-level campaign automation, geo heatmap visualizations, custom reports, and dashboard configurations do not migrate — we deliver the underlying data and a written rebuild inventory for each. Twenty's open-source AGPL-3.0 model eliminates per-seat licensing entirely, making infrastructure cost the only ongoing variable.
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 Sellsation CRM 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.
Sellsation CRM
Customer
Twenty CRM
Company
1:1Sellsation Customers are the primary account-level records storing company information, linked to Contact Persons and Sales Projects. We map them 1:1 to Twenty Companies. The Sellsation Customer name becomes Company name, and any linked Contact Persons are resolved via companyId during the People import phase. Sellsation does not publish an API, so export relies on the platform's CSV export function — we validate record counts against any UI-exportable data during scoping to confirm full field coverage before migration day.
Sellsation CRM
Contact Person
Twenty CRM
People
1:1Sellsation Contact Persons are individual contacts linked to Customers with full activity history. We map them 1:1 to Twenty People, preserving the link to the parent Company via the email domain or explicit companyId where available in the export. Any multi-email or multi-phone custom fields are mapped to Twenty's email and phone property formats. Because Twenty requires People to be imported after Companies (the companyId relation must resolve), we sequence the People import as phase two.
Sellsation CRM
Sales Project
Twenty CRM
Opportunity
1:1Sellsation Sales Projects are deal records tracked through pipeline stages with automated potential analysis. We preserve the pipeline stage name as an Opportunity status value in Twenty, and deal value migrates to the Opportunity amount field. Phase change history from Sellsation (stage movement timestamps) migrates as a series of Tasks or as a custom field capturing the last stage transition date. Sellsation's automated potential and strengths/weaknesses analysis data migrates as custom fields on the Opportunity if the platform exposes those values in its export.
Sellsation CRM
Activity (calls, appointments, notes, tasks)
Twenty CRM
Task or Note
1:manySellsation logs every call, appointment, note, and task as a separate activity record, and activity counts of 10–20x the contact count are common in mature accounts. We split activities at migration time: call engagements map to Twenty Task with TaskSubtype=Call preserved in a custom field; appointment records map to Twenty Task with the date range and attendee list migrated; notes migrate as Twenty Notes linked to the parent People or Company record. We process activity exports in time-bounded batches to avoid export file bloat, and we validate the chronological relationship between activities and their parent Contact Person or Sales Project.
Sellsation CRM
Campaign
Twenty CRM
Campaign (tracking)
lossySellsation's multi-level campaigns with conditional stage movements, automated emails, and task creation have no direct equivalent in Twenty CRM. We export campaign enrollment data and campaign member records as a CSV that maps to Twenty's People records with a campaign tag. The campaign structure itself — conditional branching, automated follow-up sequences, stage-triggered actions — does not migrate; we deliver a written campaign inventory document describing each Sellsation campaign's trigger, conditions, and actions for the customer's admin to rebuild using Twenty's Workflow capabilities post-migration.
Sellsation CRM
Custom Fields
Twenty CRM
Custom Fields
lossySellsation supports custom fields on primary objects. We enumerate all custom fields during scoping and map them to Twenty's custom field schema under Settings → Data Model. Twenty requires custom fields to be created before CSV import (import creates records, not fields), so we pre-create the full custom field schema in Twenty during the schema preparation phase. Any picklist-dependent custom fields require additional mapping to ensure the Sellsation picklist values align with Twenty's select option configuration.
Sellsation CRM
Geo Map Data
Twenty CRM
Address / Location Fields
1:1Sellsation's geo map and heatmap feature stores territory visualization as internal map state rather than standard geographic coordinates. We export the linked Sales Project location data as standard address fields in Twenty, preserving the geographic context without the native heatmap. The territory and heatmap configuration cannot be replicated in Twenty's current feature set; we document the original geo data as a structured export for any future BI or mapping tool integration the customer chooses.
Sellsation CRM
KPIs and Reports
Twenty CRM
Data Export (for rebuild)
lossySellsation's standard reports and custom dashboard configurations do not have an export mechanism. We export the underlying data — Sales Projects, activity history, pipeline metrics — as CSV so the customer's Twenty team can rebuild reports from complete source data. The KPI definitions, chart configurations, and dashboard layout require manual rebuild in Twenty. We deliver a written KPI inventory describing each Sellsation report's metrics, filters, and data sources as a rebuild specification.
Sellsation CRM
Custom Objects (if present)
Twenty CRM
Custom Object
1:1If Sellsation has custom objects defined, we map them to Twenty custom objects of equivalent name and schema. Twenty's custom object model requires pre-creation under Settings → Data Model before any data import, including all custom fields and lookup relationships. We sequence custom object import last because they often have lookups to standard objects (Companies, People, Opportunities), which must exist first. Any picklist values, validation logic, or formula dependencies in Sellsation custom objects are documented during scoping and recreated in Twenty's Data Model.
Sellsation CRM
Owner / User
Twenty CRM
Workspace Member
1:1Sellsation user assignments on Contact Persons, Sales Projects, and Activities resolve to Twenty Workspace Members by email match. Twenty requires all team members to be invited and to accept their invitations before import, because OwnerId references on People, Opportunities, and Tasks must resolve to an existing user. Any Sellsation Owner without a matching Twenty member goes to a reconciliation queue for the customer's admin to provision before record import resumes.
| Sellsation CRM | Twenty CRM | Compatibility | |
|---|---|---|---|
| Customer | Company1:1 | Fully supported | |
| Contact Person | People1:1 | Fully supported | |
| Sales Project | Opportunity1:1 | Fully supported | |
| Activity (calls, appointments, notes, tasks) | Task or Note1:many | Fully supported | |
| Campaign | Campaign (tracking)lossy | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Geo Map Data | Address / Location Fields1:1 | Mapping required | |
| KPIs and Reports | Data Export (for rebuild)lossy | Mapping required | |
| Custom Objects (if present) | Custom Object1:1 | Fully supported | |
| Owner / 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.
Sellsation CRM gotchas
No documented public API for programmatic export
Activity history volume can bloat export files
Custom reports and dashboards do not migrate
Geo map and heatmap data is proprietary visualization
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
Scoping and CSV export validation
We audit Sellsation CRM via a full scoping call to enumerate all objects (Customers, Contact Persons, Sales Projects, Activities, Campaigns, Custom Fields) and estimate record volumes. Because Sellsation has no documented API, we validate CSV export coverage from the platform's UI during this phase — any field that cannot be confirmed exportable goes into a gap list for the customer to review. We also identify duplicate records, outdated contacts (no activity in two or more years), and unused custom fields that the customer chooses to exclude from migration. The scoping output is a written migration scope with record counts, field mapping draft, and gap list.
Twenty workspace preparation
We create all custom fields in Twenty under Settings → Data Model before any CSV import. This includes custom fields for Sellsation data that has no direct Twenty equivalent — such as the Sellsation traffic-light status, automated potential analysis scores, or custom picklist values. We also create any custom objects required by the customer's data model, configure Record Types for Opportunity pipeline stages, and invite all Workspace Members so that owner and assignee references resolve during import. We sequence custom field creation before import because Twenty's CSV import creates records but not fields.
Sandbox migration and reconciliation
We run a full migration into a Twenty sandbox using production-like data volumes. The customer's admin reconciles record counts against the Sellsation source (Customers in versus Companies in, Contact Persons in versus People in, Sales Projects in versus Opportunities in, Activities in versus Tasks and Notes in) and spot-checks 25–50 random records for field-level accuracy. Any mapping corrections — wrong field assignments, picklist mismatches, missing custom field creations — are identified and fixed at this stage before production migration begins. We do not run production migration until the sandbox sign-off is received.
CSV export and data extraction
We extract data from Sellsation CRM using the platform's CSV export function across all object types. Activities are exported in time-bounded batches to avoid file bloat — for example, splitting by year or by six-month windows based on total volume. We validate the extracted CSV row counts against the scoping estimates to confirm full data coverage. Any fields that were identified as gap risks during scoping are flagged in the export report for the customer to review. The export phase is the highest-risk part of this migration path because it relies on the platform's UI export capability rather than a documented API.
Production migration in dependency order
We run production migration in record-dependency order: Companies first (the one side of the Company-to-People relationship), then People with companyId resolved from the Companies import, then Opportunities with companyId and any assignee resolved, then Tasks and Notes with parent record references resolved, then Custom Objects last. Each phase emits a row-count reconciliation report before the next phase begins. Activity records are loaded last because they reference both People and Opportunities and represent the highest record count in most Sellsation accounts.
Cutover and rebuild handoff
We freeze Sellsation 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 three documents: a campaign automation inventory describing each Sellsation campaign's trigger, conditions, and actions for manual rebuild in Twenty Workflows; a geo data export with address fields for any future territory mapping; and a KPI and report rebuild specification describing the metrics and filters from each Sellsation report for the customer's Twenty admin to reconstruct. We support a one-week hypercare window to resolve reconciliation issues. Workflows, sequences, and automations do not migrate as code and are outside standard migration scope.
Platform deep dives
Sellsation CRM
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 Sellsation CRM 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
Sellsation CRM: Not publicly documented.
Data volume sensitivity
Sellsation CRM 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 Sellsation CRM to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Sellsation CRM 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 Sellsation CRM
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.