CRM migration

Migrate from The Service Manager to HubSpot

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

The Service Manager logo

The Service Manager

Source

HubSpot

Destination

HubSpot logo

Compatibility

91%

10 of 11

objects map 1:1 between The Service Manager and HubSpot.

Complexity

BStandard

Timeline

72–96 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

FlitStack AI migrates The Service Manager to HubSpot Service Hub using the destination's native import APIs and bulk CSV ingestion. The core translation maps TSM incidents and problems to HubSpot tickets, preserving status, priority, requester, and original timestamps in custom fields because HubSpot sets its own system timestamps at migration time. TSM assets load into HubSpot's asset registry with serial numbers, purchase dates, and status values, while asset‑to‑incident links are recreated via a custom junction object. User and contact resolution proceeds by email matching against HubSpot users and contacts; unmatched technicians are flagged for pre‑migration account creation. Attachments from incidents, problems, and changes are re‑uploaded to HubSpot Files and linked to the corresponding ticket, subject to the 25 MB per‑file limit. Knowledge articles export to HubSpot Knowledge Base with title, HTML body, category hierarchy, and publish state intact. Service catalog items, SLA policies, escalation rules, and approval chains have no native HubSpot counterpart; FlitStack exports these definitions as structured JSON and provides a field‑inventory checklist for rebuilding in HubSpot's workflow builder and SLA add‑ons. A 24‑48‑hour delta pickup window captures any records created or updated in TSM during cut‑over, and an audit CSV logs every operation for rollback if needed.

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

HubSpot logo

HubSpot

What's pulling them in

  • Lowest barrier to entry of any major CRM — the free tier with unlimited contacts lets teams validate fit before committing to a paid plan, according to G2 and Capterra reviewers.
  • Native integration between the CRM and sales engagement tools (sequences, email tracking, dialer) means no separate sync configuration, a theme across G2 Sales Hub reviews.
  • Pipeline visualization, deal tracking, and automated workflows are consistently praised as intuitive and easy to set up without developer involvement.
  • Strong onboarding for new team members — reviewers on Capterra and G2 highlight how quickly new reps become productive without formal training.
  • The HubSpot platform ecosystem (Marketing, Sales, Service, CMS hubs) allows growing companies to consolidate tools without building new integrations.

Object mapping

How The Service Manager objects map to HubSpot

Each row shows how a The Service Manager object lands in HubSpot, 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

Incident

maps to

HubSpot

Ticket

1:1
Fully supported

TSM incidents map directly to HubSpot tickets. The ticket's subject becomes the incident summary; the description body maps to the ticket's content field. Requester (contact) resolved by email lookup against HubSpot contacts. Original incident number preserved as a custom field for traceability.

The Service Manager

Problem

maps to

HubSpot

Ticket

many:1
Fully supported

TSM problems have no standalone HubSpot equivalent, so they migrate as HubSpot tickets with ticket_type set to 'Problem' and a custom Problem_ID field linking back to the source record. The problem’s status, priority, and assignee are preserved using the same value‑mapping logic as incidents, and the root cause text is stored in the ticket’s resolution notes field for future reference.

The Service Manager

Change

maps to

HubSpot

Ticket

1:1
Fully supported

TSM Changes (Standard, Normal, Emergency) map to HubSpot tickets with a custom Change_Type pick-list. Approval fields, risk assessment ratings, and CAB dates migrate as custom properties. The approval workflow itself cannot transfer and must be rebuilt using HubSpot Forms and Workflows.

The Service Manager

Asset

maps to

HubSpot

Asset

1:1
Fully supported

TSM configuration items (CIs) and assets map to HubSpot’s Asset object, preserving asset name, serial number, purchase date, status, and location. Custom fields such as asset type, warranty end date, and assigned location are migrated as HubSpot custom properties. For incidents that reference multiple assets, FlitStack creates the custom Incident_Asset__c junction object to maintain the N:N relationship, and each asset link is logged with the incident ID for traceability.

