CRM migration
Field-level mapping, validation, and rollback between Insider and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Insider
Source
Twenty CRM
Destination
Compatibility
10 of 11
objects map 1:1 between Insider and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Insider is a customer engagement and CDP platform; Twenty CRM is a sales-focused CRM built on a modern open-source stack. These are different platform categories, which means the migration requires explicit data-model decisions at every layer. User profiles and company records transfer directly to Twenty People and Companies. Behavioral event streams (page views, purchases, funnel steps) have no native equivalent in Twenty's activity model and must be archived as exported files or recreated as Opportunity notes rather than native events. Insider's Journeys and automation sequences cannot be exported via API; we document every active journey and deliver a written rebuild guide for the customer's admin. Channel configurations (SMS sender IDs, WhatsApp templates, email sender domains) are destination-platform-specific and require re-registration. Custom attributes transfer as flat key-value fields on People or Companies; Insider tag arrays map to Twenty label fields. The migration scope explicitly excludes workflows, automations, segments (as rule logic), forms, landing pages, and reports.
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 Insider 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.
Insider
User (Profile)
Twenty CRM
Person
1:1Insider User records map to Twenty Person records. Standard profile attributes (email, firstName, lastName, phone, city, country) transfer directly via the Insider Unification API upsert endpoint. Custom user attributes export as flat key-value columns and map to custom fields on the Twenty Person object. We pre-create the custom field schema in Twenty via the /metadata API before importing. Any Insider user with no email is flagged as a partial record and held for admin review because Twenty Person requires an email as the primary identifier.
Insider
Company
Twenty CRM
Company
1:1Insider Company records map to Twenty Company records. The company name, domain, industry, size, location, and custom company attributes transfer directly. Companies with no domain are created with a placeholder domain and flagged for manual enrichment post-migration. We resolve Person-to-Company relationships using Insider's companyId field on the user record to populate the Twenty Person.work Company link.
Insider
Event (Behavioral)
Twenty CRM
Activity or Archived File
lossyInsider behavioral events (page views, purchases, funnel steps, custom events) have no native equivalent in Twenty CRM's activity model. Twenty supports Tasks, Events (meetings), and Notes attached to Person or Company records, but not a generic event stream. We export the full event log via Insider's Raw Export API and make one of three disposition decisions per customer: (1) archive the event log as a JSON or CSV file in a designated storage location, (2) create a Note record per user summarizing key lifecycle events, or (3) create a custom OpportunityEvent custom object in Twenty if the customer requires event history on the CRM side. The customer chooses the disposition during scoping.
Insider
Segment (Member List)
Twenty CRM
Person Label or Static List
1:1Insider segments are defined by attribute rules and event conditions in the CDP. The rule logic itself does not migrate. We export the member list (user ID + segment name + membership timestamp) and recreate segment membership in Twenty as Person Label tags or as a static list stored as a custom field. The customer chooses label strategy during scoping. Segment names with spaces are converted to Twenty-compatible label slugs.
Insider
Journey (Automation)
Twenty CRM
Documentation Only
1:1Insider Journeys are multi-step event-driven workflows with entry triggers, conditional gates, and channel actions. There is no API endpoint to export Journey definitions. We run a Journey audit during discovery and document every active Journey with its trigger logic, conditional branches, channel steps, and exit conditions in a written handoff document. The customer's admin rebuilds journeys in their chosen automation tooling post-migration. We do not migrate Journeys as code.
Insider
Product (Catalog)
Twenty CRM
Opportunity Line Item or Custom Object
1:1Insider Product catalog data (sku, name, price, category, images, custom attributes) maps to Twenty Opportunity products if the customer uses Twenty's Opportunity feature for deal management. Products without associated deals are stored as a custom Product catalog object that we create in Twenty before import. Price list management in Twenty is handled via custom fields rather than a native price book object.
Insider
Transaction (Order)
Twenty CRM
Opportunity
1:1Insider Transaction records (order_id, total, items, currency, timestamps) map to Twenty Opportunity records when the customer uses Opportunities to track deals and revenue. Each transaction becomes an Opportunity with the transaction total as the amount, the order_id in the Opportunity name or a custom field, and line items as custom fields or a related custom object. Historical closed-won transactions become closed Opportunities with a historical flag.
Insider
Tag
Twenty CRM
Label
1:1Insider User tags export as an array per user. We preserve the full tag array and recreate each unique tag as a Twenty Label on the Person record. Tags with spaces or special characters are slugified to Twenty's label format. The customer chooses whether tags apply to Person, Company, or both during scoping.
Insider
Custom Attribute
Twenty CRM
Custom Field
1:1Insider allows arbitrary key-value custom properties beyond the standard profile schema. All custom attributes export as flat key-value columns from the Unification API. We create matching custom fields in Twenty for each unique custom attribute key, with field type inferred from the value format (string, number, date, boolean). Multi-value arrays are stored as text or multi-select depending on Twenty's field type support at migration time.
Insider
List (Static Collection)
Twenty CRM
Person Label or Custom Field
1:1Insider Lists are static user collections beyond dynamic segment membership. We export list membership (user ID + list ID) and recreate each list as a Person Label or a boolean custom field (e.g., VIP_List = true). The list name becomes the label or field name, and the customer chooses the strategy during scoping.
Insider
Owner
Twenty CRM
WorkspaceMember
1:1Insider Owners (assigned users on records) map to Twenty WorkspaceMember records. We resolve owners by email match. Any Insider Owner without a matching Twenty WorkspaceMember is held in a reconciliation queue for the customer's admin to provision the user before record import resumes. Owner assignment on Person and Company records transfers after WorkspaceMember resolution is complete.
| Insider | Twenty CRM | Compatibility | |
|---|---|---|---|
| User (Profile) | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Event (Behavioral) | Activity or Archived Filelossy | Fully supported | |
| Segment (Member List) | Person Label or Static List1:1 | Fully supported | |
| Journey (Automation) | Documentation Only1:1 | Fully supported | |
| Product (Catalog) | Opportunity Line Item or Custom Object1:1 | Fully supported | |
| Transaction (Order) | Opportunity1:1 | Fully supported | |
| Tag | Label1:1 | Fully supported | |
| Custom Attribute | Custom Field1:1 | Fully supported | |
| List (Static Collection) | Person Label or Custom Field1: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.
Insider gotchas
API rate limit of 25,000 requests per minute is shared across endpoints
No automated journey export — automations must be rebuilt manually on exit
Pricing is traffic-based with no public tiers, leading to billing surprises
Contract lock-in with annual or multi-year terms
Long implementation ramp complicates early-stage migrations
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 data audit
We audit the source Insider account across user profiles, company records, product catalog, transaction history, segment definitions, active Journey list, tag taxonomy, custom attribute keys, and event volume. We use the Unification API to pull profile and company data and the Raw Export API to assess event log size and format. We run a Journey audit session with the customer's admin to document every active automation. The discovery output is a written migration scope document with object-by-object disposition decisions, record counts, and a behavioral data recommendation (archive, Note summary, or custom object).
Twenty schema preparation
We create the destination schema in Twenty before any data import. This includes creating custom fields on Person and Company for every Insider custom attribute key, creating any custom objects required (Product catalog, OpportunityEvent for behavioral history, or custom transaction line item objects), and setting up Label taxonomy to match the Insider tag and list structure. We use Twenty's /metadata API to create fields and validate the schema before record import begins. Twenty schema preparation happens in a staging environment when available or in the production org when not.
Behavioral data disposition decision
We present the behavioral data recommendation to the customer's team based on the event volume and the customer's reporting requirements. If the customer chooses file archive, we export the full event log as a structured JSON or CSV file with user ID linkage preserved. If the customer chooses Note summary, we generate a Note per Person summarizing key lifecycle events (first purchase, last activity, lifetime value tier, channel preference). If the customer chooses a custom event object, we create it in Twenty and load event records via the REST API. The chosen disposition is confirmed in writing before we execute.
Test migration and reconciliation
We run a full test migration using production-like data volume into a staging Twenty workspace. The customer's admin reviews record counts (People, Companies, Opportunities), spot-checks 25-50 random Person and Company records against the Insider source, and validates that custom fields populated correctly. The behavioral data disposition is validated (file format, Note content, or custom object records). Any mapping corrections are documented and applied before the production migration. The admin signs off the test migration results before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: WorkspaceMembers (validated against email roster), Companies (first because Person records reference them), Persons (with custom fields and label assignments), Opportunities (from transactions and deals, with CompanyId and Person links resolved), Activity history (Tasks, Events, Notes via REST API), then behavioral data (via the chosen disposition method). Each phase emits a row-count reconciliation report. We run Insider's API with batch chunking and exponential backoff against the 25,000 requests-per-minute rate limit.
Cutover, validation, and automation handoff
We freeze Insider writes during cutover, run a final delta migration of records modified during the migration window, then mark Twenty as the system of record. We deliver the Journey audit document and automation rebuild guide to the customer's admin team. We support a one-week hypercare window where we resolve reconciliation issues. We do not rebuild Insider Journeys as automation code; that work is documented for the customer's admin or a workflow rebuild partner. Post-migration, we recommend archiving the Insider account to preserve read access to historical data during the transition period.
Platform deep dives
Insider
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 Insider 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
Insider: 25,000 requests per minute, shared across Unification API endpoints (Upsert User Data and Delete User Attribute). Exceeding this returns HTTP 429 and requires retry with backoff..
Data volume sensitivity
Insider 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 Insider to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Insider 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 Insider
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.