CRM migration

Migrate from Rule to Twenty CRM

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

Rule logo

Rule

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

67%

8 of 12

objects map 1:1 between Rule and Twenty CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Rule to Twenty CRM is a platform-type migration: Rule is a marketing automation CRM with multi-channel orchestration (Email, SMS, RCS, Social) and behavioral contact tracking; Twenty CRM is a self-hosted, open-source relationship CRM with a maturing standard object model and no native workflow engine. We extract contacts with their behavioral attributes and channel preferences from Rule, map them to Twenty's Person and Company objects, and handle the fact that Twenty's standard Person fields are intentionally minimal—requiring custom field creation for any Rule contact properties that lack a direct Twenty equivalent. Multi-channel engagement events (opens, clicks, bounces, SMS responses) export from Rule as a structured dataset and land in Twenty as activity records annotated with channel type. We do not migrate Rule Automation Workflows, Campaigns, or Sequences as code; we deliver a written inventory of each for your admin to rebuild using Twenty's workflow builder. Suppression lists export as contact status flags rather than native suppression rules.

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

Rule logo

Rule

What's pushing teams away

  • Teams report that the platform's reporting and analytics dashboard lacks depth, making it difficult to attribute revenue directly to specific automation workflows.
  • Some users find the workflow builder interface becomes unwieldy for very complex, multi-branch automation sequences with dozens of conditional branches.
  • Integration setup with non-standard CRM systems can require custom API work, and support response times for technical integration questions are inconsistent.
  • Pricing at scale becomes a concern as contact counts grow, and some teams feel the per-contact cost does not align with the value delivered for high-volume lists.

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

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

Rule

Contact

maps to

Twenty CRM

Person

1:1
Fully supported

Rule contact profiles (name, email, phone, behavioral attributes, channel preferences) map to Twenty Person records. We preserve all Rule custom contact properties as Twenty custom fields. Note that Twenty's standard Person object intentionally lacks many standard fields that Rule provides natively—GitHub issue #13953 documents that new users must spend 30-60 minutes creating basic fields before productive use. We pre-create all required custom fields during schema setup so Person records land with complete data on first import. The Rule lifecyclestage property migrates as a custom picklist field on Person.

Rule

Company

maps to

Twenty CRM

Company

1:1
Fully supported

Rule Company records map directly to Twenty Company. Company name and domain map to displayName and websiteUrl respectively. We use domain as the dedupe key during import to prevent duplicate company records. If Rule stores account-level custom fields, we create matching custom fields on the Twenty Company object before migration.

Rule

Deal

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Rule Deal records map to Twenty Opportunity. We resolve the Company (Account) lookup before Opportunity insert so that every opportunity is attached to its parent company. Deal stage names map to Twenty pipeline stage values, and the Rule deal owner maps to a Twenty workspace member.

Rule

Segment/List

maps to

Twenty CRM

Filter-based view

lossy
Fully supported

Rule segments are dynamic filter-based lists. We export segment definitions as written filter logic rather than snapshots, noting each segment's filter conditions, combinators, and value criteria. Twenty does not have native dynamic segments; we document each Rule segment as a filter configuration that an admin can recreate in Twenty's Table view filters or Kanban grouping. For critical segments, we create static saved views in Twenty during migration.

Rule

Automation Workflow

maps to

Twenty CRM

Workflow (rebuild required)

lossy
Fully supported

Rule Automation Workflows contain trigger conditions, time delays, and channel actions. We do not migrate workflows as code. We deliver a written inventory of every Rule workflow with its trigger type (event-based, date-based, tag-based), conditions, action sequence, and channel target. Twenty's workflow builder supports record-triggered and scheduled automations; the inventory document maps each Rule workflow to a recommended Twenty equivalent. The customer's admin rebuilds workflows post-migration.

Rule

Tag

maps to

Twenty CRM

Tag

1:1
Fully supported

Contact and company tags in Rule map directly to Twenty's tag field. Tags are preserved per record at migration time. Both platforms support multiple tags per record with no hard limit.

Rule