The Service Manager

User (Technician)

maps to

HubSpot

User

1:1
Fully supported

TSM technicians are matched to HubSpot users by email using case‑insensitive comparison, and the original TSM user ID is stored in a custom property (Source_User_ID__c) for audit traceability. Technicians without a matching HubSpot user are listed in a pre‑migration report, allowing your admin to create accounts before the bulk load. The TSM role (e.g., Assigned Technician) is preserved as a custom pick‑list property on the HubSpot user record.

The Service Manager

Contact (Requester)

maps to

HubSpot

Contact

1:1
Fully supported

TSM requesters (end users who logged incidents) map to HubSpot contacts by email. The contact’s first name, last name, phone, and company association are preserved, and any other properties are migrated as HubSpot contact properties. Unmatched requesters are created as HubSpot contacts, with the original TSM requester ID stored in a custom field (Source_Requester_ID__c) for audit continuity. The HubSpot contact record inherits the ticket history through the ticket‑contact association chain.

The Service Manager

Company

maps to

HubSpot

Company

1:1
Fully supported

TSM companies map to HubSpot companies, preserving the company name, domain, industry, phone, and address fields. The parent‑company hierarchy is maintained using HubSpot’s parent company field, and the company domain is used for deduplication to avoid creating duplicate records. Any custom properties on the TSM company (such as tier, segment, or status) are migrated as HubSpot custom company properties. After migration, the HubSpot company record aggregates contact and ticket data.

The Service Manager

Knowledge Article

maps to

HubSpot

Knowledge Base Article

1:1
Fully supported

TSM knowledge articles export to HubSpot Knowledge Base with title, HTML body, category hierarchy, tags, and publish status preserved. The original TSM article ID is stored in a custom field (Linked_Knowledge_Article_ID__c) on each article for traceability. Category hierarchy in TSM maps to HubSpot article categories, and articles linked to specific incidents retain that association via the custom field on the ticket.

The Service Manager

Service Catalog Item

maps to

HubSpot

Custom Object

1:1
Fully supported

TSM service catalog entries have no native HubSpot equivalent, so FlitStack migrates them as a custom HubSpot object (Service_Catalog_Item__c) that includes name, description, category, flag, and item ID. Additional fields such as SLA targets, pricing, and steps are stored as custom properties on the object. Because the portal‑facing catalog UI is not available in HubSpot, the display must be rebuilt using HubSpot CMS or a portal solution after migration.

The Service Manager

SLA Policy

maps to

HubSpot

Custom Fields on Ticket

1:1
Fully supported

TSM SLA policies with First Response and Resolution hour targets are migrated as custom number fields (SLA_First_Response_Hours__c, SLA_Resolution_Hours__c) on each ticket. HubSpot does not enforce these timers automatically; a third‑party SLA add‑on or manual tracking process is required after migration. FlitStack also exports the escalation rule definitions as a JSON file so your team can rebuild automation in HubSpot Workflows.

The Service Manager

Attachment

maps to

HubSpot

File

1:1
Fully supported

TSM attachments on incidents, problems, and changes are re‑uploaded to HubSpot Files, preserving file name, MIME type, and creation timestamp. Each file is linked to the corresponding ticket via HubSpot’s native file association, and the original TSM attachment ID is stored in a custom field (Source_Attachment_ID__c) on the ticket for audit traceability. File size limits of 25 MB per file apply; oversized files are flagged before migration for compression or splitting.

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

HubSpot logo

HubSpot gotchas

High

Marketing Contacts billing model is migration-critical

High

Feature tier gating is not visible until onboarding

Medium

Mandatory onboarding fees inflate year-one cost

Medium

HubSpot CSV importer cannot migrate engagements or attachments

Medium

Custom objects require Enterprise and a pre-existing schema

