CRM migration

Migrate from Xtremepush to Twenty CRM

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

Xtremepush logo

Xtremepush

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

75%

9 of 12

objects map 1:1 between Xtremepush and Twenty CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Xtremepush to Twenty CRM is a structural migration from an engagement platform to a CRM system. Xtremepush centers on user profiles with device tokens, behavioral events, consent records, and loyalty program state; Twenty CRM uses People, Companies, Opportunities, Tasks, and custom objects in a relational schema. We resolve the schema gap by mapping Xtremepush user profiles to Twenty People, Xtremepush companies to Twenty Companies, and Xtremepush behavioral attributes and tags to custom fields or multi-select picklists on the People object. Loyalty program state (points balance, tier, achievements) migrates as a snapshot attribute rather than a structured ledger object. Push tokens, campaign history, audience segments, and engagement events cannot migrate into Twenty's CRM model as native records; we deliver a written inventory of these objects for your admin to evaluate against Twenty's workflow builder and webhook integrations. Consent records migrate as People custom fields with the preference type and status preserved.

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

Xtremepush logo

Xtremepush

What's pushing teams away

  • MFA lockout risk: if a user loses their phone or authenticator app, login becomes blocked and recovery can be slow, disrupting team access during critical campaign windows.
  • Steep initial learning curve: the interface is described as overwhelming for new users until they build familiarity with where campaigns, segments, and attributes are configured.
  • Limited message builder flexibility: more flexible editing options in the drag-and-drop composer are frequently requested, with some users resorting to workarounds for complex personalization scenarios.
  • Point solution lock-in risk: brands with multi-vendor stacks cite complexity in keeping engagement data synchronized across Xtremepush and other platforms in real time.

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

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

Xtremepush

User Profiles

maps to

Twenty CRM

Person (People)

1:1
Fully supported

Xtremepush user profiles map directly to Twenty People records. We extract all standard profile fields (name, email, phone, country) and map them to Twenty's name, email, and phone fields. Xtremepush custom attributes and tags migrate as custom fields on the Person object—boolean and single-select attributes become checkbox or select fields; multi-value tags become multi-select picklists or text fields depending on cardinality. The migration user must pre-create all custom fields in Twenty's Settings -> Data Model before import, as Twenty's CSV import creates records only, not fields.

Xtremepush

Companies

maps to

Twenty CRM

Company

1:1
Fully supported

Xtremepush stores company data as profile attributes rather than a distinct object. We extract company name, domain, industry, size, and address from user profile attributes and create Twenty Company records. Each Person record is then linked to its parent Company via Twenty's WorkGroupRelation or a Company link field on Person. We use the company domain as a dedupe key during import.

Xtremepush

Attributes and Tags

maps to

Twenty CRM

Custom Fields on Person

lossy
Fully supported

Xtremepush key-value attributes and tags export as columns in the profile CSV. We map each distinct attribute key to a Twenty Person custom field of the appropriate type (text, number, date, select). Tags with high cardinality become text fields; tags with fewer than 30 distinct values become select fields. We flag any attribute with more than 30 distinct values for manual review during scoping because multi-select picklists in Twenty have practical cardinality limits.

Xtremepush

Preferences and Consent Records

maps to

Twenty CRM

Custom Fields on Person

1:1
Mapping required

Xtremepush consent records (preference type, Marketing or Legitimate Interest, subscription status, last-updated timestamp, consent source) migrate as custom fields on the Person object: consent_status__c (select: subscribed/unsubscribed), consent_type__c (select: marketing/legitimate_interest), and consent_updated__c (date). We flag that the full consent audit trail (historical changes, campaign context per consent event) is not included in Xtremepush's automated export, and recommend re-collecting consent for high-compliance industries before finalizing the migration.

Xtremepush

Campaigns

maps to

Twenty CRM

Custom Object or Task

1:1
Mapping required

Xtremepush campaigns have no direct Twenty CRM equivalent because Twenty does not have a native campaign execution object. We create a Campaign__c custom object in Twenty with fields for campaign name, channel (push/SMS/email), status, schedule, and target segment description. We link Person records to campaigns via a CampaignMember__c junction object (Person lookup + Campaign lookup) so that campaign membership is preserved. The campaign rule engine and trigger conditions are documented separately for rebuild in Twenty's workflow builder.

Xtremepush

Audience Segments

maps to

Twenty CRM

Custom Object

1:1
Mapping required

Xtremepush audience segments are defined by attribute, event, and tag rules that produce a membership list at migration time. We create a Segment__c custom object in Twenty and export the segment name, rule description, and membership count. We do not migrate the Xtremepush segment rule syntax (which is Xtremepush-specific) into Twenty; instead we document the segment membership snapshot as Person records tagged with the segment name and deliver a written segment inventory for the customer to rebuild using Twenty's filters and custom field combinations.

Xtremepush

Loyalty Program State

maps to

Twenty CRM

Custom Fields on Person

1:1
Mapping required

