CRM migration

Migrate from Intrix CRM to Twenty CRM

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

Intrix CRM logo

Intrix CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

83%

10 of 12

objects map 1:1 between Intrix CRM and Twenty CRM.

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Intrix CRM to Twenty CRM is a CSV-heavy migration because Intrix exposes no public REST API for external data access. All source data must be exported object-by-object from the Intrix UI, transformed to match Twenty's GraphQL import format, and loaded through Twenty's CSV import interface. We extract Intrix Clients and map them to Twenty Companies, resolve the Contact-to-Company parent relationship by matching on Client ID or name, migrate Opportunities to Twenty Opportunities, and sequence Projects with their task dependency graph so that predecessor tasks land before child tasks. Working Hours Records from Advanced and Unlimited tier accounts map to Twenty custom fields since Twenty has no native time-tracking object. Support tickets migrate as a custom object if the destination workspace is pre-configured. We do not migrate Workflows, Sequences, or Integrations; we deliver a written inventory of Intrix automation rules and active integration connections for manual rebuild in Twenty.

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

Intrix CRM logo

Intrix CRM

What's pushing teams away

  • Limited third-party app marketplace creates integration gaps, especially with legacy ERP and accounting systems that mid-market teams rely on.
  • Lack of a public API documented for external migration tools makes automated export and import difficult and manual CSV-heavy.
  • Stale data accumulates when teams lack integration with email platforms and marketing tools they have already standardized on.
  • Smaller market presence and review volume compared to HubSpot or Pipedrive makes it harder to find peer feedback and specialist support.
  • Scale constraints emerge as teams grow custom fields and automation complexity beyond what the platform comfortably handles.

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

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

Intrix CRM

Client

maps to

Twenty CRM

Company

1:1
Fully supported

Intrix Clients are the primary entity and map directly to Twenty Companies. We extract Client records with their name, industry, address, phone, email, and any 360° overview custom fields stored against the client record. The Client ID is preserved as a reference field to support Contact-to-Company lookups during the Contact import phase. Company domain from any stored URL maps to the Twenty Website field.

Intrix CRM

Contact

maps to

Twenty CRM

People

1:1
Fully supported

Intrix Contacts are stored as separate records linked to a Client via Client ID or name. We extract Contacts with first name, last name, email, phone, title, department, and any custom fields. During import into Twenty People, we resolve the parent Company by matching on the Client reference or Company name field so that the People record attaches to the correct Company in Twenty's relationship graph.

Intrix CRM

Opportunity

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Intrix Opportunities map to Twenty Opportunities with a 1:1 field mapping: opportunity name, stage, value (amount), expected close date, owner assignment, and description migrate directly. Custom stage names in Intrix require a stage-value mapping table that we build during scoping, then configure in Twenty's pipeline definition before migration begins.

Intrix CRM

Pipeline Stage

maps to

Twenty CRM

Opportunity Stage

lossy
Fully supported

Intrix uses a configurable pipeline stage model with customer-specific stage names and order. We extract the customer's active stage configuration from Intrix during audit and recreate it in Twenty's pipeline settings. Probability values per stage migrate from Intrix to Twenty StageProbability fields. Stage order is enforced through Twenty's stage sequencing on the Opportunity object.

Intrix CRM

Activity

maps to

Twenty CRM

Task and Note

1:1
Fully supported

Intrix Activities (calls, emails, meetings, and tasks logged against Clients or Opportunities) migrate to Twenty Tasks and Notes. We extract the full activity history including timestamps, owners, descriptions, and the linked record reference. Activity type determines the target object: logged calls and tasks become Tasks; standalone notes become Notes. Owner resolution uses email matching against the Twenty workspace Members list.

Intrix CRM

Project

maps to

Twenty CRM

Custom Object or Opportunity

lossy
Fully supported

Intrix Projects contain Tasks with dependencies and deadline automation. Twenty does not have a native Project object, so Projects require a destination design decision during scoping: either map to a Twenty Custom Object named Projects, or roll project milestones into Opportunities with custom fields for milestone tracking. The choice depends on how the customer uses Intrix Projects day-to-day.

Intrix CRM

Task (Project-linked)

maps to

Twenty CRM

Custom Object Record or Task

1:1
Fully supported

Intrix Tasks with predecessor dependencies inherit from their parent Project. We extract the full dependency graph (which task depends on which) and sequence imports so that parent tasks are inserted into Twenty before child tasks. In Twenty, dependencies must be recreated manually via custom fields (e.g., depends_on__c) or through a project management integration since Twenty lacks a native dependency model for Tasks.

Intrix CRM

Working Hours Record

maps to

Twenty CRM

