CRM migration
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
Source
Twenty CRM
Destination
Compatibility
10 of 12
objects map 1:1 between Intrix CRM and Twenty CRM.
Complexity
BStandard
Timeline
4-6 weeks
Overview
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.
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 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
Twenty CRM
Company
1:1Intrix 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
Twenty CRM
People
1:1Intrix 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
Twenty CRM
Opportunity
1:1Intrix 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
Twenty CRM
Opportunity Stage
lossyIntrix 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
Twenty CRM
Task and Note
1:1Intrix 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
Twenty CRM
Custom Object or Opportunity
lossyIntrix 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)
Twenty CRM
Custom Object Record or Task
1:1Intrix 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
Twenty CRM
Custom Fields on People or Custom Object
1:1Working 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
Twenty CRM
Custom Object
1:1The 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
Twenty CRM
Custom Field
1:1Intrix 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
Twenty CRM
Attachment or File
1:1Attachments 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
Twenty CRM
WorkspaceMember
1:1Intrix 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.
| Intrix CRM | Twenty CRM | Compatibility | |
|---|---|---|---|
| Client | Company1:1 | Fully supported | |
| Contact | People1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully supported | |
| Activity | Task and Note1:1 | Fully supported | |
| Project | Custom Object or Opportunitylossy | Fully supported | |
| Task (Project-linked) | Custom Object Record or Task1:1 | Fully supported | |
| Working Hours Record | Custom Fields on People or Custom Object1:1 | Fully supported | |
| Support Ticket | Custom Object1:1 | Fully supported | |
| Custom Field | Custom Field1:1 | Fully supported | |
| Attachment | Attachment or File1:1 | Fully supported | |
| User | WorkspaceMember1: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.
Intrix CRM gotchas
No public API for automated export or import
Tier-gated modules affect what data exists
Project task dependencies require ordered import
Trial data deletion after 30 days
Limited integrations create data silos
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 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.
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.
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.
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.
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.
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
Intrix CRM
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 Intrix CRM 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
Intrix CRM: Not publicly documented.
Data volume sensitivity
Intrix CRM 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 Intrix CRM to Twenty CRM migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Intrix CRM
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.