CRM migration

Migrate from Zixflow Marketing Automation to Twenty CRM

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

Zixflow Marketing Automation logo

Zixflow Marketing Automation

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

82%

9 of 11

objects map 1:1 between Zixflow Marketing Automation and Twenty CRM.

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Zixflow Marketing Automation to Twenty CRM is a CRM-focused migration that leaves the marketing automation layer behind. Zixflow's unified platform combines CRM contacts with Flows (workflow automation), multichannel messaging (WhatsApp, SMS, Email, RCS), and wallet-based messaging credits under a single subscription. Twenty CRM is an open-source CRM built for technical teams who want a customizable data model with GraphQL API access. The primary migration challenge is Twenty's minimal standard field set: as documented in Twenty's public GitHub repository, new workspaces require significant field creation before data import is possible. We address this by auditing Zixflow's custom properties and AI enrichment fields, pre-creating matching custom fields in Twenty via the GraphQL API, then running the data migration. Zixflow Flows, Sequences, and Forms do not migrate as code. We deliver a written inventory of every active Flow with its trigger and step summary so the team can rebuild manually in Twenty's workflow builder.

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

Zixflow Marketing Automation logo

Zixflow Marketing Automation

What's pushing teams away

  • Email finder and validation sometimes return invalid addresses or fail to locate records, forcing teams to maintain a separate verification tool.
  • Incoming messages occasionally fail to appear in the Inbox view, creating gaps in conversation history that complicate migration completeness.
  • Third-party integrations require manual configuration and are described as time-consuming to set up correctly.
  • Campaign account setup involves multiple steps that users report as challenging without direct assistance from the support team.

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 Zixflow Marketing Automation objects map to Twenty CRM

Each row shows how a Zixflow Marketing Automation 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.

Zixflow Marketing Automation

Contact

maps to

Twenty CRM

Person

1:1
Fully supported

Zixflow Contacts map to Twenty Person records via the GraphQL API. Standard fields (name, email, phone) map directly. Zixflow's custom AI-generated enrichment fields export as flat key-value pairs and must be matched to Twenty custom fields created before import. We audit every unique custom property on Contact records, create matching custom fields in Twenty via the metadata API, then run the import with field-level type mapping (text, number, date, select, multi-select). Contact ownership resolves to Twenty workspace users matched by email.

Zixflow Marketing Automation

Company / Collection

maps to

Twenty CRM

Company

1:1
Fully supported

Zixflow Companies map to Twenty Company records. Collections (Zixflow list/grouping objects) do not map to a direct Twenty standard object; instead, we create a custom field contacts_in_collections__c on the Person object using multi-select picklist to store Collection membership, or we create a custom Collection object with a linking table if the customer needs many-to-many relationship tracking. The strategy is chosen during scoping based on how heavily the team relies on Collection-based segmentation.

Zixflow Marketing Automation

Collection membership

maps to

Twenty CRM

List / Segment

lossy
Fully supported

Zixflow Collections preserve contact grouping logic through multi-value custom fields on the Person record or through a custom Collection object we create in Twenty. Contacts may belong to multiple Collections; we handle this with a comma-separated custom field or with a separate linking table depending on the customer's segmentation complexity. The mapping preserves all Collection names and membership dates.

Zixflow Marketing Automation

Form

maps to

Twenty CRM

Custom Fields (on Person)

1:1
Fully supported

Zixflow Forms capture leads and feed data into Contacts and Collections. We export form field definitions and map them to equivalent custom fields on the Twenty Person object. Submission history migrates as Contact records with the form submission timestamp preserved in a custom field form_source__c. The form structure itself (layout, conditional logic, styling) does not migrate; we deliver a field-level inventory so the customer can recreate forms in their preferred form tool or as Twenty custom pages.

Zixflow Marketing Automation

Subscriber (WhatsApp)

maps to

Twenty CRM

Person (with WhatsApp tag)

1:1
Fully supported

Zixflow WhatsApp Subscribers export with opt-in status and tag data. We map these to Twenty Person records with a whatsapp_optin__c boolean and a whatsapp_tags__c multi-select field. Zixflow's default subscriber cap of 500 is a source-side billing artifact; we flag the actual subscriber count during scoping so the customer can plan their WhatsApp Business configuration post-migration. Subscriber credits do not transfer.

Zixflow Marketing Automation

Inbox / Conversation

maps to

Twenty CRM

Note / Activity

1:1
Fully supported

Zixflow Inbox threads export via API with message content, timestamps, and channel metadata. We map thread metadata to Twenty Note records linked to the Person record, with channel type (WhatsApp, SMS, Email, RCS) stored in a custom field channel_type__c. Message body content maps to the Note body. Thread-level associations to Contacts resolve by email lookup in Twenty. Message delivery status (sent/delivered/open) is Zixflow internal tracking and does not map to a Twenty equivalent.

Zixflow Marketing Automation

Message log (WhatsApp/SMS/Email/RCS)

maps to

Twenty CRM

Activity / Note

1:1
Fully supported