Loyalty points balance, tier assignment, and gamification achievements are stored as attributes on Xtremepush user profiles and export as key-value pairs. We map these as custom fields on the Person object: loyalty_points__c (number), loyalty_tier__c (select), and loyalty_achievements__c (text or multi-select). The gamification rule engine (triggers, rewards, thresholds) is not exposed via export and must be rebuilt manually in Twenty's workflow builder. We provide a structured inventory of all gamification mechanics observed during discovery.

Xtremepush

Device Tokens (APNS / Firebase GCM)

maps to

Twenty CRM

Documentation Reference

lossy
Mapping required

Push tokens are tied to Xtremepush user profiles but Twenty CRM does not store push tokens as a native feature. We export the device token data (token string, platform, registration timestamp) as a CSV reference document. This document is handed off for the customer's mobile development team to re-register devices using the new push provider's SDK. We schedule the migration cutover to align with the app release so tokens remain valid during the transition window. We do not migrate APNS or Firebase/GCM tokens into Twenty itself.

Xtremepush

Events and Behavioral Data

maps to

Twenty CRM

Tasks and Notes

1:1
Mapping required

Xtremepush behavioral events (event type, timestamp, associated user/device) export as event log records. High-volume event exports require chunking by date range. We map each distinct event type to a custom field on the Person object (event_count_<type>__c) capturing the total count and most recent timestamp, rather than creating individual Task records for every event. Significant milestone events (first_purchase, subscription_start, churn) migrate as Task records on the Person's timeline for CRM use. The event rule engine is not migratable; we document the event taxonomy for rebuild in Twenty's workflow builder.

Xtremepush

Locations (Geofences and iBeacons)

maps to

Twenty CRM

Documentation Reference

lossy
Mapping required

Xtremepush geofence and iBeacon data (coordinates, radius, beacon UUIDs, venue associations) export as location metadata. Twenty CRM does not have a native location or geofencing feature. We export the location data as a structured reference CSV and document the location taxonomy (venue names, associated segments, trigger conditions) for the customer's admin to evaluate against location-enabled alternatives or custom integrations post-migration.

Xtremepush

Custom Objects

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Xtremepush custom objects map to Twenty custom objects of equivalent name and schema. We pre-create the destination custom object in Twenty's metadata API (Object, Field, DataSource entries), configure lookup relationships to standard objects (Person, Company), and validate field types before data import. Xtremepush custom object records migrate to Twenty custom object records using the same bulk import pipeline as standard objects. Custom object naming convention in Twenty uses the metadata API object name without a suffix requirement.

Xtremepush

Owner

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Xtremepush owners (campaign managers, team leads) map to Twenty WorkspaceMember records. We resolve owners by email match. Any Xtremepush Owner without a matching Twenty WorkspaceMember is placed in a reconciliation queue for the customer's admin to provision before record import resumes. Twenty requires all WorkspaceMembers to be invited and active before Owner references on Person records can be resolved.

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.

Xtremepush logo

Xtremepush gotchas

High

Push token migration requires coordinated SDK update and dev team handoff

Medium

Consent preference export does not include full audit trail

Medium

Location services require separate paid activation and SDK changes

Low

Loyalty and gamification state is profile-relative, not independently exportable

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

  • Push tokens and campaign history have no CRM home in Twenty

    Xtremepush push tokens (APNS, Firebase/GCM) and campaign engagement history (opens, clicks, delivery receipts) are engagement-native data with no equivalent in Twenty CRM's schema. Twenty does not store device tokens or campaign engagement metrics as standard fields. We export this data as reference CSVs and document the campaign taxonomy, but the tokens themselves cannot be migrated into Twenty's data model. The customer's mobile team must re-register devices with the new push provider after cutover. Campaign engagement metrics require a separate analytics or BI tool to recreate.

  • Xtremepush loyalty rule engine does not migrate

    Loyalty points, tiers, badges, and gamification triggers are stored as attributes on user profiles in Xtremepush, not as a standalone loyalty ledger object with its own rule engine. We export the current state snapshot (points balance at migration time, tier assignment, earned achievements) as Person custom fields. The gamification rule engine—how points are earned, how tiers are晋升, what rewards are triggered—exists in Xtremepush's internal configuration and is not exposed via export. We provide a structured inventory of all gamification mechanics observed during discovery for rebuild in Twenty's workflow builder or a dedicated loyalty tool.

  • Consent export lacks full audit trail

    Xtremepush's automated consent export provides the preference type (Marketing or Legitimate Interest), subscription status, last-updated timestamp, and consent source (manual, SDK, import), but it does not include historical consent changes or the specific campaign or channel context for each consent event. For high-compliance industries such as iGaming or financial services, we recommend re-collecting consent before finalizing the migration rather than relying on the partial export. We flag which records have only an import-source consent origin during scoping.

  • Twenty requires all custom fields pre-created before CSV import

    Twenty's CSV import creates records but not fields. We cannot import Xtremepush attribute and tag data into custom fields that do not yet exist in Twenty. The migration workflow requires that the customer or FlitStack AI admin creates all custom fields in Twenty Settings -> Data Model before any data import begins. Missing custom fields result in the attribute data being dropped during import with no error message. We validate field existence as the first step of the import pipeline.

  • Location data requires separate re-opt-in after cutover

    Xtremepush geofence and iBeacon data is stored as location objects, but location collection itself requires enabling services in both the Android and iOS SDKs. We export all location metadata (coordinates, radius, beacon UUIDs) as a structured reference, but the live location permission state cannot be migrated. Users must re-opt into location tracking after any app reinstall or SDK update. We document location venue names, associated segments, and trigger conditions as a separate handoff checklist for the customer's mobile team to re-implement post-migration.

