CRM migration

Migrate from Touchpoint MX to Twenty CRM

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

Touchpoint MX logo

Touchpoint MX

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

80%

8 of 10

objects map 1:1 between Touchpoint MX and Twenty CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Touchpoint MX to Twenty CRM is a journey from a specialized CX mapping platform into a general-purpose open-source CRM with a flexible custom data model. Touchpoint MX organizes customer interactions through Journey Maps and multi-channel messaging; Twenty CRM organizes data through Person, Company, and Opportunity objects with a metadata-driven custom object layer. Touchpoint MX has no publicly documented API, so we extract via CSV export and UI-driven extraction where available. Journey Map stage labels require remapping because Twenty has no native journey concept. Satisfaction Scores and Feedback Records land as custom fields and Notes respectively. We do not migrate Touchpoint MX integrations, Message Templates as reusable objects, or Journey Map logic as automation. We deliver a written reference inventory of every active integration, template, and workflow requiring 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

Touchpoint MX logo

Touchpoint MX

What's pushing teams away

  • Reporting lacks advanced filtering and segmentation — users must export data to build stakeholder-specific dashboards, and tracking by journey stage or revenue impact is not native.
  • Limited dashboard customization for business cases — reviewers request more flexible reporting to make a stronger ROI case for CX improvements internally.
  • Email delivery speed inconsistencies — at least one reviewer noted emails sometimes take a long time to be delivered, which matters for time-sensitive campaigns.

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

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

Touchpoint MX

Contact

maps to

Twenty CRM

Person

1:1
Fully supported

Touchpoint MX Contact records map to Twenty Person records. Standard fields (name, email, phone) migrate directly. Touchpoint MX custom field values on Contacts map to Twenty custom fields on the Person object. We detect all active custom fields during scoping, create equivalent custom fields in Twenty Settings → Data Model before import, then populate values during the Person import. Owner assignments on Contacts map to Twenty workspace Members resolved by email match.

Touchpoint MX

Journey Map

maps to

Twenty CRM

Person (custom fields)

lossy
Fully supported

Touchpoint MX Journey Maps define custom stage labels (e.g., Awareness, Consideration, Decision, Retention) per organization. Twenty has no native journey concept, so we flatten each Journey Map stage label into a custom picklist field on the Person object (e.g., current_journey_stage__c). Stage transitions and timestamps migrate as additional custom fields (e.g., stage_entered_date__c). We produce a stage mapping table for customer approval before data lands, to prevent Contacts landing in the wrong lifecycle bucket.

Touchpoint MX

Channel

maps to

Twenty CRM

Person (communication preferences custom fields)

1:1
Fully supported

Touchpoint MX supports Email, SMS, and Voice channels per Contact. We map active channel assignments to Twenty Person communication preference custom fields (email_opt_in__c, sms_opt_in__c, voice_opt_in__c). Channel history and delivery metadata are preserved as custom fields on the Person record or as Notes if the customer requires a chronological log.

Touchpoint MX

Satisfaction Score

maps to

Twenty CRM

Person (rating custom field)

1:1
Fully supported

Touchpoint MX Satisfaction Scores (numeric ratings tied to Contacts or specific interactions) map to a Twenty Person custom field (e.g., satisfaction_score__c) with timestamps preserved in a companion date field (satisfaction_score_date__c). If the score is tied to a specific interaction rather than the Contact overall, we attach a Note to the Person record with the interaction context and score.

Touchpoint MX

Feedback Record

maps to

Twenty CRM

Note

1:1
Fully supported

Touchpoint MX Feedback Records (structured customer responses and comments) map to Twenty Note records linked via ContentDocumentLink to the parent Person. The Feedback text, date collected, and any associated rating migrate as Note title, body, and creation date. Feedback records tied to specific Journey Map stages are linked to the corresponding Person stage field via a custom reference in the Note body.

Touchpoint MX

Message Template

maps to

Twenty CRM

Note (reference inventory)

1:1
Fully supported

Touchpoint MX Message Templates (reusable outbound content with subject lines and personalization tokens) are exported as a structured reference document because Twenty has no native template management object. We deliver a written template inventory with template content, subject lines, token placeholders, and channel assignment. The customer's admin decides whether to store templates in Twenty Notes, a connected document tool, or a separate template management system.

