CRM migration

Migrate from NEON-dX to Twenty CRM

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

NEON-dX logo

NEON-dX

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

67%

8 of 12

objects map 1:1 between NEON-dX and Twenty CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from NEON-dX to Twenty CRM is a data model decomposition as much as a record transfer. NEON-dX stores each customer as a unified 360-degree profile combining demographic, behavioral, and digital footprint data; Twenty CRM uses a Contact-Company architecture with a separate Activity timeline that requires splitting the source profile across multiple record types. We enumerate the live NEON-dX custom object schema via API, map predictive score configurations for rebuild in Twenty CRM's analytics layer, and preserve behavioral segment rules as static tag values since Twenty CRM has no native rule-based segmentation engine. Channel credentials require re-authentication post-migration because they are environment-scoped in NEON-dX and cannot be exported as-is. Workflows, journey orchestration, and AI-generated predictive scores do not migrate as code; we deliver written inventories for the customer's admin to rebuild in Twenty CRM's automation layer.

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

NEON-dX logo

NEON-dX

What's pushing teams away

  • Enterprise pricing and custom subscription negotiation create budget unpredictability, especially for mid-market teams that expected tiered SaaS pricing
  • Complex AI model outputs such as churn scores and propensity models require interpretation support that many teams lack internally
  • Integration with existing data warehouses and BI tools is limited to pre-built connectors, forcing custom ETL work for non-standard architectures
  • Onboarding onto the platform requires significant training and change management for teams accustomed to simpler marketing automation tools
  • Multi-channel journey orchestration across digital channels introduces technical complexity that exceeds the capabilities of typical marketing operations teams

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

Each row shows how a NEON-dX 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.

NEON-dX

Customer Profile (360° View)

maps to

Twenty CRM

Contact + Company (decomposition required)

1:many
Fully supported

NEON-dX's unified 360-degree profile stores demographic fields, behavioral signals, and digital footprint in a single record. Twenty CRM separates individuals into Contact and organizations into Company. We decompose the source profile by splitting demographic data (name, email, phone, address) onto Contact, organizational data (company name, industry, employee count, annual revenue) onto Company, and behavioral signals (engagement score, channel preferences, acquisition source) into custom fields on Contact. The Company is looked up or created first during migration so that the Contact-Company relationship is established at insert time. Any profile records without an organizational affiliation become standalone Contacts.

NEON-dX

Behavioral Segment

maps to

Twenty CRM

Tag or Custom Multi-Select Field

lossy
Fully supported

NEON-dX behavioral segments are defined by rule criteria evaluated against customer event streams. These rules cannot be replicated as a dynamic engine in Twenty CRM because the platform has no native event-stream segmentation. We migrate the segment membership snapshot as static Tag values (one tag per segment the contact was a member of at migration time) and deliver a written segment rule inventory with recommended tag-based equivalents in Twenty CRM. Segment counts will re-evaluate after migration based on the customer's new behavioral data collection approach.

NEON-dX

Campaign / Offer

maps to

Twenty CRM

Opportunity or Custom Object

1:1
Fully supported

NEON-dX campaigns and associated offer content migrate as structured records with templating metadata. We map campaign name, description, start and end dates, and budget to Twenty CRM Opportunity fields (Name, Description, CloseDate, Amount). Offer content (discounts, promotions, product references) migrates to a custom Offer object or Opportunity Line Items depending on the customer's data model. Rich media assets (images, templates) require separate file transfer and are documented in the media asset manifest.

NEON-dX

Customer Journey

maps to

Twenty CRM

Written journey inventory (no automated migration)

lossy
Fully supported

NEON-dX journeys are multi-step orchestration flows with branching logic, wait conditions, and channel assignments. Twenty CRM has no native journey orchestration engine. We extract every journey definition from NEON-dX (step sequence, branching conditions, wait durations, channel assignments) and deliver a written journey inventory document describing each journey in Twenty CRM terms. Channel assignments require re-registration because credentials cannot be exported. The customer's admin rebuilds journey logic using Twenty CRM's automation capabilities or a third-party orchestration layer post-migration.