Migration approach

Six steps for a successful Xtremepush to Twenty CRM data migration

  1. Discovery and schema mapping

    We audit the Xtremepush account across profiles, custom attributes, tags, consent records, campaign history, audience segments, loyalty state, device token volumes, and event taxonomy. We pair this with a Twenty workspace audit of existing objects, custom fields, and user roles. The discovery output is a written migration scope document that maps each Xtremepush object to a Twenty destination, identifies custom field creation requirements, flags consent audit gaps, and inventories the gamification and location data for separate documentation.

  2. Twenty workspace preparation

    We create all custom fields identified during discovery in Twenty Settings -> Data Model before any data import. This includes custom fields for behavioral attributes, loyalty state (points, tier, achievements), consent records (status, type, updated date), and any custom objects with lookup relationships to Person and Company. We invite and provision all WorkspaceMembers referenced as owners so that OwnerId references are resolvable during import. We configure Twenty API tokens for the migration user with appropriate read and write permissions.

  3. Data export, cleansing, and transformation

    We extract Xtremepush profiles as CSV exports (using SFTP automated exports or manual export from the Xtremepush console), cleanse duplicate records and standardize phone number and email formats, and transform attribute keys into field names compatible with Twenty's naming conventions. We apply the tag cardinality analysis to determine whether each tag set becomes a select field or text field. We chunk large event exports by date range to manage volume.

  4. Sandbox migration and reconciliation

    We run a full migration into Twenty's staging environment using production-like data volume. The customer's admin reconciles record counts (People in, Companies in, custom object records in), spot-checks 25-50 records against the Xtremepush source for field-level accuracy, and verifies that tag mappings, consent field values, and loyalty state are correctly populated. Custom field mapping corrections happen here. The customer signs off the sandbox migration before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: WorkspaceMembers (validated, not migrated), Companies (from Xtremepush company attributes), People (with Company link resolved, custom fields populated, consent and loyalty state carried), custom objects (with lookups to Person and Company resolved), Campaign__c records and CampaignMember__c junction records, and finally event milestone Tasks on Person timelines. Each phase emits a row-count reconciliation report before the next phase begins. Push tokens, campaign engagement metrics, and location data are exported as reference CSVs alongside the production migration.

  6. Cutover, validation, and documentation handoff

    We freeze Xtremepush write access during the cutover window, run a final delta migration of records modified during the migration window, then mark Twenty as the system of record. We deliver a written inventory of: (1) campaign and segment rule engines requiring rebuild in Twenty's workflow builder, (2) gamification mechanics and loyalty rule engine for manual rebuild, (3) push token reference CSV for mobile team re-registration, (4) location venue taxonomy for location services re-implementation. We support a one-week hypercare window for reconciliation issues raised by the customer's team.

Platform deep dives

Context on both ends of the pair

Xtremepush logo

Xtremepush

Source

Strengths

  • Multichannel unification: push, SMS, email, and web push managed from a single campaign canvas without switching tools.
  • Real-time triggering: SDK-based event collection supports in-session automation rather than batch-only campaigns.
  • AI-driven audience recommendations with Explainable AI, providing justification for segment selections.
  • Gamification and loyalty mechanics built natively, not bolted on via third-party plugins.
  • SFTP-based automated exports allow programmatic data extraction on flexible schedules.

Weaknesses

  • No publicly documented API rate limits or bulk endpoint specifications, making migration pacing unpredictable without a technical scoping call.
  • Push token migration from legacy providers requires manual CSV export and Xtremepush dev team involvement, adding coordination overhead.
  • Enterprise features (encrypted push, location services) are separately priced add-ons negotiated with account management, not self-serve.
  • Message builder flexibility is limited compared to dedicated email or creative tools, prompting some teams to author content elsewhere and import.
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 Xtremepush 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

    Xtremepush: Not publicly documented.

  • Data volume sensitivity

    A

    Xtremepush exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Straightforward migrations under 20,000 Xtremepush profiles with no custom objects and clean attribute data land between three and five weeks. Migrations with custom objects, loyalty state migration, large consent record audits, or complex tag cardinality analysis move to eight to twelve weeks because of schema design time, custom field creation, and sandbox reconciliation. Discovery alone takes one to two weeks regardless of size.

Adjacent paths

Related migrations to explore

Ready when you are

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