Salesforce to Twenty CRM Migration

We move your Salesforce accounts, contacts, leads, opportunities and custom objects into Twenty, the open-source CRM, with their notes, tasks and relations, hosted by Twenty or on your own server. Your flows are rebuilt as Twenty workflows. You see what moves, what we rebuild and what cannot move before you commit.
  • Free 30-minute call
  • No obligation
  • Reply within 48 hours

Why Teams Move from Salesforce to Twenty

Teams choose Twenty to own their CRM and their data: its core is open source, it can be self-hosted, and every custom object gets its own API. Read why companies are leaving Salesforce for open-source CRM, our Twenty CRM review, the Twenty CRM vs Salesforce comparison and whether Twenty is right for your business.

The checklist, field map and timeline below cover the move itself. After the migration, our Twenty CRM implementation team can run and extend it, including self-hosting on AWS.

The reasons teams give most often:

  • More platform than the team can run. Flow, Process Builder, Apex and Lightning components need specialists; the complexity grows with every year of customization.
  • Per-user cost. Seats and editions priced for features the team does not use, plus admin and consultant fees.
  • Simpler workflows. A CRM the team can change itself, without a developer for every new field.
  • Integrations built on open APIs. Twenty gives every object REST and GraphQL endpoints.
  • Owning the data and the code. Twenty’s core is open source and can run on your own servers.

What Moves, What We Rebuild, What Cannot Move

Salesforce data comes from its Data Export Service. Twenty creates records from CSV files but not fields, so we create your fields first through its metadata API, and load what a CSV import cannot link through its API.
  • 9 move
  • 4 we rebuild
  • 3 cannot move
In SalesforceIn TwentyStatus
AccountsMatched to people by company domain or record ID.CompaniesMoves
Contacts and leadsMatched by email address or record ID.PeopleMoves
OpportunitiesOpportunitiesMoves
Custom objects and custom fieldsCreated through Twenty’s metadata API before the data is loaded.Custom objects and fieldsMoves
Lookups between recordsRelationsMoves
Record ownersYour users are invited to Twenty before the import, as Twenty’s docs advise.Workspace membersMoves
NotesLoaded through the API, because a CSV import cannot link a note to several records.NotesMoves
Tasks and eventsLoaded through the API for the same reason.TasksMoves
Chatter posts and commentsSalesforce exports only the first 1,000 characters of each post and comment.NotesMoves
Many-to-many relationshipsTwenty’s CSV import does not handle many-to-many relations yet.A linking custom objectWe rebuild
Flows, Process Builder, workflow rulesTwenty’s docs say workflows are recreated after migration.Twenty workflowsWe rebuild
List views, reports, dashboardsTwenty viewsWe rebuild
Profiles and permission setsTwenty roles and permissionsWe rebuild
Formula and roll-up summary fieldsSalesforce always leaves them out of exports.–Cannot move
Apex code and Visualforce pagesCustom code is redesigned, for example as Twenty workflows or an app built on its API.–Cannot move
Recycle Bin recordsNot in the weekly or monthly export; Data Loader’s Export All can still read soft-deleted records if you want them.–Cannot move

How the Migration Runs

Every step is agreed with you before the next one starts.
  1. 01

    Free assessment

    Duration: Free

    We look at your objects, record counts, flows and hosting needs, and send a fixed quote with the list of what moves, what we rebuild and what cannot move.

  2. 02

    Twenty set-up and data map

    Duration: Before any data moves

    We set up your Twenty workspace, hosted or self-hosted, invite your users, and create your custom objects and fields from the approved map.

  3. 03

    Test migration

    Duration: On a sample first

    We load companies, then people, then opportunities, then custom objects, in the order Twenty’s docs set, for a sample of accounts you check.

  4. 04

    Full migration and rebuild

    Duration: Dates fixed in your quote

    We run the full Salesforce export, load and relate every record, add notes and tasks through the API, and rebuild your flows as workflows.

  5. 05

    Checks and handover

    Duration: Before you switch off Salesforce

    We compare record counts object by object, train your team, and hand over the export files.

What the Move Costs in Licenses

List prices per user per month from each vendor’s pricing page, in USD, checked October 2026:

