CRM migration
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
Source
HubSpot
Destination
Compatibility
10 of 11
objects map 1:1 between The Service Manager and HubSpot.
Complexity
BStandard
Timeline
72–96 hours
Overview
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.
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 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
HubSpot
Ticket
1:1TSM 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
HubSpot
Ticket
many:1TSM 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
HubSpot
Ticket
1:1TSM 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
HubSpot
Asset
1:1TSM 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)
HubSpot
User
1:1TSM 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)
HubSpot
Contact
1:1TSM 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
HubSpot
Company
1:1TSM 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
HubSpot
Knowledge Base Article
1:1TSM 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
HubSpot
Custom Object
1:1TSM 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
HubSpot
Custom Fields on Ticket
1:1TSM 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
HubSpot
File
1:1TSM 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.
| The Service Manager | HubSpot | Compatibility | |
|---|---|---|---|
| Incident | Ticket1:1 | Fully supported | |
| Problem | Ticketmany:1 | Fully supported | |
| Change | Ticket1:1 | Fully supported | |
| Asset | Asset1:1 | Fully supported | |
| User (Technician) | User1:1 | Fully supported | |
| Contact (Requester) | Contact1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Knowledge Article | Knowledge Base Article1:1 | Fully supported | |
| Service Catalog Item | Custom Object1:1 | Fully supported | |
| SLA Policy | Custom Fields on Ticket1:1 | Fully supported | |
| Attachment | File1: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.
The Service Manager gotchas
Dense service history causes export pagination failures
Custom fields on Work Orders differ by FSM version
Serialized asset cross-references break after migration
Parts inventory snapshot staleness at cutover
HubSpot gotchas
Marketing Contacts billing model is migration-critical
Feature tier gating is not visible until onboarding
Mandatory onboarding fees inflate year-one cost
HubSpot CSV importer cannot migrate engagements or attachments
Custom objects require Enterprise and a pre-existing schema
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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
The Service Manager
Source
Strengths
Weaknesses
HubSpot
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 The Service Manager and HubSpot.
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
The Service Manager: Not publicly documented.
Data volume sensitivity
The Service Manager 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 The Service Manager to HubSpot migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave The Service Manager
Other ways to arrive at HubSpot
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.