CRM migration
Field-level mapping, validation, and rollback between Actito and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Actito
Source
Twenty CRM
Destination
Compatibility
5 of 11
objects map 1:1 between Actito and Twenty CRM.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Actito to Twenty CRM is a platform-type transition from marketing automation with a Profile-centric data model to a relational CRM with a Person-and-Company model. Actito's Profiles (with standard and custom attributes) map 1:1 to Twenty People, and Actito's Custom Tables map to Twenty Custom Objects with their relationship definitions preserved. Entity partitioning in Actito translates to workspace-filtered views in Twenty, and Profile-level subscription preferences migrate as structured opt-in fields on the People record. Multi-channel campaign configurations, push device tokens, and scenario automations do not migrate as functional code; we deliver a written inventory of every campaign and scenario requiring rebuild in Twenty's task-and-activity model. We use Actito's ETL export jobs to overcome the 100-calls-per-minute API rate limit and schedule bulk exports during off-peak hours to keep migration time within the agreed window.
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 Actito 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.
Actito
Profile
Twenty CRM
Person
1:1Actito Profiles map directly to Twenty People. Standard attributes (email, name, phone, address) migrate as typed fields. Custom profile attributes inspect their data type during scoping and map to Twenty's equivalent field type (text, number, date, boolean, or picklist). We preserve the Actito profile identifier in a custom field actito_profile_id__c for audit traceability.
Actito
Company
Twenty CRM
Company
1:1Actito Companies (if the licence includes a company attribute on Profile) map to Twenty Companies. Domain becomes the Company website. Address attributes migrate to the Billing Address block. The Company record is created before any Person import so the companyId relationship resolves at insert time.
Actito
Custom Table
Twenty CRM
Custom Object
1:1Actito Custom Tables connected to Profiles via relationships migrate to Twenty Custom Objects with equivalent field definitions. We inspect the table schema during scoping, map field types to Twenty equivalents, and recreate the lookup relationships as Twenty field references. Custom table naming convention follows Twenty's API naming rules during schema creation.
Actito
Entity
Twenty CRM
Workspace View
lossyActito Entities partition all resources (data structures, campaigns, scenarios) within a licence. Twenty has workspaces but no entity equivalent. We preserve entity names and scope assignments as workspace-filtered views or as a category field on the Person record, and deliver a written map of which entities map to which views for the customer's admin to configure post-migration.
Actito
Subscription and Preference
Twenty CRM
Person (structured fields)
lossyProfile-level opt-in and preference data migrates as structured fields on the Twenty Person record. We create boolean fields for each active subscription channel (email_optin, sms_optin, push_optin) and a multi-select picklist for preference categories. Double opt-in status and consent timestamps migrate to dedicated date and boolean fields for GDPR audit readiness.
Actito
Campaign (multi-channel)
Twenty CRM
Opportunity
lossyActito campaign configurations (name, schedule, targeting criteria, channel assignment) do not have a direct functional equivalent in Twenty. We migrate campaign metadata as Opportunity records named after the Actito campaign, with channel type stored in a picklist field and targeting criteria preserved in a long-text notes field for the admin to reference when rebuilding campaign logic manually in Twenty's activity model.
Actito
Scenario (automated workflow)
Twenty CRM
Task List (written inventory)
lossyActito Scenarios are event-triggered automation workflows with multi-step branching, delays, and channel actions. Twenty has no native scenario or workflow engine. We map scenario logic (trigger conditions, branching rules, action steps) to a written task checklist that the customer's admin uses to recreate the automation logic in their chosen external tool or as a manual process. We do not migrate Scenarios as functional code.
Actito
Channel Configuration (Email, SMS)
Twenty CRM
Note attached to Person
lossyActito channel configurations (sender addresses, DKIM/SPF records, template references) are destination-specific and cannot be transferred. We migrate the template content as a Note attached to the Person record and flag DNS authentication records (DKIM public key, SPF TXT record) that must be reconfigured in the customer's email sending infrastructure before activation in Twenty.
Actito
Campaign Interaction Events
Twenty CRM
Activity Task
1:1Actito campaign interaction events (opens, clicks, bounces, unsubscribes) generated during campaign execution migrate as Twenty Activity records linked to the Person. The event type (email_open, email_click, sms_delivered, unsubscribe) maps to a Task or Note with a category field, preserving the timestamp and campaign reference. We note that historical reporting will reflect Twenty data only from the go-live date forward.
Actito
Export Definition
Twenty CRM
CSV Import Configuration
1:1Actito Export API job definitions (file naming patterns, scheduling, compression type) map to Twenty CSV import configurations. We document the original export schedule and recreate the equivalent import configuration in Twenty's UI for any recurring imports the customer maintains.
Actito
Targeting Criteria
Twenty CRM
Filter (view-level)
lossyActito segment-building rules and Profile selection criteria migrate to Twenty view filters. Complex Actito-specific operators (such as 'is last month' or behavioural event windows) translate to Twenty filter expressions where equivalent operators exist. Operators without a Twenty equivalent are flagged in the mapping document for manual recreation.
| Actito | Twenty CRM | Compatibility | |
|---|---|---|---|
| Profile | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Custom Table | Custom Object1:1 | Fully supported | |
| Entity | Workspace Viewlossy | Fully supported | |
| Subscription and Preference | Person (structured fields)lossy | Fully supported | |
| Campaign (multi-channel) | Opportunitylossy | Fully supported | |
| Scenario (automated workflow) | Task List (written inventory)lossy | Fully supported | |
| Channel Configuration (Email, SMS) | Note attached to Personlossy | Fully supported | |
| Campaign Interaction Events | Activity Task1:1 | Not supported | |
| Export Definition | CSV Import Configuration1:1 | Fully supported | |
| Targeting Criteria | Filter (view-level)lossy | Mapping required |
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.
Actito gotchas
API rate limit of 100 req/min is restrictive for bulk migration
V4 deprecation overlap requires migration path sequencing
Push notification migration excludes campaign history
Maximum 5 API keys per licence constrains parallel migration workers
Excel export row limitation conflicts with large dataset expectations
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 scoping
We audit the source Actito portal across licences, entities, Profile schemas (standard and custom attributes), Custom Table definitions and their relationship links, active Scenarios, campaign configurations, and subscription preference datasets. We pair this with a Twenty workspace review to identify which standard fields are available, which custom fields need to be created, and whether the destination workspace is self-hosted or cloud. The discovery output is a written migration scope with record counts per object, a preliminary field mapping matrix, and an identification of any Actito-specific features (push tokens, scenario automations) that fall outside the migration scope.
Schema design and field mapping matrix
We design the destination schema in Twenty. This includes creating custom fields for Actito custom profile attributes that have no standard Twenty equivalent, setting up Custom Objects for Actito Custom Tables with their field types and lookup relationships, configuring workspace-filtered views to replicate Actito entity partitions, and defining the subscription preference fields (emailOptIn, smsOptIn, pushOptIn, consentDate) on the Person record. The field mapping matrix is reviewed by the customer's admin before any data is extracted.
ETL export jobs and API export setup
We configure Actito ETL export jobs for volume data (Profiles, Custom Tables) using CSV with GZIP compression, which bypasses the 100-calls-per-minute API rate limit. For smaller datasets and delta exports, we use Actito's REST API with controlled polling intervals and batch sizes of 500 records per request. We request a temporary rate-limit increase from Actito support before the export phase begins. All exports are validated against the source record counts before proceeding to load.
Sandbox migration and reconciliation
We run a full migration into a Twenty test workspace using production-equivalent data volume. The customer's admin reviews record counts (Companies in, People in, Custom Objects in), spot-checks 25-50 records against the Actito source, and validates that relationship lookups (Person to Company, Custom Object to Person) resolve correctly. Any field mapping corrections, data quality issues, or missing custom field definitions are resolved in this phase before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Companies first (the one side of relationships), People second with companyId resolved from the Company import, Custom Objects third (after their target standard records exist), Activities last (linked to the migrated Person and Company records). Each phase emits a row-count reconciliation report before the next phase begins. We flag any record that fails import validation with a reason code and resolve in a remediation pass before finalising.
Cutover, validation, and automation handoff
We freeze Actito writes during cutover, run a final delta migration of records modified during the migration window, then enable Twenty as the system of record. We deliver the Scenario inventory document, the campaign configuration map, and the targeting criteria translation guide to the customer's admin team for manual rebuild in Twenty. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Actito Scenarios as automations inside the migration scope; that work requires a separate assessment of the customer's chosen automation tool post-migration.
Platform deep dives
Actito
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 Actito 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
Actito: 100 requests per minute per licence; 5 concurrent requests maximum; 5 API keys per licence.
Data volume sensitivity
Actito 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 Actito to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Actito 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 Actito
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.