PlatformPlanPrice per user per month (USD)
Salesforce Sales CloudFree Suite$0
Salesforce Sales CloudStarter Suite$25, billed monthly or annually
Salesforce Sales CloudPro Suite$100, billed annually
Salesforce Sales CloudCore$195, billed annually
Salesforce Sales CloudAdvanced$395, billed annually
Salesforce Sales CloudMax$550, billed annually
TwentyPro$9, billed yearly
TwentyOrganization$39, billed yearly
TwentyEnterpriseFrom $50,000 a year
TwentySelf-hostedFree; you run the servers

Every Twenty plan has unlimited custom objects and fields. Licenses are only part of the bill: the migration, rebuilt automations and training come on top, and so does running the servers if you self-host. Check both pricing pages in your own currency before you budget.

How Salesforce Fields Map Into Twenty

Field mapping matches each Salesforce field to a Twenty field. Most fields move one to one; the rest change on the way:

MappingWhat happensExample
DirectSame field, same formatFirst Name to First Name
TransformationThe format or type changesA free-text Industry field to a select field
SplitOne field becomes severalFull Name to First Name and Last Name
MergeSeveral fields become oneTwo status fields to one Stage field

Twenty’s import rules shape the map:

  • Fields come first. An import creates records, not fields, and it does not add select options. Every custom field and option is set up in Settings, Data Model, before the data is loaded.
  • Picklists become select fields. Values go in by their API name (HIGH_PRIORITY, not “High Priority”). A multi-select picklist moves to a multi-select field as a list such as ["VALUE1","VALUE2"], and an import replaces a record’s selections rather than adding to them.
  • Currency is two columns, the amount and the currency code, and both must be filled.
  • Dates load cleanly as YYYY-MM-DD.
  • Records match on a unique field: the record ID, a person’s email or a company’s domain. Keeping each Salesforce ID means a re-run updates records instead of duplicating them, and relations can be linked by ID.

The map also settles what Salesforce allowed and your Twenty set-up does not: a field that was optional but is now required gets a default or is filled before the import, and text that should be a number or a date is converted, or the row is rejected. Picklist values that differ get a written translation, decided once. For example, for a lead status:

Salesforce valueTwenty optionWhy
NewNewSame meaning
ContactedAttempting ContactNot yet connected
QualifiedQualifiedSame meaning
LostDisqualifiedRenamed in the new process

Twenty allows unlimited custom fields, so the limit is upkeep, not the platform: recreate the fields your workflows, reports and compliance use, and retire the rest.

Salesforce to Twenty Migration Checklist

Before the move

  1. Audit the org. Objects, record counts, which fields are filled and used, and every custom object with what depends on it.
  2. List the automation. Each flow, workflow rule, Process Builder process and Apex trigger, and who relies on it.
  3. Map the integrations. Every system that reads or writes Salesforce, and how it will reach Twenty: a native connector, a tool such as Zapier or n8n, or the API.
  4. Agree the scope with the people who use the data. Which objects move, how much history (activities, opportunity stage history, the audit trail), and what is archived instead.
  5. Set success criteria in numbers. Error rate on migrated records, record counts per object, key reports matching Salesforce, integrations running, and how many users work in Twenty by day 30.
  6. Clean before you move. Remove duplicates, standardize formats and retire fields nobody uses. A full Salesforce data export first gives you a backup.

Moving the data

  1. Load in dependency order. Invite users, then load companies, people, opportunities, custom objects with relations, and last the notes, tasks and files that attach to them. A record loaded before its parent becomes an orphan.
  2. Keep the dates. Created and modified dates come across with each record, so history keeps its timeline.
  3. Test in rounds. A sample from every object (mapping and formats), then a larger subset (relations, automations, who can see what), then a full dry run (speed, search, reports). Each failure and its fix is written down before the next round.
  4. Choose the cutover. A hard cutover is one switch with no fallback; parallel running is safer but means entering data twice; a phased move goes team by team and takes longer overall.
  5. On the day: a final backup, Salesforce set to read-only, the records created since the last load moved, and counts compared before anyone works in Twenty.
  6. Keep data safe in transit. Encrypted files, access only for the people doing the move, a log of every export and load, and your GDPR or CCPA duties carried over.

After the move

  1. Validate in layers, against the targets set in step 5:
