CRM migration

Migrate from The Service Manager to Twenty CRM

Field-level mapping, validation, and rollback between The Service Manager and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

The Service Manager logo

The Service Manager

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between The Service Manager and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

The Service Manager stores incident records, problem tickets, change requests, service catalog items, and configuration items in an ITSM-oriented schema built around ITIL workflows. Twenty CRM uses a CRM object model centered on People, Companies, Opportunities, Tasks, and Notes, with a PostgreSQL-backed custom object layer that your workspace admin extends at runtime. The migration maps The Service Manager's contact and request records into Twenty's People object, maps companies and business accounts into Twenty's Companies object, and converts incident and task records into Twenty's Tasks object — linked back to the relevant People or Company record. The Service Manager's custom fields, status pick-lists, and priority values require value-by-value mapping because Twenty stores these as workspace-specific field metadata rather than platform-level enumerations. Workflows, change advisory board records, and SLA timers do not have a migration path — FlitStack AI exports definitions as JSON for manual rebuild in Twenty's workflow builder. The migration uses Twenty's REST and GraphQL API with 100 requests per minute on Pro and 200 requests per minute on Organization tiers, sequencing bulk writes to stay within rate limits while preserving relational integrity between objects.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

The Service Manager logo

The Service Manager

What's pushing teams away

  • Customization ceiling—heavily customized FSM workflows become brittle after major platform upgrades and require reconfiguration.
  • Pricing escalation—per-technician or per-seat licensing costs compound as field teams scale, pushing organizations toward flat-rate alternatives.
  • Integration debt—FSM platforms without robust REST APIs require middleware for CRM and ERP connectivity, adding maintenance overhead.
  • Reporting gaps—out-of-box analytics lack the depth needed for multi-region performance comparisons without custom report builds.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How The Service Manager objects map to Twenty CRM

Each row shows how a The Service Manager 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.

The Service Manager

Contact / End User (Requester)

maps to

Twenty CRM

People

1:1
Fully supported

The Service Manager's requester records map directly to Twenty's People object. Email, name, phone, and company association migrate as-is. The requester's internal SM user ID is stored as Source_System_ID__c for traceability and delta-run deduplication. Additional fields such as job title, department, and address can also be mapped when present, preserving relationships for reporting.

The Service Manager

Company / Account

maps to

Twenty CRM

Companies

1:1
Fully supported

Organizations stored in The Service Manager's Company or Configuration Item (Business Service) records migrate to Twenty's Companies object. Company name, domain, industry, and employee count fields map directly. Parent-company hierarchies migrate via the Parent Company field in Twenty. Address details, annual revenue, and any workspace-specific custom fields are also transferred, preserving the full corporate profile for sales and reporting.

The Service Manager

Incident Record

maps to

Twenty CRM

Tasks

1:1
Fully supported

Incident records from The Service Manager convert to Twenty Tasks. The incident ID becomes Source_System_ID__c. Title maps to Task name. Description and resolution notes merge into the Task body. Status, priority, and category map via value-mapping to Twenty's built-in select fields. Assignment maps to the Task assignee by email match.

The Service Manager

Problem Record

maps to

Twenty CRM

Tasks

1:1
Fully supported

Problem records migrate to Twenty Tasks with a Problem_Related__c flag set to true. The Problem ID is preserved as Source_System_ID__c. Related Incident IDs are stored in a custom linked-records field. Problem root-cause text migrates into the Task description field. This lets teams recreate the incident-problem relationship in Twenty via task linking.

The Service Manager

Change Request

maps to

Twenty CRM

Tasks

1:1
Fully supported

Change Request records migrate as Twenty Tasks with Change_Request__c set to true. The CR number, change type, risk level, and approval status map to custom fields on the task. CAB (Change Advisory Board) notes and implementation plan text migrate into the Task description. Approval workflow state does not carry over — FlitStack exports the workflow definition for manual rebuild.

The Service Manager

Configuration Item (CI)

maps to

Twenty CRM

Companies

1:1
Fully supported

Hardware assets, software instances, and business services stored as Configuration Items in The Service Manager map to Twenty's Companies object when they represent business accounts, or to a custom CI object when they represent technical assets. The CI class type determines whether it lands in Companies or a custom object. CI-to-CI relationships migrate as Company-to-Company relations in Twenty.

The Service Manager

Service Catalog Item

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Service catalog entries (requested items, offerings) map to a custom Service_Offering__c object in Twenty. Category, description, and availability status migrate as custom fields. Catalog-to-item hierarchies are recreated via self-referential relation fields in Twenty's data model. Each catalog item also carries price, lead time, and any workspace-specific attributes, preserving the full service offering details for sales and order management.

The Service Manager

Attachment / File

maps to

Twenty CRM

Files

1:1
Fully supported