NEON-dX

Predictive Score (Churn, LTV, Propensity)

maps to

Twenty CRM

Custom field (scoring not migrated)

1:1
Fully supported

NEON-dX churn propensity, LTV, and customer value scores are generated by Flytxt's proprietary ML pipeline with live training data. They cannot be meaningfully exported because they require NEON-dX's feature engineering environment and become immediately stale upon export. We preserve the score field names and the last-known values as static custom fields in Twenty CRM for audit reference, but we do not treat these as actionable post-migration. Customers should plan a re-scoring period using Twenty CRM's own analytics views or a connected BI tool after migration completes.

NEON-dX

Custom Object

maps to

Twenty CRM

Custom Object

1:1
Fully supported

NEON-dX supports custom object types with standard, formula, and lookup field types accessible via its REST API. We enumerate the live custom object schema at migration time using API calls, build a dependency graph for formula fields that reference other custom objects, map API names to Twenty CRM's custom object naming conventions, pre-create the destination schema in Twenty CRM (including all custom fields, lookup relationships, and any validation rules), and import in dependency order. Custom objects with lookups to standard objects (Contact, Company, Opportunity) are imported after the standard objects to satisfy the foreign key constraint.

NEON-dX

Channel Configuration

maps to

Twenty CRM

Channel documentation (re-registration required)

1:1
Fully supported

NEON-dX channel configurations (SMS gateway credentials, email sender IP addresses, push notification keys, API tokens) are stored with environment-specific scoping and cannot be exported as-is. We document every channel type, configuration parameter, and current credential status during the discovery phase and deliver a re-authentication checklist for each channel. The customer's admin registers fresh credentials in Twenty CRM before cutover. Without valid credentials, any migrated journey or campaign that references a channel will fail silently.

NEON-dX

Engagement: Email

maps to

Twenty CRM

Email + Task

1:1
Fully supported

NEON-dX email engagements (sent, opened, clicked, bounced) migrate to Twenty CRM as Comment records linked to the target Contact, with the original timestamp preserved in the record's createdAt field. Email subject, body, and metadata (open count, click count, bounce status) migrate as structured fields on the Comment record. We resolve the Contact reference by email match before insert to ensure the timeline links correctly.

NEON-dX

Engagement: Call

maps to

Twenty CRM

Task

1:1
Fully supported

NEON-dX call engagements (duration, disposition, recording URL) migrate to Twenty CRM as Task records linked to the target Contact and optionally to the related Company or Opportunity. Call duration, disposition, and recording URL migrate to custom Task fields. Activity ordering is preserved by setting the Task's due date to the original NEON-dX timestamp.

NEON-dX

Engagement: Meeting

maps to

Twenty CRM

CalendarEvent

1:1
Fully supported

NEON-dX meeting engagements migrate to Twenty CRM CalendarEvent records with title, description, start and end times, and location preserved. Attendee information migrates to CalendarEventParticipant records linked to the CalendarEvent and the attending Contact records.

NEON-dX

Engagement: Note

maps to

Twenty CRM

Comment

1:1
Fully supported

NEON-dX note engagements migrate to Twenty CRM Comment records linked to the parent Contact, Company, or Opportunity. Note body migrates as rich text. Attachments migrate as File records linked via the target record's ID. Note timestamp is preserved in the Comment's createdAt field.

NEON-dX

Privacy and Governance Rules

maps to

Twenty CRM

Custom Fields and Settings

lossy
Mapping required

NEON-dX consent management records, data retention policies, and GDPR/CCPA opt-out flags migrate to Twenty CRM as custom fields on Contact (opt-in status, consent timestamp, consent source, retention category). We flag any contacts with active suppression or withdrawal flags that require special handling during migration to ensure they are not re-enrolled in communications post-migration. The customer configures Twenty CRM's data retention settings manually after migration.

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.