Message logs export with contact association, timestamp, direction (inbound/outbound), and channel type. We map each message to a Note record in Twenty linked to the Person record, with a custom field message_direction__c and channel_type__c. For high-volume message history (over 50k records), we batch via the GraphQL API with exponential backoff to stay within Twenty's rate limits. Delivery status metrics are exported as separate reporting artifacts and delivered as a CSV for the customer's analytics team.

Zixflow Marketing Automation

Custom Properties / AI Enrichment Fields

maps to

Twenty CRM

Custom Fields

lossy
Fully supported

Zixflow custom contact properties including AI-generated enrichment fields export as flat key-value pairs. This is the most time-intensive part of the migration because Twenty's standard Person object has minimal default fields (GitHub issue #13953). We pre-create every unique custom field discovered during the audit in Twenty via the GraphQL metadata API before running any data import. Field types are matched: text strings to text fields, numbers to number fields, dates to date fields, and multi-value arrays to multi-select fields. Fields without an exact equivalent are flagged for the customer's admin to review during scoping.

Zixflow Marketing Automation

Owner / User

maps to

Twenty CRM

Workspace User

1:1
Fully supported

Zixflow Owners referenced on Contacts, Companies, Deals, and Inbox threads map to Twenty workspace users matched by email address. Any Zixflow Owner without a matching Twenty user goes to a reconciliation queue for the customer's admin to provision before record import resumes. Inactive Zixflow users are mapped to inactive Twenty users if historical attribution is required.

Zixflow Marketing Automation

Flow (Automation Logic)

maps to

Twenty CRM

Workflow Inventory Document

1:1
Fully supported

Zixflow Flows are built in a proprietary visual builder format that cannot be exported or transferred. We do not migrate Flows as code. Instead, we export a documentation snapshot of each Flow including its name, trigger type (form submission, contact property change, schedule), step summary (each action with its configuration), and active/inactive status. This inventory is delivered as a written document for the customer's admin to reference when rebuilding automations in Twenty's workflow builder. Flow credit usage history is a billing metric and is excluded from migration scope.

Zixflow Marketing Automation

Wallet Balance / Automation Credits

maps to

Twenty CRM

None

1:1
Fully supported

Zixflow's wallet-based messaging credits and automation credit balances are billing artifacts, not customer data. Wallet balance does not migrate and should be drained or forfeited before closing the Zixflow account. Automation credit history is excluded. We flag both balances during scoping and recommend the customer review their Zixflow billing dashboard before migration day.

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.

Zixflow Marketing Automation logo

Zixflow Marketing Automation gotchas

High

Flow automation logic is non-transferable

Medium

API fair usage caps at 200 POST/PATCH per second per workspace

Medium

CSV import limit of 100,000 records and 50MB per file

Low

Subscribers have a default cap of 500 WhatsApp contacts

Low

Messaging and automation credits are separate billing systems

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

  • Twenty's minimal standard fields require pre-migration field creation

    Twenty CRM ships with a sparse standard field set on Person and Company objects. As documented in Twenty's public GitHub repository (issue #13953), new users must spend 30-60 minutes creating basic fields before they can start using the CRM, and migrating from other CRMs requires manual field creation for every import because standard fields like industry, jobTitle, website, and employeeCount do not exist by default. We address this by auditing all Zixflow custom properties and AI enrichment fields before migration, creating matching custom fields in Twenty via the GraphQL API, then running the data import. Skipping this step results in every import attempt failing because target fields do not exist in Twenty.

  • No built-in import UI in Twenty requires scripting or third-party tools

    Twenty CRM does not have a built-in import wizard as of 2026. Migration paths documented on the Twenty website show CSV export from the source CRM followed by either a custom script calling the GraphQL batch import API or a tool like n8n to process CSV and make batch API calls. We write and run a migration script that calls Twenty's GraphQL mutations with batching and rate-limit handling. Without this scripting layer, a manual CSV import into Twenty is not possible and the customer would need to build a custom integration to move data.

  • Zixflow Flows (automation logic) cannot be migrated

    Zixflow's Flows are visual workflow definitions stored in a proprietary builder format with no documented export path. Bulk data exports do not include automation logic. We export a documentation snapshot of each Flow (name, trigger, step summary) as a written inventory for the customer's admin to reference during manual rebuild in Twenty's workflow builder. This rebuild work is outside standard migration scope and should be scoped separately before migration begins. Flows that are critical to revenue operations must be identified early so the rebuild can begin before or immediately after cutover.

  • Collection-to-Twenty mapping requires schema design decision

    Zixflow Collections are list/grouping objects where a single Contact can belong to multiple Collections. Twenty CRM does not have a native list segmentation object equivalent to Zixflow Collections. We offer two migration strategies during scoping: storing Collection membership as a multi-select custom field on the Person record (simple, works for small numbers of Collections), or creating a custom Collection object with a linking table for many-to-many relationships (scales to complex segmentation but requires additional schema work). The choice affects the migration timeline and is confirmed with the customer before import begins.

  • Message delivery status and engagement metrics do not transfer

    Zixflow tracks message delivery status (sent/delivered/open) and engagement metrics as internal platform analytics. These metrics do not map to any Twenty CRM standard or custom field because Twenty has no native multichannel messaging module. We export delivery and engagement data as a separate CSV report for the customer's analytics team to ingest into their own reporting tool. Message content and timestamps migrate as Note records, but open rates and delivery receipts are excluded from the CRM migration scope.

