CRM migration

Migrate from OnePageCRM to Twenty CRM

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

OnePageCRM logo

OnePageCRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

91%

10 of 11

objects map 1:1 between OnePageCRM and Twenty CRM.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from OnePageCRM to Twenty CRM is a structural migration for small sales teams that have outgrown OnePageCRM's action-inbox model and are looking for open-source data ownership. OnePageCRM uses a flat data model: People (contacts), Organizations (companies), and Deals all support Custom Fields, Tags, and Statuses. We preserve the Next Action date and text during export and map Predefined Items to Twenty's product objects. The critical gap is that OnePageCRM's native export cannot pull email body content or attachments from contact records; we surface this during scoping and handle partial extraction via API reads where feasible. Workflows, Autoflow sequences, and custom integrations do not migrate; we deliver a written automation inventory for your admin to rebuild in Twenty's workflow builder.

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

OnePageCRM logo

OnePageCRM

What's pushing teams away

  • Reporting covers basics only; users cite 17 mentions of missing advanced analytics, custom report builders, and sales forecasting capabilities beyond deal-level summaries.
  • Automation caps at 15 predefined actions per Autoflow workflow, which frustrates growing teams that need multi-step nurture sequences across longer sales cycles.
  • Customization limits mean workflow stages, status labels, and pipeline views cannot be meaningfully reconfigured without losing the action-first UX philosophy.
  • Integration surface is narrow — no native eSignature, limited billing connectors, and API access gated behind Business/Enterprise tiers pushes teams toward Pipedrive or HubSpot.
  • Export constraints prevent pulling conversation threads and email bodies from contacts, creating data lock-in that makes migration feel risky without third-party extraction tools.

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 OnePageCRM objects map to Twenty CRM

Each row shows how a OnePageCRM 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.

OnePageCRM

Contact (Person)

maps to

Twenty CRM

Person

1:1
Fully supported

OnePageCRM Contacts map to Twenty Person records. The Contact's name, emails, phones, addresses, social URLs, and Next Action date all transfer directly. Next Action text becomes a Task title with the Next Action date as the task due date, linked to the Person. Custom contact fields from OnePageCRM must be pre-created in Twenty's Data Model before import; we provide the checklist during scoping. Tags on the contact migrate as labels on the Person record.

OnePageCRM

Organization (Company)

maps to

Twenty CRM

Company

1:1
Fully supported

OnePageCRM Organizations map to Twenty Company records. The export includes company name, phone, address, industry, website, and custom company fields. We preserve the contact-to-organization linkage by matching Organization name during Company import, then resolving the Person-to-Company link during Person import using a company lookup field. Custom company fields must exist in Twenty before import.

OnePageCRM

Deal

maps to

Twenty CRM

Opportunity

1:1
Fully supported

OnePageCRM Deals map to Twenty Opportunity records. Deal name, amount, stage, close date, and pipeline assignment transfer directly. The OnePageCRM dealstage maps to Twenty's Opportunity stage values. Multi-month deal flags and margin/commission/cost fields migrate as custom Opportunity fields if they exist in the destination schema. Closed Won and Closed Lost deals migrate as historical records with the original stage preserved.

OnePageCRM

Status

maps to

Twenty CRM

Opportunity Stage

lossy
Fully supported

OnePageCRM Status taxonomy (Prospect, Qualified, Customer, etc.) maps to Twenty Opportunity stage values. We configure the destination stage values in Twenty Settings → Data Model before import and document the mapping in the runbook. Statuses that have no Twenty equivalent are created as custom stage values.

OnePageCRM

Lead Source

maps to

Twenty CRM

Custom Field on Person

1:1
Fully supported

OnePageCRM Lead Source (website inquiry, phone call, referral, etc.) migrates as a custom picklist field on the Person object in Twenty. We create the field during schema pre-creation if it does not already exist, and map each distinct OnePageCRM Lead Source value to a Twenty picklist option.

OnePageCRM

Tag

maps to

Twenty CRM

Label on Person or Company

1:1
Fully supported

OnePageCRM Tags assigned to Contacts and Deals migrate as labels in Twenty. Tags are stored as a flat namespace; we create the label associations during import by matching the tag name against the pre-provisioned label list. Tags on Deals migrate as labels on the linked Opportunity.

OnePageCRM

Predefined Action (Saved Action Template)

maps to

Twenty CRM

Task Template

1:1
Fully supported

OnePageCRM Predefined Actions are template task sequences users assign to contacts. We map these to Twenty's task records, creating task templates from the Predefined Action name and step list. The template tasks are created as draft tasks attached to the Person record. Active workflow assignments (Autoflow) do not migrate; we document each Autoflow in the automation inventory for rebuild.