NEON-dX logo

NEON-dX gotchas

High

Predictive model outputs are not transferable

Medium

Channel credentials require re-authentication post-migration

Medium

Custom object schema discovery requires API enumeration

Medium

Segment membership is event-dependent and re-evaluates post-migration

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

  • Predictive scores are not transferable and require rebuild

    NEON-dX generates churn propensity, LTV, and customer value scores using Flytxt's proprietary ML pipeline with live training data. These scores are tightly coupled to NEON-dX's feature engineering environment and cannot be exported as static values because they become immediately stale upon export. We preserve the field names and last-known values as static custom fields for audit reference, but we flag these as historical snapshots rather than actionable scores. Customers should plan a re-scoring initiative using Twenty CRM's own analytics views or a connected BI/data warehouse tool after migration completes. Expect a re-warming period before new scores become statistically meaningful.

  • 360-degree profiles require decomposition into contacts and companies

    NEON-dX stores each customer as a unified 360-degree profile combining individual demographic data, organizational affiliation, behavioral signals, and digital footprint in a single record. Twenty CRM uses a Contact-Company architecture that separates individuals from organizations and stores behavioral signals as tags and custom fields. There is no direct one-to-one mapping; every source profile requires a decomposition decision at migration time. We split demographic data to Contact, organizational data to Company, and behavioral signals to custom fields, but the customer must confirm the decomposition rule during scoping because some NEON-dX profiles may lack an organizational affiliation entirely.

  • Segment membership re-evaluates post-migration

    NEON-dX behavioral segments are defined by rule criteria that evaluate continuously against live customer event streams. Segment membership is not a static attribute stored on each profile; it is computed dynamically. During migration, we preserve the segment definition rules as a written inventory and migrate the membership snapshot as static Tag values on each Contact. However, segment counts will differ after cutover because Twenty CRM has no native event-stream segmentation engine and re-evaluates nothing automatically. Customers should not expect identical segment sizes or identical membership rosters immediately after migration.

  • NEON-dX API rate limits constrain export throughput

    The NEON-dX REST API enforces rate limits per thread pool rather than per time window, with a ceiling of 5 concurrent requests per endpoint (POST /accounts/{id}/contacts, GET /accounts/search/outputFields, and others all capped at 5 simultaneous requests). We implement a managed request queue with exponential backoff and chunking during export to avoid 429 Too Many Requests responses. Large profile inventories (over 50,000 records) require extended export windows under this constraint. We coordinate with the customer to schedule export runs during off-peak hours to minimize impact on live platform performance.

  • Twenty CRM self-hosted updates can introduce display issues

    Twenty CRM's self-hosted deployment model means that minor version updates (for example, updating from version 1.3.0 to 1.6.7) can occasionally result in display anomalies such as blank CRM views after migration. We validate the migration in a pre-production environment matching the target Twenty CRM version and confirm all migrated records render correctly before cutover. The customer should designate a DevOps resource responsible for applying updates in a staging environment before production deployment. This gotcha applies to self-hosted Twenty CRM deployments only and does not affect cloud-hosted instances.

Migration approach