Email Engagement History

maps to

Twenty CRM

Activity

1:1
Mapping required

Rule email engagement events (opens, clicks, bounces, unsubscribes) export as a structured dataset. We import these as Twenty Activity records with the activity type annotated as email_open, email_click, email_bounce, or email_unsubscribe in a custom field. The original Rule timestamp becomes the activity date for chronological accuracy. Whether Twenty surfaces this history in its activity timeline UI depends on the Twenty version and view configuration.

Rule

SMS/RCS/Social Engagement

maps to

Twenty CRM

Activity

1:1
Fully supported

Channel-specific engagement events from Rule (SMS sends, RCS messages, social interactions) export separately from email events. We consolidate these into Twenty Activity records annotated with channel type (sms_send, sms_reply, rcs_message, social_engagement) in a custom field. This mirrors how Rule itself siloes channel data; consolidation at migration time gives Twenty a more unified view than Rule provides natively.

Rule

Custom Field

maps to

Twenty CRM

Custom Field

1:1
Fully supported

Rule custom fields on contacts and companies (dropdown, date, numeric, text, multi-select types) map to Twenty custom fields of equivalent type. Multi-select fields require explicit mapping to Twenty's multi-select implementation. We create the destination custom fields in Twenty's metadata API before any data import so that schema is ready before records land.

Rule

Template

maps to

Twenty CRM

Template (rebuild required)

lossy
Fully supported

Email and SMS templates in Rule (body text, subject lines, dynamic variables) export as content files. We deliver a template inventory with full body copy and subject line text. Dynamic variable syntax differs between platforms; Twenty's template system does not have a native Rule equivalent, so templates are documented for manual rebuild in Twenty or through the customer's email sending tool.

Rule

Owner/User

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Rule user accounts (name, email, role) map to Twenty workspace members by email match. We extract all Rule users referenced on records, match against Twenty workspace members, and flag any unresolvable users for admin provisioning before record import. Unmatched owners receive a placeholder assignment with a flag for reassignment post-migration.

Rule

Suppression List

maps to

Twenty CRM

Contact status flag

lossy
Fully supported

Rule suppression lists (unsubscribed, bounced, blocked contacts) export as a distinct dataset. Twenty does not have a native suppression list object; we apply a custom status field (suppression_status) to each suppressed contact record with values unsubscribed, bounced, or blocked. The customer's admin applies this status in Twenty's contact list view post-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.

Rule logo

Rule gotchas

Medium

Channel-specific engagement data is siloed

High

Automation workflows reference deleted contacts as orphaned triggers

Medium

Suppression list does not auto-apply during import

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 Person standard fields are intentionally minimal

    Twenty's Person object ships with few standard fields by design. GitHub issue #13953 documents that users must spend 30-60 minutes creating basic fields (jobTitle, department, website, socialProfiles, dateOfBirth, source, tags, contactType) before productive use. Rule contacts typically carry behavioral attributes, channel preferences, and lifecycle stage data that have no direct Twenty standard field equivalent. We pre-create all required custom fields during schema setup so that Rule contact data lands completely on first import rather than requiring manual field creation before data load.

  • Channel engagement data is siloed in Rule

    Rule tracks email, SMS, RCS, and social engagement events in channel-specific logs that do not unify into a single contact activity timeline. We export each channel's engagement data separately and map them into Twenty activity records annotated with channel type. Where Twenty's UI does not surface these activity types in a unified timeline, we consolidate events into a single activity stream and annotate each entry with its source channel for auditability.

  • Rule suppression lists do not auto-reapply in Twenty

    Rule suppression lists (unsubscribed, bounced, blocked contacts) export as data but do not auto-reapply as native suppression rules in Twenty. We export the suppression list as a distinct dataset and apply a post-migration flag to each suppressed contact record. The customer's admin applies this flag in Twenty's contact list. We do not configure automated suppression logic in Twenty because no native equivalent exists.

  • Automation workflows cannot migrate as code

    Rule workflows contain trigger conditions, time delays, and channel actions that are not compatible with Twenty's workflow model. We do not migrate Rule Automation Workflows, Campaigns, or Sequences as executable code. We deliver a written inventory of every active Rule workflow with its trigger, conditions, actions, and a recommended Twenty workflow equivalent. The customer's admin rebuilds automations post-migration.

  • Twenty lacks native sequencing for sales cadences

    Reddit users evaluating Twenty CRM report that the platform currently lacks native sequence or sales cadence features. Rule users relying on automated follow-up sequences (Call -> Wait -> Email -> Wait -> Call) will need to rebuild these manually in Twenty or adopt a third-party sales engagement tool. We document the sequence structure during migration scoping so the customer's team can select an appropriate replacement.

