CRM migration
Field-level mapping, validation, and rollback between Salesflare and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Salesflare
Source
Twenty CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Salesflare and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Salesflare to Twenty CRM is a transition from a SaaS-first B2B CRM to an open-source platform with a fully customizable data model. Salesflare handles account auto-population and email enrichment through a lead-credit system; Twenty stores data via a GraphQL and REST API with custom fields created in Settings Data Model before import. We preserve Salesflare lead credits as a configuration document rather than contact records, since the credit meter has no equivalent object in Twenty. Email sequences built in Salesflare Growth or Pro tiers do not migrate to Twenty because Twenty's workflow builder lacks a native sales engagement cadence feature as of 2026; we deliver a written sequence inventory for manual rebuild. Activity history (calls, emails, meetings, notes) migrates through Twenty's REST API with parent-record lookup resolution so timelines attach to the correct Company and People records. Custom dashboards in Salesflare are UI-stored report configurations that do not transfer; we export the underlying opportunity and activity data so dashboards can be rebuilt post-migration.
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 Salesflare 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.
Salesflare
Account
Twenty CRM
Company
1:1Salesflare Account records map directly to Twenty Company. The company domain, industry, location, and custom properties migrate to matching Twenty fields or pre-created custom fields. Company is created before any People import so that the People-Company relationship is satisfied at insert time. Salesflare's account-level tags migrate to Company Tags in Twenty via a many-to-many join table preserved during migration.
Salesflare
Contact
Twenty CRM
People
1:1Salesflare Contact records map to Twenty People with the Account-Contact junction preserved as a Company link. Name, email, phone, title, social links, and enrichment data from email signature scraping migrate to matching Twenty People fields. Primary vs. secondary contact roles are stored in a custom field on People. Manual address data migrates as a text block if Twenty's address compound field is not available.
Salesflare
Opportunity
Twenty CRM
Opportunity
1:1Salesflare Opportunity records map directly to Twenty Opportunity. Deal value, stage, expected close date, and pipeline assignment migrate to matching Twenty Opportunity fields. Pipeline stage names from Salesflare map to Twenty Opportunity stage values; the customer defines the stage mapping during scoping because Twenty stage values are user-configured.
Salesflare
Pipeline
Twenty CRM
Opportunity Stage
lossySalesflare pipeline definitions export as metadata alongside Opportunity records. Each Salesflare pipeline becomes a Twenty opportunity status group or a named view filter. We document the full stage-to-status mapping so the customer configures Twenty's opportunity pipeline stages in Settings before migration begins.
Salesflare
Activity: Call
Twenty CRM
Task (type: call)
1:1Salesflare logged calls map to Twenty Task records with a custom call-type indicator. Call outcome, duration, and any notes migrate to Task custom fields. The Task is linked to the parent Company and People records via Twenty's relationship fields. Activity timestamps are preserved for timeline ordering.
Salesflare
Activity: Email
Twenty CRM
Task or Note
1:1Salesflare email engagements migrate to Twenty as Note records or Task records with an email-type indicator depending on whether the customer prioritizes timeline display or searchable content. Email body, subject, and direction (sent/received) are preserved in Twenty custom fields. We document the preferred email mapping strategy during scoping.
Salesflare
Activity: Meeting
Twenty CRM
Task or Note
1:1Salesflare meeting engagements migrate to Twenty Note records with meeting metadata (date, attendees, location) in custom fields. Attendee names link to People records where email addresses match. The customer's meeting frequency determines whether meetings are stored as Note or Task for optimal calendar integration.
Salesflare
Activity: Note
Twenty CRM
Note
1:1Salesflare standalone notes migrate to Twenty Note records linked to the appropriate Company or People record. Note body preserves rich text formatting where supported. Notes without a parent record are flagged in the reconciliation report for the customer to resolve.
Salesflare
Tag
Twenty CRM
Tag
lossySalesflare flat tags on Accounts, Contacts, and Opportunities migrate to Twenty Tags applied to the corresponding record types. Tag names and associations are preserved as a many-to-many join table. No hierarchy or inheritance exists in either system, so each tag assignment migrates as an independent record.
Salesflare
User
Twenty CRM
Member
1:1Salesflare Users (team members) map to Twenty Members. We resolve by email match against the Twenty workspace members list. Members must be invited and accepted in Twenty before migration begins so that Opportunity owner references resolve correctly. Any unmatched owners are held in a reconciliation queue for manual provisioning.
Salesflare
Custom Property
Twenty CRM
Custom Field
lossySalesflare custom properties on Accounts, Contacts, and Opportunities migrate to Twenty custom fields created in Settings Data Model before import. We export the full property map per object, create the corresponding custom fields in Twenty with matching types (text, number, date, select), and then map property values during the data load phase.
Salesflare
Custom Object
Twenty CRM
Custom Object
1:1Salesflare custom objects (Pro and Enterprise) map to Twenty custom objects of equivalent name. The destination schema, including all custom fields and lookup relationships to standard objects, is pre-created in Twenty Settings Data Model before migration. Custom object records migrate after all standard objects to satisfy foreign key constraints.
| Salesflare | Twenty CRM | Compatibility | |
|---|---|---|---|
| Account | Company1:1 | Fully supported | |
| Contact | People1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Pipeline | Opportunity Stagelossy | Fully supported | |
| Activity: Call | Task (type: call)1:1 | Fully supported | |
| Activity: Email | Task or Note1:1 | Fully supported | |
| Activity: Meeting | Task or Note1:1 | Fully supported | |
| Activity: Note | Note1:1 | Fully supported | |
| Tag | Taglossy | Fully supported | |
| User | Member1:1 | Fully supported | |
| Custom Property | Custom Fieldlossy | Fully supported | |
| Custom Object | Custom Object1: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.
Salesflare gotchas
Enterprise tier minimum user count affects pricing projections
Growth tier limits email sequences to one workflow
Lead credits are a metered resource, not contact data
Custom dashboards do not transfer as data
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 data audit
We audit the source Salesflare account across tiers (Growth/Pro/Enterprise), custom properties on Accounts, Contacts, and Opportunities, pipeline count and stage definitions, active email sequences, activity engagement volume (calls, emails, meetings, notes), tag taxonomy, and user count. We also document lead credit usage history and custom dashboard configurations. The discovery output is a written migration scope covering record counts, field mapping, and a Twenty workspace readiness checklist.
Twenty workspace preparation
We guide the customer through creating Twenty custom objects and custom fields in Settings Data Model before any data import begins. Custom fields must exist before import because Twenty's CSV-style import (via API) creates records, not fields. We also confirm that all team members have accepted their Twenty invitations so that owner lookup references resolve during import. We provide a pre-flight checklist aligned with Twenty's official migration documentation.
Schema mapping and data cleansing
We create the field-level mapping document between Salesflare objects and Twenty objects, including any format transformations (date formats, phone number normalization, picklist values to Twenty select options). We run a data quality assessment on the Salesflare export and recommend deduplication, removal of inactive contacts older than two years, and cleanup of duplicate Accounts before migration to avoid introducing clutter into Twenty.
Staging migration and reconciliation
We run a full migration into a Twenty staging environment using production-equivalent data volume. The customer reconciles record counts (Companies in, People in, Opportunities in, Activities in), spot-checks 25-50 random records against the Salesflare source, and signs off on the mapping before production migration begins. Sequence inventory is documented during this phase for the post-migration rebuild handoff.
Production migration in dependency order
We run production migration in record-dependency order: Members (validated against invited Twenty users), Companies (from Salesflare Accounts), People (with Company link resolved), Opportunities (with Owner and Company references resolved), Tags (applied to the migrated records), Custom Objects (last, with lookups to standard objects satisfied), and Activity history (calls, emails, meetings, notes via REST API with pagination and parent-record resolution). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and sequence handoff
We freeze Salesflare writes during cutover, run a final delta migration of records modified during the migration window, then enable Twenty as the system of record. We deliver the email sequence inventory document and the custom dashboard flag list to the customer. We support a one-week hypercare window for reconciliation issues. We do not rebuild Salesflare sequences as Twenty workflows inside the migration scope because Twenty lacks a native sequence feature; the customer selects a sales engagement tool and rebuilds cadences independently or with a separate engagement.
Platform deep dives
Salesflare
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 Salesflare 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
Salesflare: Documented in the official API docs at api.salesflare.com/docs; specific request-per-second numbers vary by endpoint and plan tier.
Data volume sensitivity
Salesflare 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 Salesflare to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Salesflare 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 Salesflare
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.