Helpdesk migration
Field-level mapping, validation, and rollback between Halo Service Desk and HubSpot Service Hub. We move data and schema; workflows are rebuilt natively in HubSpot Service Hub.
Halo Service Desk
Source
HubSpot Service Hub
Destination
Compatibility
10 of 12
objects map 1:1 between Halo Service Desk and HubSpot Service Hub.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Halo Service Desk and HubSpot Service Hub are architecturally different platforms. Halo is an ITSM-aligned PSA built around per-agent licensing, SLA clock management, and deep ticket customization. HubSpot Service Hub is a customer service layer inside the HubSpot CRM platform, where tickets are linked to Contacts and Companies rather than standalone customer records, and SLA policies must be rebuilt as workflow-based automation rather than native configuration. We migrate Contacts with their full custom field profiles, Companies with domain and description data, Tickets with conversation threads and SLA calendar references, and Knowledge Base hierarchies. We do not migrate Halo's approval chains, notification rules, or SLA policy definitions as configuration; we deliver a written inventory of these objects for the customer's admin to rebuild in HubSpot's workflow builder. HubSpot's per-seat pricing ($15 Starter through $150 Enterprise per seat per month) is lower than Halo's per-agent model ($95-$115 per agent per month) for teams under 50 seats, but HubSpot Enterprise ($150/seat) exceeds Halo's per-agent cost at scale.
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.
Source platform
Halo Service Desk platform overview
Scorecard, SWOT, gotchas, and pricing for Halo Service Desk.
Destination platform
HubSpot Service Hub platform overview
Scorecard, SWOT, gotchas, and pricing for HubSpot Service Hub.
Data migration guide
The complete HubSpot Service Hub migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
HubSpot Service Hub migration checklist
Pre- and post-cutover tasks for moving onto HubSpot Service Hub.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Halo Service Desk object lands in HubSpot Service Hub, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Halo Service Desk
Ticket
HubSpot Service Hub
Ticket
1:1Halo Tickets map to HubSpot Tickets with status, priority, source, and ticket ID preserved. Halo's conversation threads (internal notes and customer-facing replies) migrate as HubSpot Ticket conversations with the is_public flag controlling visibility. HubSpot Tickets are linked to Contacts via the contact_id association and to Companies via the hs_company_id property. We resolve these associations during import by matching the Halo customer email and company domain against the migrated Contact and Company records.
Halo Service Desk
Customer
HubSpot Service Hub
Contact
1:1Halo Customers map to HubSpot Contacts with full name, email address, phone, and custom field values. Halo's site associations migrate as HubSpot Contact properties if the site data is stored as structured fields. Each Halo Customer may link to multiple contacts; we extract all associated contacts as separate HubSpot Contact records with a shared company association. Custom fields on Customer records migrate as typed HubSpot properties (string, number, date, boolean, select, multiselect) based on the Halo field type.
Halo Service Desk
Company
HubSpot Service Hub
Company (Account)
1:1Halo Companies map to HubSpot Companies (the CRM term in HubSpot). The Company name, domain, and description migrate directly. Halo's Company-level custom fields (string, number, date, select, multiselect) map to typed HubSpot Company properties. HubSpot Company records are created before Contact import so that the hs_company_id lookup reference is satisfied at the moment of Contact insert. Multi-site companies from Halo (where a Company has multiple site records) require assessment during scoping to determine whether site data migrates as Company properties, custom object records, or separate Company entries.
Halo Service Desk
Agent
HubSpot Service Hub
User
1:1Halo Agents map to HubSpot Users. We resolve agents by email match against the HubSpot User table. Agent-to-team assignments migrate as HubSpot team memberships. Any Halo Agent without a matching HubSpot User is held in a reconciliation queue for the customer's admin to provision before record import resumes, because OwnerId references on Tickets require a valid HubSpot User.
Halo Service Desk
Knowledge Base Article
HubSpot Service Hub
Knowledge Base Article
1:1Halo KB articles with title, body content, category assignments, and publish status migrate to HubSpot Knowledge Base articles. Halo category hierarchies map to HubSpot Knowledge Base folders and subfolders. Article attachments migrate as linked file attachments. HubSpot's Knowledge Base importer (native) can supplement our migration for customers who prefer to use HubSpot's built-in import tool for article data specifically. Note: inline images in article bodies may require conversion to attachments per HubSpot's handling rules.
Halo Service Desk
SLA Policy
HubSpot Service Hub
Workflow or SLA Policy (Enterprise)
lossyHalo SLA policies define response and resolution timeframes tied to ticket types and priorities. HubSpot Service Hub includes native SLA policies only at the Enterprise tier ($150/seat/month). Professional and Starter tiers require SLA tracking to be rebuilt as HubSpot Workflows with time-based actions and deadline fields. We deliver a written inventory of every Halo SLA policy with its calendar, business hours, breach threshold, and ticket-type conditions, mapped to the recommended HubSpot equivalent. The customer's admin rebuilds these in the workflow builder post-migration.
Halo Service Desk
Custom Field (non-password)
HubSpot Service Hub
Contact/Company/Ticket Property or Custom Object
1:1Halo custom fields of type text, number, date, dropdown, multiselect, and boolean map to equivalent HubSpot Contact, Company, or Ticket properties. Dynamic SQL lookup fields from Halo require special handling: the lookup references a related record in Halo's database, and we assess whether the referenced object is migrating or whether the lookup value should be stored as a string property in HubSpot. Custom fields of types not supported by HubSpot's property system (e.g., complex address structures) are stored as text and documented for admin review.
Halo Service Desk
Password Custom Field
HubSpot Service Hub
Skipped
1:1Halo supports storing customer credentials in protected password custom fields that are encrypted at rest. We do not migrate password custom field values as a security practice. We skip these fields during migration and document them in the pre-flight checklist, requiring explicit sign-off before migration proceeds. Affected customers communicate a credential reset process to users post-go-live.
Halo Service Desk
Asset
HubSpot Service Hub
Custom Object or Ticket Association
lossyHalo Assets are linked to Customers and Sites and contain serial number, type, and software/license data. HubSpot Service Hub does not have a native Asset object at Starter or Professional tiers. We assess during scoping whether assets migrate as HubSpot Custom Objects (Professional tier and above), as Ticket associations (where asset-linked tickets are the primary record), or as Company-level custom fields. The customer's use case determines the approach.
Halo Service Desk
Conversation
HubSpot Service Hub
Ticket Conversation
1:1Halo Conversations (internal notes and customer-facing replies on a ticket) map to HubSpot Ticket conversations. Author attribution, timestamp, and the is_public flag migrate directly. Private internal notes in Halo appear as non-public ticket conversations in HubSpot. We preserve the conversation ordering by timestamp so the ticket timeline is complete on arrival.
Halo Service Desk
Team
HubSpot Service Hub
Team
1:1Halo Teams group Agents for routing and queue management. These map to HubSpot Teams with the agent-to-team membership preserved. HubSpot Teams are used for ticket assignment routing and inbox management in Service Hub.
Halo Service Desk
Attachment
HubSpot Service Hub
File Attachment
1:1File attachments on Halo Tickets and KB articles migrate as HubSpot file attachments linked to the parent record. Large attachment volumes can extend migration run time significantly; we flag attachment-heavy accounts during scoping so teams can decide whether to include or exclude attachments from the migration scope. Inline images in tickets and KB articles may require conversion to standard attachments per HubSpot's handling rules.
| Halo Service Desk | HubSpot Service Hub | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Company | Company (Account)1:1 | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Knowledge Base Article | Knowledge Base Article1:1 | Fully supported | |
| SLA Policy | Workflow or SLA Policy (Enterprise)lossy | Fully supported | |
| Custom Field (non-password) | Contact/Company/Ticket Property or Custom Object1:1 | Fully supported | |
| Password Custom Field | Skipped1:1 | Fully supported | |
| Asset | Custom Object or Ticket Associationlossy | Fully supported | |
| Conversation | Ticket Conversation1:1 | Fully supported | |
| Team | Team1:1 | Fully supported | |
| Attachment | File Attachment1: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.
Halo Service Desk gotchas
Approval and notification automations fire on imported records
Billing calculation bugs affect prepaid ticket scenarios
API rate limits are undocumented
Password custom fields cannot be migrated securely
HubSpot Service Hub gotchas
Rate limits throttle large migration API calls
Side conversations and Zendesk macros have no HubSpot equivalent
HubSpot stores ticket history as fragmented engagement objects
Custom Objects require Enterprise tier in HubSpot
Ticket pipeline stage probability values do not export cleanly
Pair-specific challenges
Migration approach
Discovery and pre-flight checklist
We audit the source Halo portal for record volumes (tickets, customers, companies, agents, KB articles, attachments), custom field types (including dynamic SQL lookup fields and password fields), active SLA policies, active approval chains and notification rules, and API integration points consuming Halo data. We deliver a pre-flight checklist that includes pausing all approval processes and silencing notifications in Halo, provisioning HubSpot users for each Halo agent, and confirming the HubSpot edition tier (Starter, Professional, or Enterprise) based on SLA policy requirements and custom object needs.
Schema design and field mapping
We design the HubSpot schema before any data moves. This includes creating custom properties on Contact, Company, and Ticket objects to receive Halo custom field values, designing the Knowledge Base folder hierarchy from Halo's category structure, and defining the HubSpot Workflow equivalents for each Halo SLA policy (or confirming the Enterprise SLA policy configuration if applicable). Dynamic SQL lookup fields are resolved to static text properties or Custom Object associations based on scoping findings. Schema is validated in a HubSpot staging environment before production migration.
Agent-to-User reconciliation
We extract every distinct Halo Agent and match by email against the HubSpot destination's User table. Agents without a matching HubSpot User are held in a reconciliation queue; the customer's HubSpot admin provisions missing Users before record migration begins. Migration cannot proceed past this step because Ticket OwnerId references require a valid HubSpot User. Agent-to-team assignments migrate as HubSpot team memberships during this phase.
Company and Contact migration
We run Company migration first (from Halo Companies) so that Account records exist in HubSpot before Contact import begins. Each Halo Company becomes a HubSpot Company with domain, description, and custom field values. Contact migration follows, with each Halo Customer becoming a HubSpot Contact. The Halo customer-to-company linkage is preserved as the HubSpot Contact's primary company association. Custom field values migrate as typed properties. Any skipped password fields are documented in the migration report.
Ticket and conversation migration
We migrate Halo Tickets with their conversation threads, attachment references, and SLA calendar associations. Conversations are imported as HubSpot Ticket conversations with author attribution and the is_public flag controlling visibility. Ticket assignments map to HubSpot User records via the agent reconciliation. We import in batches with parent-record lookup resolution (ContactId and CompanyId from the migrated Contact and Company records) to ensure every ticket is correctly associated at the moment of insert.
Knowledge Base migration and delta reconciliation
KB articles migrate with their full content, category hierarchy (mapped to HubSpot folders), and publish status. Article attachments are linked during import. After the main migration run, we perform a delta reconciliation to identify any records created or modified in Halo during the migration window, and migrate those delta records into HubSpot before cutover. We deliver the SLA policy inventory document, the automation and approval chain inventory, and the unmapped dynamic lookup field report to the customer's admin for post-migration rebuild.
Platform deep dives
Halo Service Desk
Source
Strengths
Weaknesses
HubSpot Service Hub
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 3 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Halo Service Desk and HubSpot Service Hub.
Object compatibility
3 of 7 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
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Halo Service Desk: Not publicly documented — we monitor for 429 responses and back off dynamically during migrations.
Data volume sensitivity
Halo Service Desk 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 Halo Service Desk to HubSpot Service Hub migration scoping. Not seeing yours? Book a call.
Walk through your Halo Service Desk to HubSpot Service Hub migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Halo Service Desk
Other ways to arrive at HubSpot Service Hub
Same-Helpdesk migrations
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.