Custom Fields on People or Custom Object

1:1
Fully supported

Working Hours Records are only available on Intrix Advanced and Unlimited tiers. WHR data includes hours logged, date, employee reference, and any notes. Twenty has no native time-tracking object, so WHR records map to custom fields on the People object (e.g., wthr_total_hours__c) or to a dedicated Custom Object named Working Hours. The customer's Intrix tier must be confirmed during scoping to determine whether WHR data exists to migrate.

Intrix CRM

Support Ticket

maps to

Twenty CRM

Custom Object

1:1
Fully supported

The Intrix Support module is a €2/user/month add-on on Advanced and Unlimited tiers. Tickets include status, assignee, email thread history, and custom fields. Twenty has no native ticketing object, so tickets migrate to a pre-configured Custom Object (e.g., Ticket) with fields for ticket ID, subject, status, assignee, description, and email thread flattened into a long-text Notes field. Email thread flattening is handled with a custom parser that consolidates threaded emails into a single body.

Intrix CRM

Custom Field

maps to

Twenty CRM

Custom Field

1:1
Fully supported

Intrix custom fields on Clients, Contacts, Opportunities, Projects, and Activities migrate to Twenty custom properties on the equivalent object. We extract the full custom field schema per object during audit, including field type (text, number, date, dropdown, checkbox), required flag, and any picklist values. Custom fields must be pre-created in Twenty Settings → Data Model before the data import phase begins; the CSV import creates records but not fields.

Intrix CRM

Attachment

maps to

Twenty CRM

Attachment or File

1:1
Fully supported

Attachments stored per Client, Contact, or Project in Intrix are downloaded individually and re-uploaded to the corresponding Company, People, or Opportunity record in Twenty. File-per-record structure means that migrations with large attachment volumes require a bulk download step that can extend the timeline. We document the attachment count during audit and advise on storage planning for the Twenty hosting environment.

Intrix CRM

User

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Intrix User records include access levels and role assignments. We map Intrix users to Twenty Workspace Members by email match. Owner assignments on Opportunities, Projects, and Tasks migrate by resolving the Intrix owner reference to the corresponding Twenty Member. Inactive Intrix users require explicit handling: their records are assigned to an active user or marked as unassigned pending admin review.

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.

Intrix CRM logo

Intrix CRM gotchas

High

No public API for automated export or import

Medium

Tier-gated modules affect what data exists

Medium

Project task dependencies require ordered import

High

Trial data deletion after 30 days

Low

Limited integrations create data silos

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

  • Intrix has no public API — all migration relies on manual CSV export

    Intrix does not publish a REST API endpoint for external data access. Every object (Clients, Contacts, Opportunities, Projects, Activities) must be exported manually as separate CSV files from the Intrix UI. We download each object individually, parse the CSV, and re-import into Twenty via its CSV import interface. Any delta re-sync after migration must be handled by re-exporting the changed records manually from Intrix. For migrations above 5,000 records, the manual export step adds significant effort and extends the timeline compared to migrations from platforms with APIs.

  • Project task dependencies require explicit sequencing during import

    Intrix enforces task completion logic based on predecessor dependencies — a task cannot be marked complete if its dependency is still open. When migrating Projects, we extract the dependency graph and order imports so that parent tasks land in Twenty before child tasks. If child tasks are imported before their predecessors, they enter Twenty in an unresolvable incomplete state because Twenty has no native dependency enforcement model. We flag this as a migration risk and test the sequence against a subset before the full production import.

  • Dirty data multiplies through migration if not pre-cleaned

    Incomplete customer records, duplicate entries, and inconsistent formatting that Intrix never flagged become magnified when moved into Twenty's cleaner schema. Intrix stores address and phone formats loosely; Twenty enforces stricter validation. We run a data quality audit before migration begins, deduplicate on email and company name, normalize phone formats to E.164, and standardize date fields to YYYY-MM-DD. Migrations that skip cleanup carry the same reporting and relationship problems into Twenty.

  • Working Hours Records and Support Tickets exist only on paid Intrix tiers

    Working Hours Records require Intrix Advanced or Unlimited tier; Support Tickets require the add-on at €2/user/month on those same tiers. Clients on the Basic plan have no WHR or ticket data to migrate, and flagging their absence as a migration failure wastes time. We confirm the active Intrix tier during scoping and flag any modules that were not purchased so that the migration scope reflects only the data that actually exists.

  • Intrix trial accounts face 30-day data deletion

    If the Intrix account has not converted to a paid plan, Intrix locks the application after 30 days of trial expiry and deletes all data. We cannot recover trial data once the system has locked. For migrations involving trial accounts, we advise completing the CSV export before the 30-day window closes and prioritizing the migration into a paid Twenty environment. We confirm account status during the first discovery call to avoid discovering a locked account mid-migration.