Six steps for a successful NEON-dX to Twenty CRM data migration

  1. Discovery and schema enumeration

    We enumerate the live NEON-dX schema via REST API, including all custom object definitions, formula field dependencies, and lookup relationship graphs. We document every channel configuration (SMS, email, push, digital), every behavioral segment rule, every campaign structure, and every journey definition. We also extract the current predictive score field names and last-known values for audit preservation. This phase produces a written migration scope that defines the decomposition rule for 360-degree profiles into Twenty CRM contacts and companies, the tag strategy for segment membership, and the custom object schema map for Twenty CRM.

  2. Twenty CRM schema design and provisioning

    We design the destination Twenty CRM schema based on the discovery output. This includes creating custom fields on Contact and Company for behavioral signals that previously lived in the NEON-dX profile, provisioning custom objects to match the NEON-dX custom object API names, configuring lookup relationships in dependency order (standard objects first, custom objects with lookups last), and setting up tag taxonomies to represent behavioral segment membership. Schema is deployed into a staging Twenty CRM instance first for validation before any production data moves.

  3. Staging migration and reconciliation

    We run a full migration into the staging Twenty CRM instance using production-like data volume. The customer's team reconciles record counts (contacts in, companies in, opportunities in, activity records in), spot-checks 25-50 randomly selected records against the NEON-dX source for field-level accuracy, and reviews the tag distribution against the original segment membership snapshot. Any mapping corrections, missing field translations, or custom object schema adjustments happen in this phase before production migration begins.

  4. Channel re-registration and predictive score handoff

    We deliver the channel re-authentication checklist produced during discovery. The customer's admin registers fresh SMS gateway credentials, email sender IPs, push notification keys, and API tokens in the production Twenty CRM instance before cutover. We also deliver the predictive score field inventory and recommended rebuild approach (using Twenty CRM's analytics views or a connected BI/data warehouse) so the customer's data team can begin re-scoring planning in parallel with migration.

  5. Production migration in dependency order

    We run production migration in dependency order: Companies (first, the one-side of relationships), Contacts (with Company relationship resolved), Opportunities (with ContactId and CompanyId resolved), Custom Objects (last, after standard objects because they often have lookups to Contacts and Companies), Activity history (emails, calls, meetings, notes via REST API with rate-limit handling), and Tags (segment membership applied after Contact import is complete). Each phase emits a row-count reconciliation report before the next phase begins. We implement exponential backoff and chunking on all API calls to respect NEON-dX's thread-pool rate limits.

  6. Cutover, validation, and journey rebuild handoff

    We freeze writes to NEON-dX during cutover, run a final delta migration of any records modified during the migration window, then enable Twenty CRM as the system of record. We deliver the journey inventory document (with every NEON-dX journey described in Twenty CRM terms) and the automation rebuild guide for the customer's admin to reconstruct journey logic and any automation rules post-migration. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. Workflows, journey orchestration, and predictive scoring do not migrate as code; these are separate rebuilds outside the migration scope.

Platform deep dives

Context on both ends of the pair

NEON-dX logo

NEON-dX

Source

Strengths

  • Purpose-built for enterprise CVM programs with pre-packaged AI models for churn, LTV, and propensity scoring
  • Omnichannel journey orchestration supporting email, SMS, push, and digital channels from a single canvas
  • Real-time campaign dashboards with anomaly detection without requiring external BI tooling
  • Open API architecture with pre-integrated channel connectors for standard enterprise stacks
  • Subscription pricing model scaled to enterprise scope with dedicated support tiers

Weaknesses

  • No public pricing for enterprise tiers creates sales-cycle friction for mid-market teams
  • AI-generated predictive scores are proprietary to NEON-dX and cannot be exported for use in alternative platforms
  • Platform complexity demands dedicated training and change management for marketing operations teams
  • Limited flexibility for non-standard data warehouse integrations outside the pre-built connector ecosystem
  • Journey and segment logic depends on proprietary event taxonomy that requires re-alignment when migrating to general-purpose marketing platforms
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 NEON-dX 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

    NEON-dX: Not publicly documented at standard tier; Neon CRM API v2 enforces method-specific rate limits returning 429 on excess.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your NEON-dX 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 with under 20,000 customer profiles, fewer than 10 custom objects, and no extensive journey inventories. Migrations with large behavioral event histories (over 200,000 engagement records), complex multi-lookup custom object schemas, or large segment rule inventories move to eight to fourteen weeks because of API enumeration time, formula field dependency graph construction, and the staging migration reconciliation cycle. Twenty CRM's self-hosted deployment adds a staging environment setup step that is included in the timeline.

Adjacent paths

Related migrations to explore

Ready when you are

Move from NEON-dX.
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