CRM migration
Field-level mapping, validation, and rollback between InTouch CRM and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
InTouch CRM
Source
Twenty CRM
Destination
Compatibility
8 of 12
objects map 1:1 between InTouch CRM and Twenty CRM.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from InTouch CRM to Twenty CRM is a data-model migration with an open-source destination. InTouch CRM stores contacts, companies, deals, and activities within user-defined pipelines, and CSV-based import is the primary documented path for both extraction and loading. Twenty CRM uses a People, Company, and Opportunity object model that aligns structurally with InTouch but differs in terminology: InTouch's Deal maps to Twenty's Opportunity, and InTouch's Activity maps to Twenty's Task or Note depending on type. We extract from InTouch via CSV export, transform field names and formats to match Twenty's expected column headers, pre-create all custom fields in Twenty's Data Model before import, and load records in dependency order (Company first, then People, then Opportunity, then Activities). InTouch Workflows, automation rules, and custom forms do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Twenty's settings.
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 InTouch 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.
InTouch CRM
Contact
Twenty CRM
People
1:1InTouch Contact records map directly to Twenty People. The InTouch contact's name fields (first name, last name, salutation) map to Twenty's nameComponents. Email, phone, and address fields map to the corresponding standard fields on People. We extract the contact's associated Company reference and use it as the link to the Twenty Company record during People import.
InTouch CRM
Company
Twenty CRM
Company
1:1InTouch Company records map directly to Twenty Company. The company name becomes the Twenty Company display name. Domain, industry, and address fields migrate to the corresponding standard fields. Company is imported before People so that the relationship lookup is satisfied at the moment of People insert.
InTouch CRM
Deal
Twenty CRM
Opportunity
1:1InTouch Deal records map to Twenty Opportunity. The deal name maps to Opportunity name. Deal amount, expected close date, and pipeline stage map to the corresponding Opportunity fields. We resolve the associated Contact (as the Opportunity's primary person link) and the associated Company at migration time using the lookup relationships.
InTouch CRM
Pipeline
Twenty CRM
Opportunity Stage
lossyInTouch's user-defined pipelines and their stage labels (Open, Qualified, Proposal Sent, Won, Lost) map to Twenty's Opportunity stage values. Each InTouch pipeline becomes a set of stage values in Twenty's Data Model. We preserve the stage ordering and probability percentages where InTouch exposes them. Closed-won and closed-lost reasons from InTouch migrate as custom picklist fields on Opportunity.
InTouch CRM
Activity (Task)
Twenty CRM
Task
1:1InTouch activities with a task type map to Twenty Task. The activity subject, description, due date, and status migrate to the corresponding Task fields. We set the Task assignee by resolving the InTouch activity owner email to a Twenty User. Activity timestamps are preserved on the Task's ActivityDate for timeline ordering.
InTouch CRM
Activity (Note)
Twenty CRM
Note
1:1InTouch activities with a note type map to Twenty Note. The note body migrates as the Note content, and the note title becomes the Note title. Notes are linked to the parent People, Company, or Opportunity record via Twenty's relationship model.
InTouch CRM
Activity (Call)
Twenty CRM
Task (TaskSubtype = Call)
1:1InTouch call activity records map to Twenty Task with TaskSubtype set to Call. Call duration and disposition migrate to custom Task fields if present in the InTouch export. ActivityDate is preserved from the original InTouch timestamp.
InTouch CRM
Activity (Meeting)
Twenty CRM
Task (Meeting type)
1:1InTouch meeting activities map to Twenty Task records with a meeting type flag. The meeting title, description, start time, and end time migrate to the corresponding Task fields. Attendee information from InTouch migrates as additional Note records or as custom multi-select fields on the Task.
InTouch CRM
Custom Field (Contact)
Twenty CRM
Custom Field (People)
lossyInTouch custom fields defined on Contact map to custom fields on Twenty People. Field types are translated: InTouch text fields become Twenty text fields, picklist fields become select fields, date fields become date fields. Custom fields must be pre-created in Twenty Settings → Data Model before CSV import; the CSV import creates records, not fields.
InTouch CRM
Custom Field (Deal)
Twenty CRM
Custom Field (Opportunity)
lossyInTouch custom fields defined on Deal map to custom fields on Twenty Opportunity. We preserve field labels, data types, and any picklist option values. The same pre-creation requirement applies: custom fields must exist in Twenty before the Opportunity CSV import runs.
InTouch CRM
Owner
Twenty CRM
User
1:1InTouch Owner records map to Twenty User accounts. We resolve owners by email match. The customer's admin must invite all team members to Twenty and wait for acceptance before importing any records with owner references. Owners without a matching Twenty User go to a reconciliation queue for manual provisioning.
InTouch CRM
Multi-Company Contact Link
Twenty CRM
Company (Multiple)
1:manyInTouch supports multi-company contact management, where a single contact is linked to multiple companies. Twenty's data model links a People record to one primary Company but allows additional company associations via custom fields or linked records. We preserve all company associations during migration and flag any multi-company links that require a custom configuration in Twenty.
| InTouch CRM | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline | Opportunity Stagelossy | Fully supported | |
| Activity (Task) | Task1:1 | Fully supported | |
| Activity (Note) | Note1:1 | Fully supported | |
| Activity (Call) | Task (TaskSubtype = Call)1:1 | Fully supported | |
| Activity (Meeting) | Task (Meeting type)1:1 | Fully supported | |
| Custom Field (Contact) | Custom Field (People)lossy | Fully supported | |
| Custom Field (Deal) | Custom Field (Opportunity)lossy | Fully supported | |
| Owner | User1:1 | Fully supported | |
| Multi-Company Contact Link | Company (Multiple)1:many | 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.
InTouch CRM gotchas
CSV-based import is the primary documented data path
Stage and pipeline label drift across customer instances
Limited custom-object surface
All-in-one bundling means multiple modules' data must be reconciled
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 InTouch data audit
We audit the InTouch CRM workspace across the current subscription tier, identifying all object types in use (Contacts, Companies, Deals, Activities), the count of pipeline stages, the set of custom fields on each object, the volume of activity history records, and any InTouch-specific configurations such as GDPR consent fields, multi-company contact links, or PBX integration data. We export a sample CSV from each object type to validate field header completeness and timestamp formats before committing to a full extraction plan. The discovery output is a written migration scope and a data quality assessment that flags duplicates, outdated records, and unused custom fields for the customer to decide whether to include or exclude.
Twenty workspace preparation
Before any data import, we set up the Twenty workspace. This includes creating all custom fields identified during discovery in Settings → Data Model on the People, Company, and Opportunity objects with correct field types and picklist options. We configure the Opportunity stage values to reflect the InTouch pipeline structure. We invite all team members via Settings → Members and wait for acceptance confirmation. We do not proceed to record import until all required fields exist and all owner references can be resolved to a Twenty User.
Data export from InTouch CRM
We extract data from InTouch CRM via CSV export per object type: Companies first, then Contacts, then Deals, then Activities. Each CSV is validated against the in-app record count to confirm completeness. We extract the full activity history including calls, meetings, tasks, and notes with their associated timestamps. We flag any fields that do not appear in the CSV headers and request additional exports or manual data pulls if the standard export does not cover all required fields.
Data transformation and field mapping
We transform the InTouch CSV exports to match Twenty's expected column headers and data formats. This includes mapping InTouch field names to Twenty field API names, splitting full-name fields into first and last name components for People, resolving InTouch multi-company contact links to Twenty's Company relationship model, remapping InTouch pipeline stage labels to Twenty Opportunity stage values, and converting date formats to ISO 8601. We apply the data quality decisions from discovery—excluding test records, outdated contacts, and unused custom fields—during the transform phase.
Staged import into Twenty
We import records into Twenty in dependency order: Companies first (as the foundation for lookup relationships), then People with CompanyId resolved, then Opportunities with CompanyId and primary PeopleId resolved, then Tasks and Notes with their parent record references resolved. Each phase emits a row-count reconciliation report comparing the InTouch source count to the Twenty destination count. We resolve any orphaned records—People without a Company, Opportunities without a primary contact—by either creating placeholder Company records or holding them in a queue for the customer to map manually.
Cutover, validation, and handoff
We freeze InTouch CRM writes during the cutover window and run a final delta migration of any records created or modified since the initial extraction. We enable Twenty as the system of record and deliver the Workflow and automation inventory document to the customer's admin team. We support a five-business-day hypercare window to resolve reconciliation issues reported by the customer's team. We do not rebuild InTouch Workflows as Twenty configurations inside the migration scope; that work is documented for the customer's admin to handle separately.
Platform deep dives
InTouch CRM
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across InTouch CRM and Twenty CRM.
Object compatibility
1 of 8 objects need a manual workaround.
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
InTouch CRM: Not publicly documented.
Data volume sensitivity
InTouch 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 InTouch CRM to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your InTouch 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 InTouch 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.