Attachments on Incident, Problem, or Change records in The Service Manager are downloaded, re-uploaded to Twenty's workspace storage, and linked to the corresponding Task record. File name and original upload timestamp are preserved in the Twenty file metadata. Inline images in notes are extracted and hosted separately.

The Service Manager

Assignment Group / Queue

maps to

Twenty CRM

Workspace Member

1:1
Fully supported

The Service Manager assignment groups (support queues) map to groups of Twenty Workspace Members. Individual agent assignment in incidents maps directly to the matching Twenty user by email. Group-level assignment is surfaced as a custom Team__c field on the task for manual reassignment routing.

The Service Manager

SLA Definition

maps to

Twenty CRM

Custom Field on Task

1:1
Fully supported

SLA timers, breach thresholds, and escalation rules in The Service Manager have no native equivalent in Twenty's CRM model. We preserve SLA tier names and target hours as custom fields on Tasks (SLA_Tier__c, Target_Hours__c) for reference. Teams needing active SLA enforcement must implement this in Twenty's workflow builder post-migration.

The Service Manager

Workflow / Automation

maps to

Twenty CRM

None

1:1
Fully supported

The Service Manager workflows, escalations, and approval chains are ITIL automation constructs with no direct mapping to Twenty's CRM workflow builder. FlitStack AI exports workflow definitions as JSON for use as a rebuild specification. Teams must design replacement automations in Twenty's workflow editor targeting the migrated Task and custom object records.

The Service Manager

Survey / Satisfaction Rating

maps to

Twenty CRM

Custom Field on People or Task

1:1
Fully supported

Post-incident customer satisfaction scores and survey responses stored in The Service Manager migrate as custom fields on the associated Task record (CSAT_Score__c, Survey_Response__c). The survey configuration itself does not migrate — the response data becomes historical reference fields in Twenty.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

The Service Manager logo

The Service Manager gotchas

High

Dense service history causes export pagination failures

Medium

Custom fields on Work Orders differ by FSM version

Medium

Serialized asset cross-references break after migration

Low

Parts inventory snapshot staleness at cutover

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Twenty's workspace-level schema generation means custom field creation happens before data lands

    The Service Manager stores custom fields as part of its form and CMDB definitions — these are defined in the SM7 database schema. Twenty CRM generates its workspace schema dynamically at runtime via the fieldMetadata table. Custom fields do not exist in Twenty until your workspace admin creates them in Settings before the migration run. If you have 15+ custom fields on Incident records (priority reasons, departments, business unit tags), those must be pre-created in Twenty before FlitStack AI can write data into them. We deliver a field-creation checklist as part of the migration plan so Twenty's schema is ready before data lands.

  • SLA breach timers and escalation rules have no native migration path in Twenty CRM

    The Service Manager's core value for IT teams is its SLA engine — timers that automatically escalate priority, reassign owners, and trigger notifications when a ticket approaches breach. Twenty CRM's workflow builder handles object-event triggers but does not have a native SLA timer mechanism. We preserve SLA tier names, target hours, and breach history as custom fields on migrated tasks. Active SLA timers stop at migration cutover. If your team relies on automated SLA escalation, that logic must be rebuilt in Twenty's workflow builder using the exported workflow definition JSON as a specification. This is the most common post-migration gap for ITSM-to-CRM migrations.

  • Pro tier custom object limit of 10 may require collapsing ITSM entity types

    Twenty Pro caps custom objects at 10 per workspace. Organizations with multiple ITSM entity types (Incidents, Problems, Changes, Service Catalog Items, Knowledge Articles, Assets, Vendors) may exceed this limit on the Pro plan. Each of these entity types might map to a separate custom object in Twenty. The Organization tier removes this cap. We surface this constraint in the migration plan: if you are on Pro and have more than 8 custom object types in The Service Manager, we recommend either upgrading to Organization or collapsing related ITSM entities (for example, merging Assets into the Companies object with a type flag). This decision affects pricing and schema complexity and must be resolved before migration.

  • Import order constraint: Companies must land before People, People before Tasks

    Twenty's CSV import documentation explicitly requires a loading order: Companies first, then People (linked to Companies via companyId), then Opportunities and Tasks, then custom objects last. This reflects Twenty's PostgreSQL foreign-key model where the 'one' side of a one-to-many relationship must exist before the 'many' side can reference it. FlitStack AI respects this constraint by sequencing the migration run: accounts load first, then contacts with AccountId resolution, then tasks with assignee and company links. If your The Service Manager instance has orphaned contacts (requesters without an assigned company), those records require a fallback rule — we default them to an 'Unassigned' Company record or create a placeholder People record without a companyId link.

  • Attachment files re-hosted during migration may change URLs in Twenty

    The Service Manager stores file attachments in its own attachment catalogue with internal references that are not portable URLs. When FlitStack AI migrates attachments to Twenty, each file is re-uploaded to Twenty's workspace storage bucket, which generates new URLs. Any links to The Service Manager attachments embedded in documentation, knowledge base articles, or external systems will break after migration. We provide a mapping table of original attachment IDs to new Twenty attachment URLs so your team can update any hard-coded references post-migration. Inline images in rich-text fields are extracted, rehosted, and the img src attributes updated to point to the new Twenty-hosted URL.