OnePageCRM

Predefined Item (Product Catalog)

maps to

Twenty CRM

Product

1:1
Fully supported

OnePageCRM Predefined Items (products and services used in deal creation) map to Twenty Product records. We preserve name, price, quantity, grouping, and Standard Price Book entries. Product groupings map to Twenty's product family or a custom picklist field. Line items on Deals migrate as OpportunityLineItems with Pricebook2 reference resolved at migration time.

OnePageCRM

Note and Call Log

maps to

Twenty CRM

Note or Task

1:1
Fully supported

OnePageCRM Notes and Call Logs attached to contacts migrate to Twenty Note records linked via content document to the Person. Call disposition and duration migrate as custom fields on the Note record. Note body text migrates as rich text. Email body content cannot be exported from OnePageCRM natively; we attempt partial extraction via API rate-limited reads but document which records have incomplete conversation history.

OnePageCRM

Custom Field (Contacts, Companies, Deals)

maps to

Twenty CRM

Custom Field on Person, Company, or Opportunity

1:1
Fully supported

Admin-created custom fields for contacts, companies, and deals must be pre-created in Twenty Settings → Data Model before any import. We provide a custom field checklist during scoping that covers every source field, its data type, and the recommended Twenty field type. Multi-select picklists in OnePageCRM map to multi-select picklists in Twenty. Unsupported field types (e.g., rich-text areas exceeding character limits) are flagged and resolved during schema review.

OnePageCRM

Owner (User)

maps to

Twenty CRM

WorkspaceMember (User)

1:1
Fully supported

OnePageCRM Owners map to Twenty WorkspaceMembers by email address match. We extract every distinct Owner referenced on Contact, Organization, and Deal records and match against the Twenty workspace user list. Any OnePageCRM Owner without a matching Twenty user goes to a reconciliation queue; the customer provisions the missing workspace member before record import resumes because OwnerId references are required on Person and Opportunity imports.

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.

OnePageCRM logo

OnePageCRM gotchas

High

Email bodies and attachments are not exported from OnePageCRM

Medium

Duplicate detection fires after import, not during

Medium

API rate limit of 5 req/s constrains bulk extraction

Medium

Custom Fields must be pre-created before import

Low

Merge Import updates existing contacts rather than creating new ones

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

  • Email bodies and attachments cannot be fully exported from OnePageCRM

    OnePageCRM's built-in export (CSV and API v3) does not expose email body text or file attachments stored against contact records. Only email addresses, dates, and metadata are available. We flag this gap during scoping and attempt partial extraction via API rate-limited reads of individual contact records, but conversation threads may be incomplete. We document exactly which records have email content so the customer decides whether to accept partial migration or reroute conversations to the new CRM before cutover.

  • Custom Fields and Company/Person objects must exist before import

    Twenty's CSV import creates records, not fields. All custom fields must be pre-created in Settings → Data Model before any import. Workspace members must also be invited and accept their invitations before import because OwnerId references require a resolved user. OnePageCRM has the same pre-creation requirement on the source side. We provide a pre-migration checklist covering both systems so the customer's admin completes schema setup before migration day.

  • OnePageCRM API rate limit of 5 req/s constrains bulk extraction

    OnePageCRM's API enforces a sliding-window rate limit of 5 requests per second with bursts up to 10. For large datasets (thousands of contacts or deals) this significantly slows targeted API lookups. We work around this by using the CSV export endpoint for bulk data and reserving API calls for fetching custom field metadata and verifying company-contact relationships. We throttle API calls in our extraction pipeline to avoid triggering the limit and document the extraction window in the runbook.

  • Duplicate detection fires after import, not during

    OnePageCRM does not prevent or flag duplicates during CSV import; duplicates are merged or flagged only after the import completes. We run pre-import deduplication on the CSV using email address as the primary key, but we warn customers that fuzzy matching on name and company is a manual post-import step in Twenty. For companies with shared email domains across multiple contacts, the dedupe pass uses email domain as a secondary filter.

  • Autoflow workflows and saved sequences do not migrate to Twenty

    OnePageCRM Autoflow workflows and Predefined Action sequences are automation configurations that have no direct Twenty equivalent because Twenty's workflow builder uses a different event model and action library. We do not migrate Autoflow as code. We deliver a written automation inventory listing every active workflow, its trigger conditions, action sequence, and a recommended Twenty workflow equivalent. The customer's admin rebuilds them in Twenty's workflow builder post-migration.

Migration approach