Pair-specific challenges

  • HubSpot's ticket model does not natively distinguish Incidents from Problems or Changes

    TSM maintains separate Incident, Problem, and Change objects with distinct schemas and workflows. HubSpot Service Hub uses a single Ticket object. We handle this by setting a custom ticket_type property on each record and preserving the original TSM ID in Source_ID__c fields. However, the distinct approval chains, risk fields, and CAB workflows that TSM Problem and Change objects carry have no HubSpot equivalent — these must be rebuilt as HubSpot Forms and Workflows after data lands.

  • HubSpot has no native SLA enforcement — targets migrate as reference data only

    TSM enforces First Response and Resolution SLA timers with escalation triggers that fire automatically when a breach is approaching. HubSpot Service Hub has no native SLA enforcement at any tier including Enterprise. We migrate SLA target hours as custom fields on each ticket (SLA_First_Response_Hours__c, SLA_Resolution_Hours__c) so your team can reference them manually or connect a third-party SLA add-on. This is a known capability gap in HubSpot's service product that cannot be resolved through migration alone.

  • Asset-to-ticket N:N relationships require a custom junction object in HubSpot

    TSM permits a single incident to list multiple affected configuration items (assets), and any asset can appear on many incidents, forming an N:N relationship. HubSpot’s asset field on a ticket is a single‑select lookup, allowing only one asset per ticket by default. To preserve the full linkage, FlitStack creates a custom junction object called Incident_Asset__c that stores the incident ID, asset ID, and optional relationship metadata such as impact type or usage flag. Your HubSpot admin then adds the related list for Incident_Asset__c to the ticket page layout, enabling agents to view and filter all linked assets without altering the native ticket schema.

  • HubSpot's knowledge base search is not automatically linked to ticket context

    TSM embeds a 'Linked Articles' panel in the incident form that suggests knowledge articles based on the incident’s category or keywords. HubSpot Knowledge Base is a separate product; agents must open a search interface to locate articles rather than seeing them inline. FlitStack migrates every TSM article with its title, HTML body, category hierarchy, and publish state, and stores the original article ID in a custom field (Linked_Knowledge_Article_ID__c) on the ticket. To approximate the workflow, you can create a HubSpot workflow that reads the ticket’s category or the custom field and inserts the matching article URL into the ticket description, though agents perform a manual search to access the content.

  • HubSpot's contact billing model for service tickets differs from TSM's user licensing

    TSM charges per named technician (agent) license. HubSpot Service Hub pricing includes a set number of Service Hub seats; at the Starter tier only two users receive full ticket‑management capabilities. If your TSM instance has many technicians, HubSpot's seat model may require consolidating agent roles, purchasing extra seats, or using the Professional/Enterprise tiers that offer higher seat counts. This is a licensing decision that surfaces during migration planning and is separate from the data migration itself.

Migration approach

