CRM migration
Field-level mapping, validation, and rollback between Simple Sales Tracking and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Simple Sales Tracking
Source
Twenty CRM
Destination
Compatibility
10 of 14
objects map 1:1 between Simple Sales Tracking and Twenty CRM.
Complexity
BStandard
Timeline
1-2 weeks
Overview
Moving from Simple Sales Tracking to Twenty CRM is a structural migration that resolves a platform model difference at the outset. Simple Sales Tracking uses Leads and Opportunities as separate first-class record types; Twenty CRM consolidates unqualified prospects and people into a People object, so we perform a pre-import split rule based on Simple Sales Tracking Lead status before any data moves. Custom Sales Record fields and custom Pipeline stages require UI-metadata extraction because Simple Sales Tracking does not expose a schema endpoint, which we handle by cross-referencing a sample export against a screen capture of the field configuration page. Files and attachments migrate as downloads from the 1 GB storage pool, then re-attach in Twenty. We do not migrate Automations, BCC Email rules, daily reminders, or the real-time Activity Feed because these are application-state features without persistent API records. The migration scope includes a written inventory of any active Commission Tracking configurations requiring manual 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 Simple Sales Tracking 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.
Simple Sales Tracking
Lead
Twenty CRM
Person (People)
1:1Simple Sales Tracking Lead records map to Twenty CRM Person records. We apply a pre-split rule based on the Lead status property: Leads with a status indicating early-stage qualification map to Person records with a custom stage field capturing the original status. Lead source fields migrate to a custom source field on Person. Custom Lead-level Sales Record fields migrate as custom Person fields after schema inspection from UI metadata.
Simple Sales Tracking
Opportunity
Twenty CRM
Opportunity
1:1Opportunities map directly to Twenty Opportunities. The Simple Sales Tracking deal amount, expected close date, and owner assignment transfer to the corresponding Twenty Opportunity fields. Pipeline stage names from Simple Sales Tracking are mapped to Twenty stage values that we configure before migration; the stage sequence order is preserved as the Stage display order in Twenty.
Simple Sales Tracking
Account
Twenty CRM
Company
1:1Simple Sales Tracking Accounts map to Twenty CRM Companies. Account names, addresses, industry tags, and associated Contact links transfer to the Company object. The Company record is created before any Person import so that the Person-to-Company relationship is satisfied at the moment of Person insert. Account domain or website fields map to the Company URL field.
Simple Sales Tracking
Contact
Twenty CRM
Person (People)
1:1Contacts map to Twenty CRM Person records using the same mapping as Leads. Where a Contact is linked to an Account, the Person-Company relationship is resolved during import by matching the associated Account name to the pre-created Company record. Email, phone, and address fields transfer to Person's standard contact fields; custom Contact-level fields migrate as custom Person fields.
Simple Sales Tracking
Note
Twenty CRM
Note
1:1Notes are free-text records attached to Contacts, Opportunities, or Accounts in Simple Sales Tracking. We preserve note content and creation timestamp. Note formatting and embedded file links do not carry over; if a note contains an attachment reference, we export the linked file separately and note the association for re-attachment in Twenty.
Simple Sales Tracking
Task
Twenty CRM
Task
1:1Tasks migrate with due date, assignee, and completion status preserved. Open and completed tasks transfer. Simple Sales Tracking task histories do not include a full activity log of status changes, so we migrate the final state rather than an audit trail. Task assignment resolves by matching the Simple Sales Tracking owner email to a Twenty User.
Simple Sales Tracking
Appointment
Twenty CRM
Task
1:1Appointments include date, time, duration, title, and linked Contact. We migrate appointment records as Task records in Twenty with the original timestamp preserved and a custom field capturing the duration. The linked Contact resolves to the corresponding Person record via email match. Calendar re-booking in Twenty is a manual step for the end user post-migration.
Simple Sales Tracking
Files and Attachments
Twenty CRM
Attachments
1:1Files attached to Contacts, Opportunities, and Notes are exported as individual downloads from Simple Sales Tracking's 1 GB storage pool. We re-attach each file to the corresponding migrated record in Twenty using the Person, Opportunity, or Note API. File metadata (original filename, upload date, file size) is preserved. The 1 GB total storage ceiling means we flag any account approaching capacity during discovery so the customer can archive old files before migration.
Simple Sales Tracking
Custom Sales Record Fields
Twenty CRM
Custom Person and Opportunity Fields
lossyCustom fields on Sales Records require UI-metadata extraction because Simple Sales Tracking does not expose a schema endpoint. We ask the customer for a screen capture of their custom field configuration page during discovery and cross-reference it against a sample API response to build the complete field map. Custom fields are created in Twenty as custom Person or custom Opportunity fields before migration, matching the source field type (text, number, date, picklist).
Simple Sales Tracking
Custom Pipeline Stages
Twenty CRM
Opportunity Stage Values
lossySimple Sales Tracking allows custom named stages with drag-and-drop ordering per pipeline. We capture the full stage sequence during discovery, then configure Twenty's Opportunity stage values to match the source stage names and order before any Opportunity records are imported. Any stage with a probability percentage in Simple Sales Tracking is set as the Stage probability in Twenty.
Simple Sales Tracking
User
Twenty CRM
User
1:1Simple Sales Tracking user records and role assignments export as a user list. We map role names to the closest applicable Twenty workspace role. Active users receive Twenty User accounts; inactive or archived users are flagged for the customer's admin to handle post-migration. Owner assignment on Opportunities and Tasks resolves via email match against the migrated User list.
Simple Sales Tracking
Commission Tracking
Twenty CRM
Custom Field on Opportunity
lossyCommission percentage or amount fields attached to Opportunities in Simple Sales Tracking are treated as custom Opportunity fields. We create a custom commission field in Twenty's Opportunity object before import and transfer the values directly. If the destination field does not exist, we export the data as a CSV alongside the migration for manual entry or custom field creation post-migration.
Simple Sales Tracking
Lead Source
Twenty CRM
Custom Source Field on Person
lossyLead sources are a configurable reference taxonomy in Simple Sales Tracking. We migrate source labels as options in a custom picklist or text field on the Person object in Twenty. If Twenty's standard source field exists in the target workspace, we map labels directly; otherwise we use a custom field and note the available values for the admin to configure.
Simple Sales Tracking
Activity Feed
Twenty CRM
Not migratable
1:1The Activity Feed is a real-time event stream generated within Simple Sales Tracking and is not exposed as a queryable API object. Historical feed entries cannot be retrieved via the API. We explain this limitation during discovery and recommend the customer export any critical feed entries as manual Notes before the migration date. This is not a data loss gap but a product limitation of the source platform.
| Simple Sales Tracking | Twenty CRM | Compatibility | |
|---|---|---|---|
| Lead | Person (People)1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Account | Company1:1 | Fully supported | |
| Contact | Person (People)1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Appointment | Task1:1 | Fully supported | |
| Files and Attachments | Attachments1:1 | Mapping required | |
| Custom Sales Record Fields | Custom Person and Opportunity Fieldslossy | Mapping required | |
| Custom Pipeline Stages | Opportunity Stage Valueslossy | Mapping required | |
| User | User1:1 | Fully supported | |
| Commission Tracking | Custom Field on Opportunitylossy | Mapping required | |
| Lead Source | Custom Source Field on Personlossy | Fully supported | |
| Activity Feed | Not migratable1:1 | Not 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.
Simple Sales Tracking gotchas
Trial import ceiling of 50 records masks true data volume
No public bulk export API requires iterative extraction
Custom field definitions are not exposed via a schema endpoint
Activity Feed is a real-time stream with no historical query API
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 inspection
We audit the Simple Sales Tracking account for record counts across Leads, Opportunities, Accounts, Contacts, Tasks, Notes, and Appointments. We request a screen capture of the custom field configuration page and a sample API export to build the complete field map. We identify any custom pipeline stage names, Commission Tracking field usage, and file attachment volume relative to the 1 GB storage ceiling. The discovery output is a written migration scope, a custom field mapping table, and a pipeline stage mapping table.
Schema preparation in Twenty CRM
We create custom fields in Twenty's Person, Company, and Opportunity objects for every Simple Sales Tracking custom field that does not have a standard equivalent. We configure Opportunity stage values to match the source pipeline stage names and order. If the customer uses Commission Tracking, we create a custom Opportunity field for commission percentage or amount. We verify field types (text, number, date, picklist) against the source data to avoid type mismatches during import. Schema changes are validated in Twenty before any data moves.
User provisioning and owner reconciliation
We extract every distinct Simple Sales Tracking user referenced on Leads, Opportunities, Contacts, Tasks, and Notes. Owner email addresses are matched against the target Twenty workspace's User list. Any Simple Sales Tracking owner without a corresponding Twenty User is placed in a reconciliation queue for the customer's admin to provision before record import resumes. We cannot migrate owner assignment without resolved User IDs in Twenty.
Record export and staging import
We export data from Simple Sales Tracking via its REST API using paginated polling given the absence of a bulk export endpoint. Records are extracted in dependency order: Accounts first, then Contacts and Leads with Account lookups resolved, then Opportunities with stage mapping applied, then Tasks, Notes, and Appointments. Files and attachments are downloaded separately. We run a staging import into a Twenty workspace to verify record counts, relationship resolution, and custom field population before production migration.
Production migration in dependency order
We run the production migration in the same dependency order used in staging. Company records are created first. Person records (Contacts and Leads) are imported with the split rule applied and linked to Companies. Opportunities are imported with stage values resolved and linked to the correct Person and Company. Tasks, Notes, and Appointments are imported last, with linked Person references resolved. Files are re-attached to the corresponding migrated records. Each phase emits a row-count reconciliation report.
Cutover, validation, and Commission Tracking handoff
We freeze writes in Simple Sales Tracking during cutover and run a final delta migration for any records modified during the migration window. The customer validates a random sample of migrated records against the source. We deliver the Commission Tracking data as a supplementary CSV if custom fields were not pre-created for commission values. We provide a written list of any Simple Sales Tracking automations (BCC Email rules, daily reminders) and the Activity Feed gap for the customer to address manually post-migration. We do not rebuild automations as Twenty workflows inside the migration scope.
Platform deep dives
Simple Sales Tracking
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 Simple Sales Tracking 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
Simple Sales Tracking: Not publicly documented.
Data volume sensitivity
Simple Sales Tracking 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 Simple Sales Tracking to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Simple Sales Tracking 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 Simple Sales Tracking
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.