Migration approach

Six steps for a successful Rule to Twenty CRM data migration

  1. Source audit and custom field schema design

    We audit the Rule account for contact volume, company count, deal records, segment definitions, active workflows, campaign metadata, custom field inventory, engagement event volume per channel, and suppression list size. We pair this with Twenty schema design: we identify every Rule contact property that lacks a Twenty standard field and pre-create custom fields (with correct types—text, number, date, picklist, multi-select) via Twenty's metadata API before any data import. This step closes the gap documented in Twenty GitHub issue #13953 so that data lands completely rather than partially.

  2. Suppression and deduplication preprocessing

    We export Rule's suppression list as a distinct dataset. We identify duplicate contact records in Rule (same email, different internal IDs) and apply a deduplication rule: the record with the most recent activity and most complete custom field population wins. Duplicates that cannot be auto-resolved go to a manual reconciliation queue for the customer's admin. Suppression status is preserved as a custom field value rather than a platform-native list. This step ensures Twenty starts with a clean, non-suppressed active contact set.

  3. Owner and workspace member reconciliation

    We extract every distinct Rule user referenced on contacts, companies, deals, and engagements and match by email against Twenty workspace members. Any Rule user without a matching Twenty workspace member goes to a reconciliation queue. The customer's admin provisions missing workspace members before record import resumes. Owner resolution must complete before record import because OwnerId is a required reference on most Twenty objects.

  4. Staging migration and schema validation

    We run a full migration into a staging environment with production-like data volume. The customer's team spot-checks 25-50 records against Rule (contacts, companies, deals, engagement records), validates that custom field data populated correctly, and confirms that suppression flags are applied. Any mapping corrections happen in staging before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: workspace members (validated), companies (from Rule accounts), persons (with companyId resolved), opportunities (with personId and companyId resolved), tags (applied to person and company records), activity history (emails, SMS, social events as annotated Activity records), custom fields (populated from Rule properties), and template body text (documented for manual rebuild). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, workflow inventory delivery, and post-migration validation

    We freeze Rule 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 Workflow and Sequence inventory document to the customer's admin team. We support a one-week hypercare window where we resolve reconciliation issues. We do not rebuild Rule automations or sequences as Twenty workflows inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Rule logo

Rule

Source

Strengths

  • Multi-channel orchestration across Email, SMS, RCS, and Social Media in one platform
  • Founded in 2007 with established track record serving both SMBs and global enterprises
  • Trigger-based automation with event-driven customer journey logic
  • Deep native integrations with CRM systems and e-commerce platforms
  • Scalable from small teams to enterprise deployments

Weaknesses

  • Analytics and reporting depth lags behind dedicated BI tools, limiting revenue attribution clarity
  • Complex workflow sequences can become difficult to manage at scale in the visual builder
  • Custom integration work may be required for non-standard CRM configurations
  • Per-contact pricing model can become expensive for high-volume marketing lists
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 Rule 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

    Rule: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Rule to Twenty migrations land between three and five weeks for accounts under 10,000 contacts with no custom objects and straightforward segments. Migrations with large multi-channel engagement histories (over 100,000 activity records), multiple Rule custom field types, or complex suppression lists requiring per-record flagging move to seven to ten weeks. Twenty's self-hosted deployment option adds a server setup coordination step that typically falls within the standard timeline if the customer's infrastructure team is available.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Rule.
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