Migration approach

Six steps for a successful The Service Manager to Twenty CRM data migration

  1. Audit The Service Manager data inventory and export

    FlitStack AI connects to The Service Manager's REST or SOAP API and runs a discovery scan to enumerate all record types: Contacts, Companies, Incidents, Problems, Change Requests, Configuration Items, and any custom entities. We produce a data inventory report showing record counts per type, custom field counts, and attachment volumes. Any records without email addresses (which prevent owner resolution in Twenty) are flagged for remediation before the migration run begins. This audit phase typically takes 2–4 days depending on data volume and API pagination behavior.

  2. Create Twenty workspace schema before data lands

    Based on the audit, FlitStack AI delivers a schema setup plan: the list of custom fields to create in Twenty's Settings, the mapping of pick-list values, and the decision framework for collapsing ITSM entity types onto Twenty's standard or custom objects. Your workspace admin (or our team) creates these fields before the migration run. We also map Workspace Members in Twenty to The Service Manager agent accounts via email matching — users without a Twenty account are flagged for provisioning before cutover.

  3. Run sample migration with field-level diff

    A representative slice of 200–500 records spanning People, Companies, Incidents, and Problems migrates into Twenty first. FlitStack AI generates a field-level diff comparing source values against destination values for every mapped field. You verify that status value-mapping looks correct, that assignee resolution by email worked, that custom fields populated, and that attachment links are intact. This validation step catches mapping errors before the full run commits. Any field that mismatches gets corrected in the mapping plan and the sample re-runs.

  4. Execute full migration with delta-pickup window

    The full record set migrates into Twenty respecting the Companies → People → Tasks loading order. A delta-pickup window (typically 24–48 hours after the initial load) captures any records created or modified in The Service Manager during the cutover window. FlitStack AI uses The Service Manager's API to pull only records with a last-modified timestamp after the migration start time and upserts them into Twenty. After delta-pickup completes, your team does a final reconciliation check before switching user logins to Twenty as the primary CRM.

  5. Deliver migration artifacts and rebuild reference package

    FlitStack AI delivers the full migration audit report, the field-level mapping specification, the attachment URL mapping table, and a JSON export of The Service Manager workflow definitions. The workflow JSON is designed for use as a rebuild specification in Twenty's workflow builder. An audit log captures every insert, update, and skip operation during the migration run. One-click rollback is available for 72 hours post-migration if reconciliation uncovers unexpected gaps — this reverts Twenty to its pre-migration state so the run can be corrected and restarted without data loss.

Platform deep dives

Context on both ends of the pair

The Service Manager logo

The Service Manager

Source

Strengths

  • Work Order lifecycle management from creation through invoicing and closure.
  • Mobile application for field technicians with offline capability on many platforms.
  • Asset-centric data model linking equipment history to service records.
  • SLA and entitlement engine tied to service contract coverage rules.
  • Territory and routing management for multi-dispatcher field operations.

Weaknesses

  • Export tooling is often ad-hoc—custom SQL queries or manual CSV exports are common, with no guaranteed schema consistency across versions.
  • Large service history volumes create API pagination challenges; extracting five or more years of records requires batching and reconnection logic.
  • Custom fields proliferate in mature FSM deployments, increasing mapping complexity during migration scoping.
  • Billing integrations vary significantly by FSM platform; invoice-line detail preservation is not always guaranteed.
  • Licensing models are typically per-technician, meaning migration scoping must account for active versus inactive technician counts to avoid over-provisioning the destination.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across The Service Manager and Twenty CRM.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    The Service Manager: Not publicly documented.

  • Data volume sensitivity

    B

    The Service Manager doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your The Service Manager to Twenty CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about The Service Manager to Twenty CRM data migrations

Answers to the questions buyers ask most during The Service Manager to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your The Service Manager to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most The Service Manager to Twenty CRM migrations complete within 48–72 hours for data volumes under 25,000 records. Complex migrations with Incident history, multiple custom objects, and extensive pick-list value mapping extend to 10–15 days. The longest single phase is schema preparation — creating custom fields in Twenty's workspace before data lands typically takes 3–5 business days depending on how many custom properties need to be mapped. Planning and sample migration validation add another 3–5 days. Full migration timelines are quoted against your specific record counts and schema complexity.

Adjacent paths

Related migrations to explore

Ready when you are

Move from The Service Manager.
Land in Twenty CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day