CRM migration
Field-level mapping, validation, and rollback between MobileWorker and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
MobileWorker
Source
Twenty CRM
Destination
Compatibility
10 of 11
objects map 1:1 between MobileWorker and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
MobileWorker is an ArcGIS Online user type designed for field technicians who collect data, receive work assignments, and navigate routes offline. Its data model centres on Workers, Assignments, and location-based dispatch records — objects that have no direct counterpart in Twenty CRM's standard schema. Twenty provides People, Companies, Opportunities, Tasks, and Notes as standard objects, with custom objects available on paid tiers for anything beyond that. This migration carries every record type from MobileWorker — worker profiles, assignment history, routing data, geospatial fields — into Twenty's relational structure, creating custom fields and custom objects where no standard equivalent exists. FlitStack AI sequences the migration so parent records (Companies) load before child records (People linked by companyId), validates field-level mapping against a sample slice before committing the full run, and captures a 24–48 hour delta window for in-flight changes during cutover. The operational reality is that MobileWorker's offline-first dispatch logic does not translate to Twenty CRM's workflow builder, so routing rules and assignment automation must be rebuilt using Twenty's trigger-based actions.
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 MobileWorker 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.
MobileWorker
Worker / Field Technician
Twenty CRM
People
1:1MobileWorker stores technician profiles as named users tied to an ArcGIS organizational account. These map directly to Twenty's People object. Custom fields capture MobileWorker's worker-specific attributes (certifications, vehicle ID, dispatch zone) that have no standard equivalent in Twenty. Owner assignment resolves by email match against Twenty workspace members.
MobileWorker
Work Assignment / Job
Twenty CRM
Opportunity or Task (custom)
1:1MobileWorker's core record is a work assignment with status, priority, due date, assigned worker, and location. Twenty's standard Opportunity tracks sales deals, not field jobs. We create a custom Opportunity sub-type or use Tasks for short-cycle assignments, preserving status (assigned, in-progress, completed), priority pick-list, and the original assignment ID as Source_System_ID__c. Routing data lives in custom fields.
MobileWorker
Company / Account
Twenty CRM
Companies
1:1MobileWorker's location records often attach to a business address. These map to Twenty's Companies object with standard fields (name, domain, industry, employee count). The company's physical address populates Twenty's address fields, and the primary contact on the assignment links to a Person record via companyId.
MobileWorker
Location / Work Site
Twenty CRM
Companies (address fields) + custom fields
many:1A MobileWorker assignment includes a work-site address and lat/long coordinates. The address migrates to Twenty's Company address fields. Geospatial coordinates (latitude, longitude, accuracy, timestamp) have no native Twenty field type — we create custom number fields (Site_Latitude__c, Site_Longitude__c, Location_Accuracy__c) for reference. Geofence radius migrates as a custom number field.
MobileWorker
Worker Assignment History
Twenty CRM
Task (historical events)
1:1Each status change on a MobileWorker assignment generates a timestamped audit entry. We migrate these as Twenty Tasks with Type='Field Update', preserving the original timestamp, worker name, old status, and new status. This maintains the full assignment lifecycle for reporting continuity in Twenty.
MobileWorker
Attachment / Photo
Twenty CRM
Notes (file attachment)
1:1Photos and documents attached to MobileWorker assignments (before/after images, signature captures) are downloaded and re-uploaded as Twenty Notes linked to the relevant Opportunity or Task record. File size limits apply — files over the platform threshold are flagged for manual retrieval. Inline images in notes are extracted and re-hosted.
MobileWorker
Custom Attribute Form (Worker)
Twenty CRM
Custom fields on People
1:1MobileWorker allows custom attribute forms attached to workers — certifications, vehicle plates, skill tags, dispatch preferences. Each attribute becomes a custom field on Twenty's People object. Pick-list values (e.g., certification type) map value-by-value to Twenty select fields. We create all custom fields in Twenty before the migration run.
MobileWorker
Custom Attribute Form (Assignment)
Twenty CRM
Custom fields on Opportunity / Task
1:1Assignment-level custom attributes (work type, materials used, service code, client PO number) map to custom fields on the target Opportunity or Task object in Twenty. Number fields, text fields, and select fields are created in Settings → Data Model before import. Required-field constraints are honoured during mapping validation.
MobileWorker
Dispatch Group / Team
Twenty CRM
Custom field on People + Workspace Members
1:1MobileWorker's dispatch groups (team-based routing) map to a custom pick-list field on Twenty's People object (Dispatch_Team__c) and are cross-referenced against Twenty workspace members. If Twenty members exist with matching emails, the worker record links directly; otherwise the dispatch team is stored as a reference field for manual assignment.
MobileWorker
MobileWorker User / Owner
Twenty CRM
Workspace Members
1:1MobileWorker owner IDs resolve by email match against Twenty workspace members. Unmatched owners are flagged before migration — the team either invites them to Twenty first or assigns their records to a fallback member. No record lands in Twenty without a resolved owner reference. MobileWorker's role-based permissions (dispatcher vs field worker) do not migrate.
MobileWorker
Notes / Comments on Assignment
Twenty CRM
Notes
1:1Free-text notes and comments attached to MobileWorker assignments migrate as Twenty Notes linked to the target Opportunity or Task record. Original timestamps and author names are preserved. Rich-text formatting is converted to Twenty's supported format — complex HTML notes are flagged for manual review.
| MobileWorker | Twenty CRM | Compatibility | |
|---|---|---|---|
| Worker / Field Technician | People1:1 | Fully supported | |
| Work Assignment / Job | Opportunity or Task (custom)1:1 | Fully supported | |
| Company / Account | Companies1:1 | Fully supported | |
| Location / Work Site | Companies (address fields) + custom fieldsmany:1 | Fully supported | |
| Worker Assignment History | Task (historical events)1:1 | Fully supported | |
| Attachment / Photo | Notes (file attachment)1:1 | Fully supported | |
| Custom Attribute Form (Worker) | Custom fields on People1:1 | Fully supported | |
| Custom Attribute Form (Assignment) | Custom fields on Opportunity / Task1:1 | Fully supported | |
| Dispatch Group / Team | Custom field on People + Workspace Members1:1 | Fully supported | |
| MobileWorker User / Owner | Workspace Members1:1 | Fully supported | |
| Notes / Comments on Assignment | Notes1: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.
MobileWorker gotchas
No public API documentation for schema or endpoints
No documented bulk export mechanism
Authentication method not publicly documented
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
Audit and export MobileWorker source data
FlitStack AI extracts all records from MobileWorker via the ArcGIS Online export interface — Workers, Assignments, Assignment History, and any custom attribute forms. We export to CSV format, capturing all visible columns in each object view. Location data (lat/long, accuracy, geofence radius) is extracted as separate fields. We validate record counts against MobileWorker's internal counts and flag any records with missing required fields before transformation begins. Duplicate records and stale entries (no activity in 24+ months) are documented for the team to review.
Design and pre-create Twenty CRM schema
Before any data lands, FlitStack AI delivers a schema setup plan specifying every custom field needed on People, Companies, and Opportunity objects — including field types, pick-list values, and required/unique constraints. The Twenty workspace admin creates these fields in Settings → Data Model. We also map dispatch groups and create the Assignee__c lookup structure. Workspace members are invited and confirmed so owner resolution can resolve during the migration run. This step prevents the most common Twenty import failure: importing into non-existent fields.
Transform and validate field mapping with a sample migration
A representative slice of 100–300 records — spanning workers, companies, assignments, and history events — is migrated first. FlitStack AI generates a field-level diff showing every source field, its mapped Twenty destination, any transformation applied (coordinate splitting, status value mapping, date normalisation), and any records that failed to resolve (unmatched worker emails, missing parent companies). The team reviews the diff to confirm geospatial fields landed correctly, assignment status mapping matches business intent, and owner resolution is complete before the full run commits.
Execute full migration with delta-pickup window
With schema validated and sample migration approved, FlitStack AI runs the full migration against Twenty CRM using the REST and GraphQL APIs with rate-limit throttling. All object batches are loaded in dependency order: Companies first, then People (linked by companyId), then Opportunities (linked by companyId and Assignee__c), then Tasks for assignment history, then Notes for attachments. A delta-pickup window opens immediately after the full run completes — typically 24–48 hours — capturing any assignments modified or created in MobileWorker during the cutover. An audit log records every operation, and one-click rollback is available if reconciliation identifies data integrity issues.
Reconcile, verify, and hand off rebuild reference for automations
FlitStack AI delivers a reconciliation report comparing record counts, field-level completeness, and relationship integrity between source and destination. Any records that failed to migrate or resolved to a fallback owner are listed with root cause. We export the MobileWorker workflow definitions and dispatch routing logic as a human-readable rebuild reference document for the Twenty admin, covering how assignment-status triggers map to Twenty's workflow builder and how geofence routing should be reconstructed using Twenty's custom-object and trigger model.
Platform deep dives
MobileWorker
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across MobileWorker and Twenty CRM.
Object compatibility
1 of 8 objects need a manual workaround.
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
MobileWorker: Not publicly documented.
Data volume sensitivity
MobileWorker 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 MobileWorker to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your MobileWorker 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 MobileWorker
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.