Six steps for a successful The Service Manager to HubSpot data migration

  1. Discover TSM object inventory and schema

    FlitStack connects to your TSM instance via API to enumerate all Incident, Problem, Change, Asset, and Knowledge Article records plus custom fields on each object. We generate an inventory report showing record counts per object, custom field names and types, workflow/automation definitions, and attachment file sizes. This report drives the field mapping session, flags data‑quality issues, and surfaces the gotchas above before migration begins.

  2. Create HubSpot custom schema

    Before data moves, FlitStack creates the custom fields and pick‑list values needed in HubSpot: ticket_type, Source_Incident_ID__c, SLA_First_Response_Hours__c, SLA_Resolution_Hours__c, Change_Type__c, Risk_Level__c, Approval_Status__c, Linked_Knowledge_Article_ID__c, and the Incident_Asset__c junction object. Custom fields are provisioned via HubSpot’s API and reflected in the property settings UI. We deliver a HubSpot setup checklist so your admin can pre‑approve or adjust the schema before migration runs again.

  3. Resolve users and contacts by email

    TSM technicians and requesters are resolved to HubSpot users and contacts by matching email addresses, with case‑insensitive comparison to handle variations. FlitStack checks each email against HubSpot’s existing user and contact lists and records the result in a mapping report. Technicians that have no match are flagged in a pre‑migration list so you can create HubSpot accounts before the bulk load — no ticket lands without an owner. Requesters that do not exist in HubSpot are automatically provisioned as new contacts, with their original TSM user ID stored in a custom property (Source_User_ID__c) for audit traceability.

  4. Migrate assets, contacts, and companies first

    HubSpot tickets reference assets and contacts, so the migration order respects these foreign‑key dependencies. FlitStack sequences the load as follows: (1) companies, (2) contacts/requesters, (3) assets, (4) tickets in the order Incidents → Problems → Changes, and (5) knowledge articles in parallel. After assets and tickets are in place, the custom Incident_Asset__c junction records are created to re‑establish N:N asset‑to‑incident links. Attachments are uploaded to HubSpot Files and linked to the appropriate ticket after the ticket record exists. This staged sequencing guarantees that every ticket can resolve its asset and contact lookups on the first pass, avoiding referential errors.

  5. Run sample migration with field-level diff

    A representative slice — typically 200–500 records spanning incidents, problems, assets, and a few knowledge articles — migrates first. FlitStack generates a field‑level diff report that shows source field names, source values, destination field names, and destination values for each record, highlighting discrepancies in ticket_type, SLA field population, owner resolution, and any custom field mappings. You review the diff, approve the results, or request adjustments to the field mapping before the full migration run commits.

  6. Full migration with delta pickup and audit log

    Full data set migrates to HubSpot. A 24–48‑hour delta pickup window captures any records modified or created in TSM during cut‑over. FlitStack logs every record operation — create, update, and link — with source record ID, destination record ID, operation type, timestamp, and performing user to an audit CSV. The CSV serves as a reconciliation baseline and includes a rollback script that can revert all migrated records with a single command if data quality issues arise. The audit log also acts as the reference document for rebuilding workflows, SLA policies, and approval chains in HubSpot.

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.
HubSpot logo

HubSpot

Destination

Strengths

  • Genuinely useful free CRM tier with no seat limit on contact records.
  • All-in-one sales engagement layer (sequences, email tracking, calling, dialer) embedded natively in the CRM, eliminating a separate integration.
  • Intuitive interface and fast onboarding for individual reps, per G2 and Capterra reviews.
  • Workflow automation triggers across contacts, deals, and tickets with a visual builder.
  • API coverage for all standard objects including custom objects at Enterprise tier.

Weaknesses

  • Pricing model is contact-based at the marketing layer — importing all records as marketing contacts can multiply the monthly bill by 4×.
  • Feature tier cliffs are frequent surprises: sequences, calling, advanced reporting, and quoting are all gated, often requiring plan upgrades mid-implementation.
  • Mandatory onboarding fees at Professional ($1,500) and Enterprise ($3,500) are not prominently disclosed on the pricing page.
  • API rate limits are restrictive for bulk migration — burst limits of 100-200 req/10sec and search endpoint limits of 4 req/sec require careful job queuing.
  • Custom objects, additional pipelines, and advanced forecasting are Enterprise-only, making cost projections difficult for growing teams.

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 HubSpot.

  • 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 HubSpot 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 HubSpot data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most TSM‑to‑HubSpot migrations complete in 72–96 hours of clock time for under 50,000 records. Larger data sets with 200,000+ records, complex asset relationship schemas, or extensive knowledge bases extend the timeline to 10–14 days. The longest planning step is mapping TSM’s Incident, Problem, and Change object structures to HubSpot’s unified ticket model, which determines the set of custom fields and ticket_type values required before any data can move. A sample migration of 200–500 records is run first to validate field mappings and owner resolution, and a 24–48‑hour delta pickup window captures any new or modified records created in TSM during cut‑over.

Adjacent paths

Related migrations to explore

Ready when you are

Move from The Service Manager.
Land in HubSpot, 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