CRM migration

Migrate from Highrise to Twenty CRM

Field-level mapping, validation, and rollback between Highrise and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

Highrise logo

Highrise

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

70%

7 of 10

objects map 1:1 between Highrise and Twenty CRM.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Highrise logo

Highrise

What's pushing teams away

  • Highrise is perceived as stagnant or abandoned—reviews describe it as "dead" with minimal development, leaving customers stuck on an aging platform while competitors add features continuously.
  • The iOS app historically shipped without Deals functionality, forcing users to the web interface for deal management and exposing inconsistent feature parity across platforms.
  • Advanced CRM features common in competitors—robust reporting, automation engines, advanced pipeline customization—are absent or extremely limited in Highrise, pushing growth-stage teams to migrate.
  • Contact syncing with iPhone has been reported as unreliable, causing duplicated effort and frustration for mobile-first sales teams trying to stay current.
  • The platform lacks native integrations modern teams expect, and while Zapier fills some gaps, the workaround feels inadequate compared to natively integrated CRMs.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How Highrise objects map to Twenty CRM

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)

maps to

Twenty CRM

People

1:1
Fully supported

Highrise 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)

maps to

Twenty CRM

Companies

1:1
Fully supported

Highrise 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

maps to

Twenty CRM

Opportunities

1:1
Mapping required

Highrise 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

maps to

Twenty CRM

Tasks (or custom object)

1:many
Mapping required

Highrise 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

maps to

Twenty CRM

Tasks

1:1
Fully supported

Highrise 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)

maps to

Twenty CRM

Notes

1:1
Mapping required

Highrise 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

maps to

Twenty CRM

Custom Fields

lossy
Mapping required

Highrise 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

maps to

Twenty CRM

Labels / Tags

1:1
Fully supported

Highrise 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)

maps to

Twenty CRM

Members

1:1
Fully supported

Highrise 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

maps to

Twenty CRM

Opportunity Stages

lossy
Mapping required

Highrise 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.

Gotchas + challenges

What specifically takes care here

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 logo

Highrise gotchas

High

API rate limits are endpoint-specific and aggressive

High

Deals, Cases, Notes, and Emails export as plain text only

Medium

No workflow or automation engine to migrate

Medium

Atom feeds are the best source for recording history

Low

Free and Solo tiers have hard contact and storage caps

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Highrise exports Deals, Cases, Notes, and Emails as plain text only

    Highrise's built-in export tool outputs Deals, Cases, Notes, and Emails as .txt files rather than structured CSV. This strips HTML formatting from emails, loses inline image references, and provides no structured column mapping. We parse the TXT output to extract field values, but this requires a transformation layer that is absent in simpler migration tools. We flag any Deals or Cases with complex or unstructured data for manual review before migration and warn customers that rich email content arrives as plain text in Twenty. CSV export works cleanly for People and Companies, but any customer relying on rich email content in Highrise should plan for that limitation.

  • Twenty requires fields to exist before CSV import, but Highrise has no bulk write API

    Twenty's CSV import creates records but not fields. We must create every custom field in Settings Data Model before the import step, and every standard field must be mapped to a corresponding Twenty column header. This schema-first requirement is complicated by Highrise's lack of a bulk write endpoint—we extract all records through the standard REST API with tiered rate limits (150 req/5s general, 2 req/10s for email search). We throttle extraction jobs accordingly and build exponential backoff into retry logic. Large contact bases with heavy email search usage extend the extraction timeline.

  • Owner references require User provisioning in Twenty before record import

    Highrise Users who own Deals, Tasks, and Notes must exist in Twenty as Members before we can map the OwnerId references. Twenty's documentation explicitly warns: invite users BEFORE importing data, otherwise owner relations cannot be mapped. We extract the full Highrise user roster during discovery and reconcile it against Twenty Members by email. Any Highrise owner without a matching Twenty Member enters a provisioning queue. Migration pauses on record types with owner dependencies (Opportunities, Tasks) until this queue is resolved.

  • No automation engine exists in Highrise to migrate

    Highrise has no native automation, workflow, or sequence engine. Any automations the customer built live entirely outside Highrise—typically in Zapier Zaps, Make scenarios, or email filtering rules. We do not migrate Zapier Zaps because they require OAuth re-authentication and cannot be exported as transferable configuration. We document every external automation trigger and action identified during discovery so the customer can rebuild them in Twenty's native workflow builder. The workflow rebuild is outside standard migration scope.

  • Views, permissions, and dashboard configurations do not transfer

    Twenty's migration documentation explicitly states that Views, workflows, and permissions must be recreated manually after migration. Highrise's saved views, filtering configurations, and permission sets have no direct Twenty equivalent and cannot be migrated programmatically. We deliver a written inventory of all Highrise saved views and access configurations for the customer's admin to rebuild in Twenty. This planning work should begin during the migration window, not after cutover.

Migration approach

Six steps for a successful Highrise to Twenty CRM data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Highrise logo

Highrise

Source

Strengths

  • Flat-rate pricing model makes cost predictable for teams adding users without per-seat billing surprises.
  • Minimalist interface is easy to learn and deploy in days rather than weeks, especially for small teams without a dedicated admin.
  • Core contact and deal tracking is solid and reliable, covering the fundamental CRM needs without feature bloat.
  • Native account-to-account transfer tool exists within Highrise for moving data between two Highrise accounts.
  • Zapier integration extends the platform to thousands of other tools without requiring custom API work.

Weaknesses

  • The product is widely described as stagnant with minimal ongoing development, leaving users on an aging platform.
  • No automation or workflow engine means teams must rebuild processes manually or rely entirely on Zapier.
  • Feature parity between the web app and mobile app is inconsistent, with the iOS app historically missing deal management.
  • Advanced reporting, forecasting, and pipeline analytics are absent or extremely limited.
  • The API lacks a true bulk write endpoint, making high-volume migrations slower and more complex.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Highrise and Twenty CRM.

  • Object compatibility

    B

    3 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    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

    B

    Highrise doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Highrise to Twenty CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Highrise to Twenty CRM data migrations

Answers to the questions buyers ask most during Highrise to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Small migrations under 5,000 People with no custom objects and straightforward pipeline stages complete in two to four weeks. Migrations with custom field-heavy schemas, large engagement histories, or Cases used for support tracking move to six to ten weeks. The Highrise API's lack of a bulk write endpoint and the TXT export parsing for Deals, Cases, and Notes add time for large record sets compared to migrations from platforms with cleaner CSV exports.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Highrise.
Land in Twenty CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day