CheckHowExample target
Record countsTotals by object, Salesforce against TwentyAll records, or listed exceptions
RelationsParent and child links, such as people to companies99% or more linked
Field accuracyA field-by-field sample of records99% or more match
FilesAttachments open from their recordsAll open
Activity historyNotes and tasks on their recordsAll in scope present
OwnersEach record’s owner is the right workspace memberAll correct
  1. Rebuild and test integrations and automations, then let each team test its own daily work in Twenty.
  2. Train by role and update your documentation. Keep Salesforce read-only for 30 to 60 days as a fallback, and review the criteria at 30, 60 and 90 days.

How Long a Salesforce to Twenty Migration Takes

Data volume, customization, integrations and the time your team can give to checks set the length, so dates come after the assessment, not from a rule of thumb:

  • Small org: standard objects, little customization, clean data and few integrations. The shortest path, but it still needs a map, a test load and checks.
  • Mid-sized org: some custom objects, integrations to reconnect, several teams to train. Mapping needs transformations, and Salesforce orgs that have run for years often show customization nobody listed at the start.
  • Highly customized org: many custom objects, complex automation, compliance sign-off. Custom objects may need redesign, automations are recreated and tested, and the move is often phased.

Preparation decides the speed more than anything else: a problem found in the audit costs less to fix than one found after cutover.

Migration Mistakes to Avoid

  • Moving everything. Unused legacy data adds load time and clutter. Decide the scope in the audit.
  • Skipping deduplication. Duplicates in Salesforce become duplicates in Twenty, now with relations attached.
  • Underestimating custom objects. One central custom object can need a redesign; find it in the audit, not mid-migration.
  • Losing history. Activity that is not mapped, or dates reset to the migration day, strips records of their context.
  • Loading out of order. Children loaded before parents end up linked to nothing.
  • Skipping test loads, or having no rollback plan. The first full load should never be the production one.
  • Forgetting integrations. Email, calendar, billing and support tools stop syncing unless each is rebuilt and tested.
  • Expecting Salesforce inside Twenty. Twenty works differently; decide which behaviors matter and which can change. Our Twenty CRM review covers where it is still thin.
  • Rushing cutover. Once people create records in Twenty, going back is hard. Set the cutover criteria first.
  • Leaving users out. Data can be perfect and the move still fail if people go back to spreadsheets: user adoption needs early news, role-based training and someone to ask.

When Salesforce Is Still the Right Call

Twenty is younger than Salesforce. Stay, or plan carefully, if:

  • You depend on AppExchange products such as CPQ, field service or industry clouds.
  • Your process lives in Apex, and redesigning it costs more than the licenses you would save.
  • Nobody can own the CRM technically. Self-hosting means someone runs updates and backups; Twenty’s hosted service is the alternative.

Not sure which applies to you? Our Twenty CRM consulting team reviews your Salesforce setup before you decide.

Moving to monday.com instead, or from another tool? Our data migration service covers every move we run.

Frequently Asked Questions

Can we host Twenty ourselves?

Yes. Twenty documents self-hosting with Docker Compose, and you keep the data on your own servers. Twenty also offers a hosted service if you prefer not to run it.

Why not just import the Salesforce CSV files into Twenty?

Twenty’s CSV import takes up to 10,000 records per file, does not create fields, and cannot link notes and tasks or many-to-many relations. We use its API for those parts.

What happens to our Salesforce flows?

Flows are Salesforce metadata, so no data export carries them. We list each one in the assessment and rebuild the ones you need as Twenty workflows.

How much does it cost?

It depends on your objects, record counts, flows and hosting. The assessment is free and ends with a fixed quote.

What is the correct sequence for importing Salesforce objects into Twenty CRM to preserve relationship integrity during migration?

Import in this order: users and teams first, then accounts/companies, contacts (linked to accounts), opportunities/deals (referencing accounts, contacts, and owners), activities and notes, custom objects based on their dependencies, and finally attachments/files. This sequencing prevents orphan records, such as contacts without parent accounts or opportunities losing context, which matters in Twenty CRM’s relational structure. Check record counts and relationships after each stage before loading the next.

How do you handle picklist value mismatches and required field conflicts when mapping Salesforce data to Twenty CRM?

Explicitly map differing picklist values, like Salesforce ‘Prospecting’ to Twenty ‘New’, and find fields your Twenty setup depends on that are optional in Salesforce, so you can assign defaults or clean the data beforehand. Validate data type conversions (text-to-number, dates, currencies) too, to avoid import failures. Twenty takes select values by their API names, and the options must exist before the import. A translation table, like the one in the field-mapping section, keeps every decision documented.

