CRM migration
Field-level mapping, validation, and rollback between Highrise and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Highrise
Source
Twenty CRM
Destination
Compatibility
7 of 10
objects map 1:1 between Highrise and Twenty CRM.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Highrise to Twenty CRM is a migration from a minimal, stagnating flat-rate CRM to an actively developed open-source platform with full data ownership. Highrise exports Deals, Cases, Notes, and Emails as plain-text files rather than structured CSV, so we parse the TXT output to extract field values before transforming them into Twenty's typed schema. We sequence the migration to create Twenty's data model—including custom fields and pipeline stages—before any record import, because Twenty's CSV import creates records but not fields. Owner mapping resolves Highrise Users to Twenty Members by email match before record imports begin. Highrise has no automation engine, so any automations the customer built in Zapier or Make are documented separately for rebuild in Twenty's native workflow builder. Tags transfer as labels, and text messages migrate as Notes linked to the parent People record.
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 Highrise 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.
Highrise
People (Contacts)
Twenty CRM
People
1:1Highrise People records map to Twenty People. Standard fields (name, email, phone, address, social links) transfer cleanly via CSV export. We parse the CSV output and transform field names to match Twenty's column headers. The email field serves as the dedupe key during import. Any People records linked to Companies carry the Company association through a lookup reference we resolve at migration time.
Highrise
Companies (Parties)
Twenty CRM
Companies
1:1Highrise Companies (Party type) export alongside People via the parties.xml API endpoint. We separate Company records from People records and write them to the Twenty Companies import. Domain, address, industry, and employee count fields map to their Twenty equivalents. Companies must import before People so the Company-People association is satisfied at the moment of People insert.
Highrise
Deals
Twenty CRM
Opportunities
1:1Highrise Deals export as plain-text .txt files rather than CSV. We parse the TXT output to extract deal name, stage, value, responsible user, and linked contact or company. These parsed values transform into Twenty Opportunity records. The Highrise dealstage property maps to Twenty's Opportunity stage values. Any complex or unstructured deal data is flagged for manual review before migration.
Highrise
Cases
Twenty CRM
Tasks (or custom object)
1:manyHighrise Cases export as TXT only. We parse case title, status, linked contact, and timestamps. Cases with simple task-like structure migrate to Twenty Tasks with the case title as task name and the linked People record as the task's target. Teams using Cases for more complex support tracking may choose to create a custom Case object in Twenty before migration; we configure this during the schema design phase.
Highrise
Tasks
Twenty CRM
Tasks
1:1Highrise Tasks are standard API objects and export cleanly. Completed and open tasks with due dates, assignees, and related party references transfer to Twenty Tasks. Task status (open, completed, deferred) maps to Twenty task status values. Highrise Tasks linked to Deals migrate with the Opportunity association preserved.
Highrise
Notes and Emails (Recordings)
Twenty CRM
Notes
1:1Highrise stores all notes, emails, and comments as Recordings linked to People or Companies. Export is TXT only, stripping HTML formatting from emails. We capture the full text, metadata (date, author), and parent record reference. Notes migrate as Twenty Notes linked to the parent People or Companies record. Customers should expect email content to arrive as plain text in Twenty, with any embedded images or HTML formatting lost in the Highrise export.
Highrise
Custom Fields
Twenty CRM
Custom Fields
lossyHighrise custom fields on People, Companies, and Deals are exported via the custom_field_subjects API endpoint. We detect all custom field definitions and their data types, then recreate them in Twenty's Settings Data Model before any record import. Twenty requires fields to exist before the CSV import runs; we handle this schema-first approach by building the destination field definitions during the discovery phase and deploying them before data migration begins.
Highrise
Tags
Twenty CRM
Labels / Tags
1:1Highrise tags are flat labels applied to People, Companies, Deals, and Cases. We export all tag assignments and re-apply them as Twenty label values on the corresponding record. Many-to-many tag relationships are preserved by storing comma-separated tags in a Twenty text field or by creating multiple label assignments per record depending on Twenty's current label implementation at migration time.
Highrise
Users (Owners)
Twenty CRM
Members
1:1Highrise Users who own records are extracted by name and email. We map them to Twenty Members by email match. Any Highrise User without a matching Twenty Member goes to a reconciliation queue for the customer's admin to provision before record import resumes, because OwnerId references on Opportunities and Tasks are required and cannot be nulled during migration.
Highrise
Pipeline Stages
Twenty CRM
Opportunity Stages
lossyHighrise deal stages (e.g., New, Contacted, Qualified, Won, Lost) are extracted during scoping and recreated as Opportunity stage values in Twenty. Stage order and probability percentages transfer where supported. We configure the pipeline stage set in Twenty before Deal/Opportunity migration begins.
| Highrise | Twenty CRM | Compatibility | |
|---|---|---|---|
| People (Contacts) | People1:1 | Fully supported | |
| Companies (Parties) | Companies1:1 | Fully supported | |
| Deals | Opportunities1:1 | Mapping required | |
| Cases | Tasks (or custom object)1:many | Mapping required | |
| Tasks | Tasks1:1 | Fully supported | |
| Notes and Emails (Recordings) | Notes1:1 | Mapping required | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Tags | Labels / Tags1:1 | Fully supported | |
| Users (Owners) | Members1:1 | Fully supported | |
| Pipeline Stages | Opportunity Stageslossy | Mapping required |
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.
Highrise gotchas
API rate limits are endpoint-specific and aggressive
Deals, Cases, Notes, and Emails export as plain text only
No workflow or automation engine to migrate
Atom feeds are the best source for recording history
Free and Solo tiers have hard contact and storage caps
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 Highrise account across tier (Free/Solo/Starter/Professional/Enterprise), record counts per object type, custom field definitions, pipeline stage configuration, and engagement volume. We identify which objects exported as CSV (People, Companies) versus TXT (Deals, Cases, Notes, Emails) to scope the transformation workload. We inventory any external automations in Zapier or Make identified by the customer. The discovery output is a written migration scope, a record-count estimate, and a pricing proposal.
Twenty workspace provisioning and schema design
We set up the Twenty workspace and design the destination schema. This includes creating custom objects (if the customer used Highrise Cases for support tracking), adding custom fields to standard objects (People, Companies, Opportunities), and configuring Opportunity stage values that map from Highrise deal stages. We also map Highrise Users to Twenty Members by email and hand off a provisioning checklist for any unmatched owners. Schema design happens in Twenty's Settings Data Model before any data extraction begins.
Highrise extraction with rate-limit throttling
We extract Highrise records via the REST API using chunked batch processing. CSV-exportable objects (People, Companies) pull through the parties.xml endpoint. TXT-exportable objects (Deals, Cases) parse from the export output. Recordings (Notes, Emails) pull from the atom feeds for metadata-rich extraction where available, supplemented by the full TXT export for content. We throttle extraction to the most restrictive limit (2 req/10s for email search) and implement exponential backoff on 503 responses. Incremental delta captures run for accounts with high write velocity during the migration window.
Data transformation and owner reconciliation
We transform extracted records into Twenty's CSV import format, mapping Highrise field names to Twenty column headers. Custom field values map from Highrise's custom_field_subjects structure to Twenty's custom field columns. Owner references resolve by matching Highrise user email to Twenty Member email. Any Highrise owner without a Twenty Member enters the provisioning queue for the customer's admin to resolve before the Opportunity and Task import phases begin.
Staged import in dependency order
We import into Twenty in record-dependency order: Companies first, then People (with Company associations resolved), Opportunities (with OwnerId and CompanyId resolved), Tasks (with owner and linked record references), and Notes last. Each phase emits a row-count reconciliation report comparing source record count to destination inserted count. Custom fields are populated during import by referencing the pre-created field columns. Engagement history (Notes, Emails) migrates after the core record types are in place.
Cutover, validation, and automation rebuild handoff
We freeze Highrise writes during the cutover window, run a final delta migration of any records added or modified during the migration, then mark Twenty as the system of record. We deliver the automation inventory document (external Zapier/Make triggers and actions) for the customer's admin to rebuild in Twenty's native workflow builder. We support a one-week hypercare window for reconciliation issues. We do not rebuild automations inside the migration scope; that work is a separate engagement or an internal admin task.
Platform deep dives
Highrise
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 Highrise and Twenty CRM.
Object compatibility
3 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
Highrise: 150 req/5s general; 2 req/10s for email search; 10 req/10s for recordings.xml. Returns 503 with Retry-After header on exceeded limits..
Data volume sensitivity
Highrise 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 Highrise to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Highrise 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 Highrise
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.