Migration approach

Six steps for a successful Zixflow Marketing Automation to Twenty CRM data migration

  1. Discovery and custom field audit

    We audit the Zixflow workspace across Contacts (including all custom properties and AI enrichment fields), Collections, Companies, Forms, Inbox message volume, Subscriber count, active Flows, and API rate limit usage. We pair this with a Twenty CRM workspace assessment to confirm the current field schema. The discovery output is a written migration scope including the full custom field creation list for Twenty, the Collection mapping strategy decision, and the Flow inventory export.

  2. Twenty schema pre-creation

    We create every custom field required for the migration in Twenty via the GraphQL metadata API before any data import begins. This includes custom fields on Person (for all Zixflow custom properties and enrichment data), custom fields on Company (for Zixflow Company fields), and any custom Collection object if the customer chooses the many-to-many linking table strategy. Field types are matched precisely: text strings to text, numbers to number, dates to date, multi-value arrays to multi-select, and boolean flags to checkbox. The schema is validated in a Twenty test workspace before production migration.

  3. Flow inventory export and owner reconciliation

    We export a written inventory of every Zixflow Flow including name, trigger type, step count, action types, and active/inactive status. This document is delivered to the customer's admin for rebuild planning. Simultaneously, we extract every distinct Zixflow Owner referenced on Contacts, Companies, and Inbox records and match by email against Twenty workspace users. Any missing Twenty users go to a reconciliation queue for the customer to provision before record import resumes.

  4. Data extraction and transformation

    We export Zixflow data via REST API in dependency order: Contacts first (with all custom properties), then Companies, then Collections membership links, then Inbox message threads, then message logs. All exports are chunked at the 100k record or 50MB file limit per Zixflow's CSV constraint. We transform field values to match Twenty's schema types, resolve Collection membership as custom field values or linking table inserts, and tag WhatsApp Subscribers with opt-in status and tags. Flow credit and wallet balance data are exported as separate billing reference CSVs and excluded from the data migration.

  5. Twenty GraphQL batch import with validation

    We run the production migration into Twenty via GraphQL batch mutations with rate-limit handling and exponential backoff. Records are imported in dependency order: Companies first (so AccountId is available for Person lookup), then Persons (with CompanyId resolved), then Collection membership (as custom field values or linking table records), then message history as Notes. Each batch emits a row-count reconciliation report. We validate that record counts in Twenty match the exported counts from Zixflow before proceeding to the next object.

  6. Cutover, delta sync, and Flow rebuild handoff

    We freeze Zixflow writes during cutover, run a final delta migration of any records modified during the migration window, then enable Twenty as the system of record. We deliver the Flow inventory document and a message engagement CSV to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Zixflow Flows as Twenty workflows inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Zixflow Marketing Automation logo

Zixflow Marketing Automation

Source

Strengths

  • Unlimited contact storage with no per-record billing surprises at any volume.
  • Multichannel messaging (WhatsApp, SMS, Email, RCS) native in a single platform without third-party plugins.
  • Visual Flow builder with drag-and-drop logic for non-technical teams to build automations.
  • Built-in data enrichment with verified emails and custom AI fields reducing external tool dependencies.
  • Friendly, knowledgeable support staff cited across multiple G2 reviews as responsive and helpful.

Weaknesses

  • Flows (automation logic) cannot be exported or transferred — must be manually rebuilt in the destination.
  • Separate wallet-based messaging credit system adds a second billing dimension to track post-migration.
  • Third-party integrations are not native and require manual configuration effort.
  • Email finder and validation features are unreliable according to user reviews.
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. 2 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 Zixflow Marketing Automation and Twenty CRM.

  • Object compatibility

    B

    2 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

    Zixflow Marketing Automation: 150 requests per second across the workspace; exceeding it returns a 'Too many requests, try again later!' error and requires backoff before retry.

  • Data volume sensitivity

    B

    Zixflow Marketing Automation doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Zixflow Marketing Automation 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 Zixflow Marketing Automation to Twenty CRM data migrations

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

Can't find your answer?

Walk through your Zixflow Marketing Automation 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 four and six weeks for accounts under 20,000 Contacts with a straightforward custom field schema and no complex Collection segmentation. Migrations with high-volume Collections (over 100k records requiring multi-file sequencing), extensive custom property schemas (20+ fields per object), or large message history (100k+ engagement records) extend to ten to fourteen weeks because of the pre-migration field creation work, chunked batch processing via Twenty's GraphQL API, and Collection mapping strategy implementation.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Zixflow Marketing Automation.
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