Should all custom fields and objects from Salesforce be migrated to Twenty CRM, and how to decide?

Audit custom fields for usage frequency and relevance; migrate only those essential for workflows, reporting, and compliance, and archive or retire the rest to keep Twenty CRM lean. Twenty allows unlimited custom objects and fields on every plan, so the limit is upkeep, not the platform. Document mappings in spreadsheets for reuse, and start with core objects like accounts, contacts, and deals.

How can Salesforce validation rules and triggers be managed during bulk data migration to Twenty CRM without compromising data quality?

Salesforce validation rules and triggers run when records are saved in Salesforce, so they don’t block an export. The checks that matter are on the Twenty side: clean and standardize data before import, load in batches, and review any rejected rows after each batch. Keep Salesforce record IDs as external IDs, so relationships like Accounts to Contacts can be rebuilt reliably in Twenty. Tools like Data Loader or an ETL platform handle high-volume exports.

Will we lose any data during the migration process?

Data loss is preventable with proper methodology. The risks that lead to data loss include incomplete field mapping, failed relationship preservation, and inadequate validation. Structured migration practices, including comprehensive audits, test migrations, and post-migration reconciliation, greatly reduce that risk. The goal is zero data loss for records within scope.

Can we migrate Salesforce data to Twenty without downtime?

Yes, with proper planning. A common approach is to keep using Salesforce for production work while data is extracted, transformed, and loaded into Twenty. The only downtime typically required is a brief cutover window to migrate final delta records created after the initial migration. This window can often be scheduled during off-hours to minimize operational impact.

Should we clean our Salesforce data before or after migration?

Before. Always before. Cleaning data after migration means you have already invested effort in migrating records that should not have been migrated. It means duplicates, incomplete records, and outdated information now exist in both systems. Pre-migration cleaning reduces migration scope, simplifies the process, and ensures the new system starts with a clean foundation.

How do we validate that the migration was successful?

Validation should be multi-layered: record count comparison between systems, field-level sampling to verify data accuracy, relationship verification to confirm parent-child associations survived, and reporting comparison to ensure dashboards produce expected results. Cross-functional stakeholders should participate in validation, as they can identify discrepancies that technical checks might miss.

What is the biggest risk in Salesforce to Twenty migration?

Two risks do the most damage. The first is broken relationships. CRM data is relational, and migrations that fail to preserve the connections between records create fragmented, unusable data. Contacts without account associations. Opportunities without contact linkages. Activities attached to nothing. Relationship preservation requires careful migration sequencing and validation, but when done correctly, it eliminates the most damaging migration failures. The second is users who go back to spreadsheets: a migration with perfect data still fails if the team does not adopt Twenty, so training and communication belong in the plan.

How long does a Salesforce to Twenty CRM migration typically take?

Migration timelines vary with data volume, customization complexity, number of integrations, and team availability, so set the schedule after the audit rather than from a rule of thumb. Organizations that skip the pre-migration phase extend timelines significantly when issues surface during execution. Our free assessment ends with a fixed quote that sets the dates.

Can I migrate all historical data from Salesforce to Twenty CRM?

Yes, historical data including closed opportunities, past activities, and archived records can be migrated. The decision of what to migrate should balance the value of historical context against the cost and complexity of moving older data. Some organizations migrate everything. Others archive historical data separately and start fresh with active records only. A common approach migrates recent history while archiving older data in a separate system accessible for reference.

What happens to my Salesforce integrations during migration?

Integrations must be rebuilt in the new system. Native connectors available for both platforms may offer straightforward replacement. Custom API integrations require development work to redirect connections. Middleware platforms like Zapier may need reconfiguration but preserve some integration logic. Plan integration work as its own workstream, and test thoroughly before cutover.

How do I know if my migration was successful?

Define success criteria before migration and measure against them systematically. Key indicators include data accuracy rates (target less than 1% errors), user adoption levels (target 80%+ daily active users by day 30), reporting accuracy (key reports match expected values), and integration stability (connected systems functioning without intervention). Conduct formal reviews at 30, 60, and 90 days to identify and address issues before they become entrenched.

Sources

