CRM migration
Field-level mapping, validation, and rollback between Xtremepush and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Xtremepush
Source
Twenty CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Xtremepush and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
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.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
Twenty CRM
Person (People)
1:1Xtremepush 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
Twenty CRM
Company
1:1Xtremepush 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
Twenty CRM
Custom Fields on Person
lossyXtremepush 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
Twenty CRM
Custom Fields on Person
1:1Xtremepush 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
Twenty CRM
Custom Object or Task
1:1Xtremepush 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
Twenty CRM
Custom Object
1:1Xtremepush 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
Twenty CRM
Custom Fields on Person
1:1Loyalty 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)
Twenty CRM
Documentation Reference
lossyPush 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
Twenty CRM
Tasks and Notes
1:1Xtremepush 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)
Twenty CRM
Documentation Reference
lossyXtremepush 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
Twenty CRM
Custom Object
1:1Xtremepush 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
Twenty CRM
WorkspaceMember
1:1Xtremepush 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.
| Xtremepush | Twenty CRM | Compatibility | |
|---|---|---|---|
| User Profiles | Person (People)1:1 | Fully supported | |
| Companies | Company1:1 | Fully supported | |
| Attributes and Tags | Custom Fields on Personlossy | Fully supported | |
| Preferences and Consent Records | Custom Fields on Person1:1 | Mapping required | |
| Campaigns | Custom Object or Task1:1 | Mapping required | |
| Audience Segments | Custom Object1:1 | Mapping required | |
| Loyalty Program State | Custom Fields on Person1:1 | Mapping required | |
| Device Tokens (APNS / Firebase GCM) | Documentation Referencelossy | Mapping required | |
| Events and Behavioral Data | Tasks and Notes1:1 | Mapping required | |
| Locations (Geofences and iBeacons) | Documentation Referencelossy | Mapping required | |
| Custom Objects | Custom Object1:1 | Fully supported | |
| Owner | WorkspaceMember1:1 | Fully supported |
Gotchas + challenges
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 gotchas
Push token migration requires coordinated SDK update and dev team handoff
Consent preference export does not include full audit trail
Location services require separate paid activation and SDK changes
Loyalty and gamification state is profile-relative, not independently exportable
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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
Xtremepush
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Xtremepush and Twenty CRM.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Xtremepush: Not publicly documented.
Data volume sensitivity
Xtremepush exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Xtremepush to Twenty CRM migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Xtremepush
Other ways to arrive at Twenty CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.