Migration approach

Six steps for a successful Intrix CRM to Twenty CRM data migration

  1. Discovery and export planning

    We audit the Intrix account across tier (Basic, Advanced, Unlimited), active modules (WHR, Support), record counts per object, custom field schema per object, pipeline stage names, and active integrations (MailChimp, Google Calendar, AccountingBox). We also confirm whether the account is on a paid plan or trial to assess data deletion risk. The discovery output is a written migration scope document with a per-object record count estimate and a CSV export checklist for the customer to execute from the Intrix UI.

  2. Data export and quality audit

    The customer exports each Intrix object as a separate CSV file: Clients, Contacts, Opportunities, Projects, Tasks, Activities, and any WHR or Support Ticket data if the tier supports it. We receive the CSV files and run a data quality audit that identifies duplicate records, missing required fields, inconsistent date formats, and broken Contact-to-Client references. We return a data cleansing checklist with specific record IDs so the customer resolves issues in Intrix before we begin transformation.

  3. Twenty workspace configuration

    We configure the Twenty destination workspace before any data import. This includes creating custom objects (Projects, Tickets, Working Hours) if the migration scope includes them, adding all custom fields to standard objects (Company, People, Opportunity, Task), configuring pipeline stages and their probability values to match the Intrix stage configuration, and inviting all team members as Workspace Members so that owner references resolve at import time. Fields must exist in Twenty before CSV import begins; the import creates records, not fields.

  4. Schema mapping and transformation

    We build the field mapping document that links each Intrix CSV column to its Twenty equivalent. For every record, we resolve the parent reference: Contact Client ID maps to a Twenty Company lookup, Opportunity owner email maps to a Twenty WorkspaceMember ID, and Project-linked Tasks are tagged with their parent Project ID. We normalize phone numbers to E.164, dates to ISO format, and apply the Contact-to-Company split for any Contacts without an explicit Company reference by fuzzy-matching on company name.

  5. Test migration into a staging workspace

    We run a full migration into a Twenty staging environment using the CSV files provided. We reconcile record counts (Clients in, Companies in; Contacts in, People in; Opportunities in, Opportunities in), spot-check 25-50 records manually against the Intrix source, and validate that owner assignments, stage values, and custom field values landed correctly. Any mapping corrections are made before production migration begins. This step also validates that task dependency sequencing produces the expected parent-before-child ordering in Twenty.

  6. Production migration and cutover

    We run production migration in dependency order: Companies first (from Clients), then People (with CompanyId resolved), then Opportunities (with OwnerId resolved), then Tasks and Activities, then custom object records last. We freeze Intrix writes during the cutover window, run a final delta migration of any records modified during the migration window, then mark Twenty as the system of record. We deliver the integration inventory document (MailChimp, Google Calendar connections) for manual reconfiguration and the workflow automation list for the customer to rebuild in Twenty. We support a one-week hypercare window for reconciliation issues raised by the sales team.

Platform deep dives

Context on both ends of the pair

Intrix CRM logo

Intrix CRM

Source

Strengths

  • Tiered pricing from €27/user/month with no per-contact billing adds predictability for growing sales teams.
  • Combines CRM, project management, and HRM in one platform reducing tool sprawl for SMEs.
  • Mobile app with business card scanner and electronic signing keeps field teams productive offline and online.
  • Free minor customization adjustments during use lowers the cost of iterative configuration changes.
  • Working Hours Records module provides compliant time tracking for EU-based teams with attendance requirements.

Weaknesses

  • No publicly documented API endpoint means all migration work depends on manual CSV export and re-import.
  • Limited third-party integrations compared to HubSpot or Pipedrive restricts connectivity with existing tool stacks.
  • Support module and WHR are add-on costs on top of base tier pricing, inflating the real per-user cost.
  • Small review sample on G2 and GetApp makes it difficult to assess long-term user satisfaction and common pain points.
  • Project dependencies are powerful but complex to migrate — incorrect sequencing breaks task completion logic in the new system.
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. 2 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 Intrix CRM and Twenty CRM.

  • Object compatibility

    B

    2 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

    Intrix CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between four and six weeks for accounts under 10,000 records with Clients, Contacts, and Opportunities in scope. Migrations that include Intrix Projects with task dependencies, Working Hours Records, or Support Tickets extend to eight to twelve weeks because of custom object schema creation in Twenty, dependency sequencing testing, and attachment re-upload. The primary variable is how fast the customer completes the manual CSV exports from Intrix's UI, which has no API shortcut.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Intrix CRM.
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