What moves and what does not is taken from these official documents, read in October 2026.
  1. 01
    Salesforce Help: Export Backup Data from Salesforce
    What the Data Export Service includes, files and attachments, the 1,000-character Chatter limit, formula fields left out, 48-hour download window.
    https://help.salesforce.com/s/articleView?id=xcloud.admin_exportdata.htm&type=5Open Salesforce Help: Export Backup Data from Salesforce in a new tab
  2. 02
    Salesforce Help: Data Export FAQ
    Recycle Bin data is not included in the export.
    https://help.salesforce.com/s/articleView?id=000383962&type=1Open Salesforce Help: Data Export FAQ in a new tab
  3. 03
    Salesforce Developers: Export data with Data Loader
    Record IDs, relationship queries, and archived activities and soft-deleted records with Export All.
    https://developer.salesforce.com/docs/platform/data-loader-impl/guide/exporting-data.htmlOpen Salesforce Developers: Export data with Data Loader in a new tab
  4. 04
    Salesforce Developers: Metadata API introduction
    Customizations are metadata, handled apart from business data.
    https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_intro.htmOpen Salesforce Developers: Metadata API introduction in a new tab
  5. 05
    Twenty docs: Data migration overview
    CSV import of up to 10,000 records per file, fields created first, matching by id, email or domain, import order.
    https://docs.twenty.com/user-guide/data-migration/overviewOpen Twenty docs: Data migration overview in a new tab
  6. 06
    Twenty docs: Import relations
    Which relations a CSV import can and cannot set.
    https://docs.twenty.com/user-guide/data-migration/capabilities/import-relationsOpen Twenty docs: Import relations in a new tab
  7. 07
    Twenty docs: Migrating from other CRMs
    Invite users before importing; views, workflows and permissions are recreated after migration.
    https://docs.twenty.com/user-guide/data-migration/how-tos/migrating-from-other-crmsOpen Twenty docs: Migrating from other CRMs in a new tab
  8. 08
    Twenty docs: APIs
    REST and GraphQL for every object, and the metadata API for objects and fields.
    https://docs.twenty.com/developers/extend/apiOpen Twenty docs: APIs in a new tab
  9. 09
    Twenty docs: Workflows
    The visual workflow builder and its triggers.
    https://docs.twenty.com/getting-started/core-concepts/workflowsOpen Twenty docs: Workflows in a new tab
  10. 10
    Twenty docs: Self-host with Docker Compose
    Running Twenty on your own server.
    https://docs.twenty.com/developers/self-host/capabilities/docker-composeOpen Twenty docs: Self-host with Docker Compose in a new tab
  11. 11
    Salesforce: Sales Cloud pricing
    Starter Suite $25, Pro Suite $100, Core $195, Advanced $395, Max $550 per user per month (USD); billing terms per edition.
    https://www.salesforce.com/sales/pricing/Open Salesforce: Sales Cloud pricing in a new tab
  12. 12
    Twenty: Pricing
    Pro $9 and Organization $39 per user per month billed yearly, Enterprise from $50k a year, unlimited custom objects and fields, self-hosting the open-source core free.
    https://twenty.com/pricingOpen Twenty: Pricing in a new tab
  13. 13
    Twenty docs: Field mapping
    Select and multi-select values by API name, options created first, imports replace selections, currency in two columns, date formats.
    https://docs.twenty.com/user-guide/data-migration/capabilities/field-mappingOpen Twenty docs: Field mapping in a new tab
  14. 14
    Twenty docs: Fix import errors
    Duplicates, parent records missing, date format YYYY-MM-DD, select API names, currency amount and code.
    https://docs.twenty.com/user-guide/data-migration/how-tos/fix-import-errorsOpen Twenty docs: Fix import errors in a new tab

Plan Your Salesforce to Twenty CRM Move

Tell us what you use Salesforce for today. We will send the list of what moves, what we rebuild and what cannot move, with a fixed quote.

What happens after you send this

  1. We read your requirements and reply within 48 hours.
  2. We talk it through on a free 30-minute call. No obligation.
  3. You leave with clear next steps, and a personalized quote if you go ahead.
  • All our projects are secured by NDA
  • Zero spam.

*All your data will remain strictly confidential.

Before you go

Wait!

Do you know we offer FREE 30-min consultation?

If you have a project in mind, let’s talk.
We are here in Canada. If required, we can meet in person.

Book a free consultation

Free 30-minute call

Leaving Salesforce? We move your CRM data into Twenty, sample first.

with Rakesh PatelFounder and CEO of TaskRhino

Pick a timeSend a message instead

Opens Calendly in a new tab

Certified monday.com PartnerReply within 48 hours110+ clients served