Touchpoint MX

Custom Field (Contact-level)

maps to

Twenty CRM

Custom Field (Person)

lossy
Fully supported

Touchpoint MX custom fields on Contacts have Manager-only, Attendee-only, or Everyone visibility settings. We export all custom field values regardless of visibility during extraction. In Twenty, custom fields have workspace-level visibility only. We map to the most permissive read setting available in Twenty to avoid data suppression. All custom fields must be created in Settings → Data Model before the Person import; the CSV import creates records only, not fields.

Touchpoint MX

User / Team Member

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Touchpoint MX User accounts are mapped by email and display name to Twenty WorkspaceMembers. We extract the full user list during scoping and create a Member mapping table. Owner assignments on Contacts and Journey Records resolve via email match. Users without a matching Twenty account go to a reconciliation queue for the customer's admin to provision before Person import begins.

Touchpoint MX

Attachment

maps to

Twenty CRM

File

1:1
Fully supported

Attachments associated with Contacts or Feedback records in Touchpoint MX are exported as files and re-associated in Twenty as File records linked via ContentDocumentLink to the parent Person. Large attachment volumes are chunked to avoid extraction timeout. We flag any file that exceeds Twenty's attachment size limits during scoping.

Touchpoint MX

Integration

maps to

Twenty CRM

(reference inventory only)

1:1
Fully supported

Touchpoint MX integrations (connected apps, OAuth tokens, webhook endpoints) are bound to the source account and cannot be exported or transferred. We do not migrate integration credentials. We export a written integration checklist listing every active Touchpoint MX integration with connection type, authentication method, and endpoint URL so the customer's admin can re-establish each integration in Twenty manually.

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.

Touchpoint MX logo

Touchpoint MX gotchas

High

No public API documentation in CSV

Medium

Journey Map stage labels require remapping

Medium

Integration tokens and OAuth credentials do not transfer

Low

Custom Fields use permission-gated visibility settings

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

  • Touchpoint MX has no public API; extraction requires CSV or UI export

    The research and source platform documentation confirm no public API reference, authentication method, rate limits, or bulk export endpoints exist for Touchpoint MX. Extraction must proceed via UI-based export, CSV download, or any internal API access the customer can provide. Without an API, we cannot guarantee field coverage or automated incremental extraction. We request the customer share any internal API documentation or confirm the available export method during scoping. If only UI exports are available, record volume limits and field completeness are constrained and noted in the scope document before extraction begins.

  • Twenty custom fields must be created before import; CSV import creates records not fields

    Twenty's CSV import functionality creates records, not fields. During migration from Touchpoint MX, every custom field present on Contacts and Journey Maps must be pre-created in Settings → Data Model before the Person import runs. If a custom field is missing, its values are silently dropped during import. We audit every Touchpoint MX custom field during scoping, document the required Twenty field name, type, and options, and create the full schema in Twenty's Data Model before any data import begins. This adds a manual pre-creation step that must complete before the automated migration phases run.

  • Journey Map stage labels have no native equivalent in Twenty; mapping requires manual approval

    Touchpoint MX Journey Maps use a custom stage taxonomy defined by each organization. Twenty has no native journey concept and no standard Person lifecycle stage field. We flatten Journey Map stage labels into a custom Person picklist field (current_journey_stage__c). The mapping from each Touchpoint MX stage label to a Twenty stage value must be approved by the customer's admin before data lands, because stage assignment affects segmentation, automation triggers, and reporting in Twenty. Incorrect mapping causes Contacts to land in the wrong lifecycle bucket, which cascades to downstream reporting errors.

  • Integration credentials and OAuth tokens do not transfer; integrations must be rebuilt manually

    Touchpoint MX integrations are bound to the source account and cannot be exported or transferred to Twenty CRM. Any connected third-party app, OAuth token, or webhook endpoint configured in Touchpoint MX must be re-established manually in Twenty using the integration's credentials in the destination. We export a complete integration inventory with connection type, endpoint, and authentication details so the customer's admin has a checklist for rebuilding. This is configuration work outside the data migration scope and is the customer's responsibility to execute.

Migration approach