Six steps for a successful OnePageCRM to Twenty CRM data migration

  1. Discovery and scoping

    We audit the OnePageCRM account across plan tier (Professional/Business/Enterprise), custom field count, pipeline count, Predefined Items, Predefined Actions, active Autoflow workflows, and engagement volume. We pair this with a Twenty workspace readiness assessment: checking whether custom fields and custom objects have been pre-created in Settings → Data Model, whether workspace members have been invited and accepted, and whether the customer's pipeline stages map cleanly to Twenty Opportunity stages. The discovery output is a written migration scope, field mapping document, and automation inventory.

  2. Schema pre-creation in Twenty

    We create all required custom fields (contact, company, and deal-level) in Twenty Settings → Data Model before any data import. We configure Opportunity stage values to match the OnePageCRM status taxonomy, create any custom picklist options for Lead Source and Tags, and set up the Product price book. Custom objects and their lookup relationships are provisioned here. This step requires the customer's Twenty admin to complete if self-hosted; we provide the schema specification document to guide the setup.

  3. CSV export and data extraction

    We export data from OnePageCRM using its native CSV export for bulk records (Contacts, Organizations, Deals, Products) and reserve API v3 calls for targeted lookups such as custom field metadata and contact-organization relationship verification. We run pre-import deduplication on email address as the primary key and flag any records with partial email body content for the customer to review before loading. The extraction emits a record-count report by object type.

  4. Data transformation and relationship resolution

    We transform extracted data into Twenty-compatible CSV format, applying field-type mapping (dates to ISO 8601, phone numbers to E.164 format, picklist values to the target enum). We resolve Organization-to-Company linkage during Company import, then resolve Person-to-Company linkage during Person import using company name as the lookup key. Predefined Actions are converted to task templates; Predefined Items are converted to Product records with price book entries. Any OnePageCRM Owner without a matching Twenty WorkspaceMember is held in the reconciliation queue for admin provisioning.

  5. Sandbox migration and reconciliation

    We run a full migration into the customer's Twenty instance using the cleaned and transformed CSV files in dependency order: Companies first (for lookup resolution), then Persons (with CompanyId resolved), then Opportunities (with PersonId and CompanyId resolved), then Products and Pricebook entries, then Tasks (from Notes, Call Logs, and Next Action dates), then Labels (from Tags). Each phase emits a row-count reconciliation report. The customer spot-checks 25-50 records against the source and signs off before production cutover.

  6. Production cutover and automation handoff

    We freeze writes in OnePageCRM during cutover, run a final delta migration of any records modified during the migration window, then enable Twenty as the system of record. We deliver the automation inventory document listing every Autoflow workflow and Predefined Action with its trigger, conditions, and recommended Twenty workflow equivalent. We support a three-day hypercare window to resolve any record relationship issues or field mapping corrections raised by the sales team. We do not rebuild Autoflow workflows or Predefined Action sequences as Twenty workflows inside the migration scope.

Platform deep dives

Context on both ends of the pair

OnePageCRM logo

OnePageCRM

Source

Strengths

  • Per-user pricing is transparent with no hidden contact or record caps at any tier.
  • Action Stream inbox-style UX reduces onboarding friction for sales reps unfamiliar with CRM conventions.
  • Autoflow provides rule-based automation without requiring technical skills or developer setup.
  • Mobile app with AI Route Planner and Speed Dialer gives field sales a purpose-built tool at no extra cost.
  • Integration marketplace covers Gmail, Outlook, Xero, QuickBooks, Mailchimp, and Zapier for common small-business stacks.

Weaknesses

  • Reporting and analytics are basic — no custom report builder, limited forecasting, and no visual dashboards beyond deal-level summaries.
  • Automation is capped at 15 predefined actions per workflow and only one email sequence per Autoflow, limiting complex nurture flows.
  • Export cannot pull email body content or attachments from contact records, creating data gaps in full migrations.
  • Custom field creation must happen before import in both source and destination, adding a manual prerequisite step.
  • API access for custom integrations is gated behind Business/Enterprise plans, restricting programmatic extraction for teams on the Professional tier.
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. 1 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 OnePageCRM and Twenty CRM.

  • Object compatibility

    B

    1 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

    OnePageCRM: 5 req/s average, 10 req/s burst (sliding window).

  • Data volume sensitivity

    B

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

Estimator

Estimate your OnePageCRM 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 OnePageCRM to Twenty CRM data migrations

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

Can't find your answer?

Walk through your OnePageCRM to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Migrations under 5,000 Contacts, 1,000 Deals, and no custom objects land between two and four weeks. Migrations with custom company and deal fields, large Next Action histories (over 50,000 dated tasks), or complex organization-company relationship graphs move to five to eight weeks because of schema pre-creation in Twenty, relationship resolution, and QA reconciliation. Timeline depends more on data quality and custom field count than on record volume alone.

Adjacent paths

Related migrations to explore

Ready when you are

Move from OnePageCRM.
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