CRM migration
Field-level mapping, validation, and rollback between eTrigue and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
eTrigue
Source
Twenty CRM
Destination
Compatibility
5 of 10
objects map 1:1 between eTrigue and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
eTrigue DemandCenter is a campaign-centric marketing automation platform that does not have a native CRM data model — there are no Accounts, no Opportunities, and no Deals. When teams move to Twenty CRM, the migration is an expansion as much as a replacement: we bring Prospects into Contacts and Companies, decode the numeric Status codes that eTrigue's CSV export returns, and decompose the five-component 3D Lead Score into individual custom fields in Twenty so the scoring logic can be rebuilt. Campaign response history (page views, email opens, form submissions) migrates as Timeline entries on the Contact record. Partner program data stored in eTrigue custom Prospect fields maps to the Company object with attribution flags. We do not migrate campaigns as automations; the campaign name and response counts transfer, and the customer's admin rebuilds the campaign logic in Twenty or a companion email platform.
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 eTrigue 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.
eTrigue
Prospect
Twenty CRM
Person
1:1eTrigue Prospects map 1:1 to Twenty CRM Person records. Standard fields (name, email, phone, company, job title) transfer directly. We resolve the email address as the dedupe key and flag any Prospects with duplicate emails for the customer's admin to resolve before final insert. The migration runs in CSV tranches from eTrigue's built-in export because no public API exists.
eTrigue
Prospect Status (numeric codes)
Twenty CRM
Person subscription status
lossyeTrigue's Status field exports as numeric codes (e.g., 1 = Active, 2 = Opt-Out) that must be decoded before insert. We detect these during data profiling, apply a decoding map derived from eTrigue's support documentation, and set Twenty's Person subscriptionStatus or a custom hasOptedOut field appropriately. Silent insertion of numeric codes as text values would incorrectly set all records to active status.
eTrigue
Prospect Company
Twenty CRM
Company
1:1eTrigue Prospects reference a company name as a text field rather than a related Company object. We extract distinct company names from all Prospects, upsert them as Twenty CRM Company records, then back-fill the Person.companyId lookup on each Person during insert. This creates the account hierarchy in Twenty that eTrigue never maintained.
eTrigue
3D Lead Score (five sub-scores)
Twenty CRM
Custom number fields on Person
lossyeTrigue's 3D Lead Scoring stores Campaign Score, Activity Score, Source Score, Relationship Score, and Buy Time Score as five separate numeric properties on the Prospect. We create five custom number fields on the Person object in Twenty before migration, map each sub-score to its corresponding field, and flag the composite logic in a written scoring rebuild guide for the customer's admin. Merging five scores into one field loses the attribution detail that makes the 3D model useful.
eTrigue
Lead Score (composite)
Twenty CRM
Custom number field on Person
lossyIf the customer uses eTrigue's standard composite Lead Score rather than 3D scoring, we map it to a single custom number field etrigue_lead_score__c on Person. We note which scoring model was active so the customer can decide whether to use Twenty's built-in lead scoring or rebuild the composite formula in a companion tool.
eTrigue
Campaign Response History
Twenty CRM
Timeline entries on Person
1:manyeTrigue records each Prospect's campaign responses (page views, email opens, form submissions, click-throughs) as a dated Activity History. We export this as a structured log and load it as Twenty CRM Timeline entries on the Person record, preserving the original timestamp and activity type. Each response becomes a separate Timeline entry with the campaign name as the context label. This is the richest data set in eTrigue and the most migration-intensive because of row count.
eTrigue
Campaign
Twenty CRM
Program
1:1eTrigue Campaigns (names, campaign type, start and end dates) transfer to Twenty CRM Programs. We preserve the campaign response count and the associated Prospect list as a Program participants list in Twenty. Note that the campaign automation logic (workflow triggers, nurture sequences, enrollment criteria) does not migrate; we deliver a written campaign logic inventory for the customer's admin to rebuild in Twenty or a companion marketing automation tool.
eTrigue
Custom Prospect Fields
Twenty CRM
Custom fields on Person
1:1eTrigue Boolean, Text, Number, and Date custom fields defined in Settings > Prospect Fields migrate to Twenty CRM Person custom fields of the equivalent type. Boolean fields with custom labels (e.g., true = 'Has Demo Access') transfer their string labels into a Text or Select field to preserve the original meaning. We pre-create the custom field schema in Twenty before any Person records are inserted.
eTrigue
Partner Program Data (Lead Accelerator)
Twenty CRM
Company custom fields
lossyCustomers using eTrigue Lead Accelerator store partner organization names and partner-specific campaign attribution in custom Prospect fields. We map these to Twenty CRM Company custom fields (partner_name__c, partner_attribution__c) and flag any partner-specific scoring rules that relied on the Lead Accelerator scoring engine for manual recreation. The partner-to-company elevation requires that the Prospect.companyName field is populated, which we validate during data profiling.
eTrigue
Landing Page / Progressive Form
Twenty CRM
Form configuration documentation
1:1eTrigue progressive form field definitions export as a field list but do not migrate as a functional form. We deliver a written form inventory with the source field names, types, and validation rules for the customer's admin to recreate in Twenty or a companion form tool. Styling and layout are not preserved.
| eTrigue | Twenty CRM | Compatibility | |
|---|---|---|---|
| Prospect | Person1:1 | Fully supported | |
| Prospect Status (numeric codes) | Person subscription statuslossy | Fully supported | |
| Prospect Company | Company1:1 | Fully supported | |
| 3D Lead Score (five sub-scores) | Custom number fields on Personlossy | Fully supported | |
| Lead Score (composite) | Custom number field on Personlossy | Fully supported | |
| Campaign Response History | Timeline entries on Person1:many | Fully supported | |
| Campaign | Program1:1 | Fully supported | |
| Custom Prospect Fields | Custom fields on Person1:1 | Fully supported | |
| Partner Program Data (Lead Accelerator) | Company custom fieldslossy | Fully supported | |
| Landing Page / Progressive Form | Form configuration documentation1: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.
eTrigue gotchas
No public API means migration relies on CSV export only
Opt-Out status encoding in Status field export
Lead Score sub-components are five separate fields, not one
Partner program data stored in custom fields, not a native object
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
Data audit and export strategy
We audit the eTrigue portal to document all active Prospects, custom field definitions, saved search criteria used in Scheduled Exports, and the 3D or standard Lead Scoring configuration. We define the CSV export strategy: which saved search filters apply per data tranche, how many export batches are required for the Prospect volume, and which activity history export options are available. This audit output is the migration scope document that both teams sign off before extraction begins.
CSV extraction in tranches and dataset assembly
We run the CSV exports from eTrigue using the customer's account with the saved search filters documented in step one. Large databases export in multiple batches. We assemble the full dataset from all tranches, validate email address format across the full set, and flag records with missing or malformed email addresses for the customer's admin to correct. Status field numeric codes are decoded at this stage.
Twenty CRM workspace configuration
We create the custom fields on the Person and Company objects in Twenty CRM to receive the 3D Lead Score sub-components, custom Prospect field mappings, and partner attribution fields. We configure the Company object as the parent of Person (matching Twenty's data model), pre-create any required Company records from distinct Prospect.companyName values, and validate the workspace schema in a staging environment before production data is loaded.
Lead score decomposition and data profiling
We decompose the 3D Lead Score into its five component fields (Campaign Score, Activity Score, Source Score, Relationship Score, Buy Time Score) during the data transform phase. Each sub-score maps to its corresponding custom Person field in Twenty. We flag any Prospects using the standard composite score separately and note the scoring model type in a custom field on the Person record. Activity history (page views, email opens, form submissions) is parsed into a Timeline entry format compatible with Twenty's API.
Production load in dependency order
We load data in dependency order: Companies first (from distinct Prospect company names), then Persons with the resolved CompanyId lookup, then Timeline entries (activity history) linked to the correct Person record. Lead score sub-fields and custom Prospect fields insert in the same Person load phase. We run row-count reconciliation after each phase and spot-check 25-50 records against the eTrigue source before declaring the load complete.
Campaign logic inventory and handoff
We deliver a written campaign logic inventory covering every active eTrigue campaign with its enrollment criteria, nurture sequence steps, and scoring logic. This document serves as the rebuild guide for the customer's admin in Twenty or a companion marketing automation platform. We do not rebuild campaigns, automations, or forms as code; that work is outside standard migration scope. Partner program scoring rules are flagged separately in the inventory for Lead Accelerator customers.
Platform deep dives
eTrigue
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 eTrigue and Twenty CRM.
Object compatibility
2 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
eTrigue: Not publicly documented.
Data volume sensitivity
eTrigue doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 eTrigue to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your eTrigue 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 eTrigue
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.