Six steps for a successful Touchpoint MX to Twenty CRM data migration

  1. Discovery and extraction method confirmation

    We audit Touchpoint MX across all active objects: Contacts, Journey Maps, Channels, Message Templates, Satisfaction Scores, Feedback Records, custom fields, user list, and attachments. We confirm the available extraction method with the customer. If Touchpoint MX provides an internal API or CSV export capability, we use it for structured extraction. If only UI-driven export is available, we document field coverage constraints and adjust scope accordingly. We produce a written migration scope document identifying every object, field, and record count before any extraction begins.

  2. Twenty workspace preparation and schema creation

    We configure the Twenty workspace before any data arrives. This includes creating all custom fields (via Settings → Data Model) that map from Touchpoint MX Contact custom fields, Journey Map stage fields, and Satisfaction Score fields. We create a Person custom field for each Touchpoint MX Contact custom field detected during scoping, using the nearest matching Twenty field type. We also invite all workspace Members matching the Touchpoint MX user list so that Owner lookups resolve during import. We validate the custom field schema in a pre-migration test before production data loads begin.

  3. Data extraction and transformation

    We extract data from Touchpoint MX using the confirmed export method. Each object is extracted independently to preserve record-level relationships. Journey Map stages are transformed into flat Person custom field values with stage entry dates. Channel assignments are transformed into communication preference flags. Feedback Records are extracted as structured rows with Person reference. All extraction output is validated for completeness, field coverage, and date format consistency before transformation begins.

  4. Sandbox migration and mapping reconciliation

    We run a full migration into a Twenty sandbox environment (or a staging workspace for cloud instances) using production-like data volume. The customer's admin reviews Person records, custom field values, Journey Map stage assignments, Satisfaction Scores, and Notes. We reconcile row counts against the source export and spot-check 20-30 records for field-level accuracy. Any missing custom fields, incorrect stage mappings, or data quality issues are corrected before the production migration phase. This step prevents data quality problems from reaching the live CRM.

  5. Production migration in dependency order

    We run production migration in record-dependency order. Person records with all custom fields load first. Notes attached to Persons load second. Attachments load third, linked to the correct Person records via ContentDocumentLink. Each phase emits a row-count reconciliation report before the next phase begins. We freeze Touchpoint MX writes during the cutover window and run a final delta extraction to capture any records modified during the migration.

  6. Cutover, validation, and integration rebuild handoff

    We enable Twenty as the system of record after the final delta load. We deliver the Integration Rebuild Checklist (listing every Touchpoint MX integration to reconfigure in Twenty), the Message Template Reference Inventory (documenting all Touchpoint MX templates for manual recreation), and the Journey Map Stage Mapping Table (showing the approved stage label to custom field value mapping). We support a one-week hypercare window for reconciliation issues. We do not rebuild Touchpoint MX automations or workflow logic inside the migration scope; that work is documented for the customer's admin.

Platform deep dives

Context on both ends of the pair

Touchpoint MX logo

Touchpoint MX

Source

Strengths

  • User-friendly interface praised across multiple review sources for minimal learning curve
  • Strong customer support ratings with responsive onboarding assistance
  • Multi-channel messaging capability (Email, SMS, Voice) from one platform
  • Centralized feedback collection and journey mapping for cross-team alignment
  • Competitive pricing with contact-vendor model, positioned below HubSpot on per-user cost

Weaknesses

  • Native reporting lacks advanced filtering, segmentation, and customization
  • No native stakeholder dashboard builder — users export to BI tools for custom views
  • Email delivery speed is inconsistent according to at least one reviewer
  • Integration setup requires manual reconfiguration when migrating platforms
  • Limited review volume (3 on Capterra) makes it harder to validate fit before purchase
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 Touchpoint MX 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

    Touchpoint MX: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Migrations land between three and five weeks for accounts under 10,000 Contacts, a single Journey Map taxonomy, and fewer than 50 custom fields. Migrations with multiple Journey Map stage sets, high-volume Feedback Records, or large attachment libraries move into six to ten weeks because of manual extraction effort, custom field pre-creation, and stage mapping approval cycles. Timeline does not include post-migration integration rebuild work, which is the customer's responsibility.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Touchpoint MX.
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