CRM migration

Migrate from InTouch CRM to Twenty CRM

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 logo

InTouch CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

67%

8 of 12

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

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

InTouch CRM logo

InTouch CRM

What's pushing teams away

  • Limited advanced customization — Capterra UK reviewers cite the lack of flexible reporting, integrations, and dashboard customization as the main reason teams outgrow the platform.
  • Integration ecosystem is narrow compared to mainstream SMB CRMs (HubSpot, Pipedrive, Zoho), pushing teams with custom tech stacks to switch.
  • Reporting and analytics are basic, prompting data-driven teams to move to platforms with richer BI integration.
  • Small public review base (mostly Capterra UK) limits peer-reference signal, making procurement teams hesitant when scaling up.
  • No publicly documented bulk API restricts modern automation workflows, so power users hit the integration ceiling earlier than on platforms with open developer ecosystems.

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

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

maps to

Twenty CRM

People

1:1
Fully supported

InTouch 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

maps to

Twenty CRM

Company

1:1
Fully supported

InTouch 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

maps to

Twenty CRM

Opportunity

1:1
Fully supported

InTouch 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

maps to

Twenty CRM

Opportunity Stage

lossy
Fully supported

InTouch'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)

maps to

Twenty CRM

Task

1:1
Fully supported

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

maps to

Twenty CRM

Note

1:1
Fully supported

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

maps to

Twenty CRM

Task (TaskSubtype = Call)

1:1
Fully supported

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

maps to

Twenty CRM

Task (Meeting type)

1:1
Fully supported

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

maps to

Twenty CRM

Custom Field (People)

lossy
Fully supported

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

maps to

Twenty CRM

Custom Field (Opportunity)

lossy
Fully supported

InTouch 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

maps to

Twenty CRM

User

1:1
Fully supported

InTouch 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

maps to

Twenty CRM

Company (Multiple)

1:many
Fully supported

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

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.

InTouch CRM logo

InTouch CRM gotchas

High

CSV-based import is the primary documented data path

Medium

Stage and pipeline label drift across customer instances

Medium

Limited custom-object surface

Low

All-in-one bundling means multiple modules' data must be reconciled

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

  • InTouch has no documented bulk API for direct export

    InTouch CRM does not appear in third-party integration directories with a documented bulk export API. The primary documented extraction path is CSV export per object type from within the platform's data management settings. This means we must sequence CSV exports for each object (Companies, Contacts, Deals, Activities) separately, which adds time compared to CRM platforms with bulk endpoints. We extract each object type individually, validate completeness against the in-app record count, and then proceed to transformation and import. Teams with large activity histories (over 50,000 records) should expect the CSV export and validation steps to extend the timeline by one to two weeks.

  • Twenty requires custom fields to exist before CSV import

    Twenty's CSV import creates records but not fields. During scoping, we identify every InTouch custom field that carries business-critical data and create corresponding fields in Twenty Settings → Data Model before any data import runs. If a custom field is referenced in the CSV but does not exist in Twenty, the import silently skips those values or errors out depending on the field configuration. We audit the InTouch data model during discovery, pre-create all required custom fields on People, Company, and Opportunity, and verify field types match (text, select, date, number) before loading.

  • Twenty has no native workflow or automation engine as of v2.0

    InTouch Professional and Enterprise tiers include workflow automation capabilities that trigger actions based on pipeline events, field changes, or time-based conditions. Twenty v2.0 does not include a native workflow automation engine; views, permissions, and conditional display rules must be configured manually in Twenty settings. We do not migrate InTouch Workflows as code. We deliver a written inventory of every active InTouch Workflow with its trigger, conditions, and actions, and the customer's admin rebuilds the equivalent logic manually in Twenty or via a third-party automation tool integrated with Twenty's API.

  • User accounts must be provisioned in Twenty before importing owner-linked records

    Twenty requires that any User referenced as an Owner on a record (People, Company, Opportunity, Task) must exist in the workspace before the import can resolve the relationship. InTouch Owner emails must map to invited Twenty User accounts. We extract the distinct owner list from InTouch during discovery, verify that the customer has invited each owner to Twenty, and hold any records with unresolvable owner references in a reconciliation queue. Migration cannot complete past the People and Opportunity load phases until all owner references are satisfied.

  • Activity timestamp preservation depends on InTouch schema support

    InTouch stores activity timestamps in its activity history log, but the exported CSV may expose these as formatted strings rather than structured datetime fields. We validate the timestamp format during the CSV extraction phase and transform to ISO 8601 datetime before loading into Twenty. If InTouch does not expose a creation or modification timestamp for a given activity type, we set the Twenty Task or Note creation date to the import date and note the limitation in the reconciliation report.

Migration approach

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

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

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

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

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

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

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

Context on both ends of the pair

InTouch CRM logo

InTouch CRM

Source

Strengths

  • All-in-one bundling of CRM, email marketing, direct mail, SMS, surveys, contact management, and task tracking in one platform
  • Strong fit for UK small businesses — Capterra UK reviewers consistently highlight ease of use and customer support
  • Flat per-user pricing keeps costs predictable as small teams grow
  • Automation features for email marketing, task tracking, and customer segmentation work out of the box
  • Email-to-CRM workflow described as seamless by users, useful for marketing-led small businesses

Weaknesses

  • Limited advanced customization options for reporting, dashboards, and integrations
  • No publicly indexed bulk API or developer portal
  • Small public review footprint outside Capterra UK
  • Custom objects beyond standard CRM entities are not supported
  • Vendor's UK focus may not suit US/international teams expecting global feature parity
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?

Moderate CRM migration. 1 of 8 objects need a manual workaround.

C

Overall complexity

Moderate migration

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

  • Object compatibility

    D

    1 of 8 objects need a manual workaround.

  • 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

    InTouch CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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 consultation

Most migrations land between three and five weeks for accounts under 10,000 Contacts and 2,000 Deals with no custom objects and straightforward pipeline structures. Migrations with custom fields across multiple objects, large activity histories (over 100,000 records), or complex InTouch pipeline configurations requiring stage remapping extend to eight to twelve weeks. The primary timeline driver for this pair is InTouch's lack of a bulk API, which requires sequential CSV exports per object type rather than a single programmatic pull.

Adjacent paths

Related migrations to explore

Ready when you are

Move from InTouch 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