Helpdesk migration
Field-level mapping, validation, and rollback between LiveAgent and HubSpot Service Hub. We move data and schema; workflows are rebuilt natively in HubSpot Service Hub.
LiveAgent
Source
HubSpot Service Hub
Destination
Compatibility
9 of 12
objects map 1:1 between LiveAgent and HubSpot Service Hub.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from LiveAgent to HubSpot Service Hub is a structural migration for omnichannel support teams that have outgrown LiveAgent's dated interface and want to consolidate customer service data into the HubSpot CRM ecosystem. LiveAgent structures its ticketing as Tickets with configurable statuses linked to Customers and optionally Companies, with all messages stored as threaded Conversations. HubSpot Service Hub uses Tickets with Pipelines and Stages, linked to Contacts and Companies, with conversation history stored as Ticket Replies and email logs. We map LiveAgent's Ticket status to HubSpot Pipeline stages, pull conversation history through the Conversations API and reimport as Ticket Replies, handle the 180 req/min LiveAgent API rate limit with throttled pagination, and manage the tag-to-label migration. LiveAgent Macros, Rules, and SLA configurations are not accessible via the public REST API and do not migrate; we deliver a written inventory for the customer's admin to rebuild in HubSpot Service Hub's automation tools.
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
LiveAgent platform overview
Scorecard, SWOT, gotchas, and pricing for LiveAgent.
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 LiveAgent 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.
LiveAgent
Ticket
HubSpot Service Hub
Ticket
1:1LiveAgent Tickets map to HubSpot Tickets. The LiveAgent Ticket ID is stored in a HubSpot custom property liveagent_ticket_id__c for audit and cross-reference. LiveAgent Status (New, Open, Pending, Resolved, Archived) maps to HubSpot Pipeline Stage values that we configure during migration scoping. Priority maps to HubSpot Priority (Low, Medium, High, Urgent). The assignee maps to the HubSpot Ticket Owner via email lookup against the HubSpot User table. Custom fields on Tickets (account-specific schemas requiring dynamic discovery) map to HubSpot custom ticket properties created before migration.
LiveAgent
Customer
HubSpot Service Hub
Contact
1:1LiveAgent Customers map directly to HubSpot Contacts. Email address serves as the deduplication key. First name, last name, phone, address, and any custom field values on the Customer record map to HubSpot Contact properties. LiveAgent's Customer custom fields require explicit mapping review because their schemas vary per account. We enumerate all customer custom fields during scoping, create equivalent HubSpot Contact properties, and map each during import.
LiveAgent
Company
HubSpot Service Hub
Company
1:1LiveAgent Companies map to HubSpot Companies. Not all LiveAgent accounts use Companies; we check during scoping and include only if the source data contains Company records. The HubSpot Company domain becomes the Website field and is used as a dedupe key. HubSpot Company is created before any Contact import so that the Company-Contact association is satisfied at the moment of Contact insert. If the destination portal already has Companies from an existing HubSpot CRM instance, we match by domain and associate.
LiveAgent
Conversation (Messages)
HubSpot Service Hub
Ticket Reply
1:1Every LiveAgent Ticket contains one or more Conversations storing threaded message history. We fetch conversation data through LiveAgent's Conversations API, pulling agent and customer messages with timestamps and attachment references. Each conversation thread is reimported as a HubSpot Ticket Reply linked to the migrated Ticket. The original message timestamp is preserved as the reply timestamp. Attachment references are resolved by downloading the file from LiveAgent and uploading to HubSpot via the Files API, then attaching to the corresponding Ticket Reply.
LiveAgent
Tag
HubSpot Service Hub
Ticket Label
1:1LiveAgent Tags applied to Tickets migrate to HubSpot Ticket Labels. We fetch all distinct tag names from LiveAgent's Tags API, create equivalent Labels in HubSpot during the schema phase, and map tag assignments during ticket import. Tags applied to Conversations (if applicable) are stored as a custom property on the Ticket Reply. If the same tag is used across Tickets and Conversations, we use the same HubSpot Label name.
LiveAgent
Agent (User)
HubSpot Service Hub
User
1:1LiveAgent Agents are referenced on Tickets and Conversations by email and name, but there is no standalone Agents API object. We extract all distinct agent emails from ticket assignments and conversation records, match by email against the HubSpot destination portal's User table, and map each agent to a HubSpot User. Any agent without a matching HubSpot User goes to a reconciliation queue for the customer's admin to provision before ticket import begins. Active agent count in LiveAgent informs the seat count estimate for HubSpot Service Hub licensing.
LiveAgent
Customer Group
HubSpot Service Hub
Contact List or HubSpot Team
lossyLiveAgent Customer Groups (used to segment customers by tier or region) map to HubSpot Contact Lists or HubSpot Teams depending on use case. If groups represent service tiers, we recommend HubSpot Contact custom property with a picklist. If groups represent team ownership, we recommend HubSpot Teams for routing assignment. The customer chooses the strategy during scoping. We migrate group membership, recreating each group in HubSpot with the same contact set.
LiveAgent
Knowledgebase Article
HubSpot Service Hub
Knowledge Base Article
1:1LiveAgent Knowledgebase articles (with content, status, categories, and ACL settings) map to HubSpot Knowledge Base articles. We fetch articles via LiveAgent's current API endpoints (some are marked deprecated), map article body, title, status, and category, and create equivalent HubSpot Knowledge Base articles. HubSpot Knowledge Base requires articles to be published to a specific portal; we map the LiveAgent customer portal structure to HubSpot Knowledge Base categories. ACL settings in LiveAgent are approximated using HubSpot article availability settings.
LiveAgent
File/Attachment
HubSpot Service Hub
File
1:1Attachments linked to Tickets and Conversations are downloaded from LiveAgent via the Files API, re-uploaded to HubSpot, and attached to the corresponding Ticket or Ticket Reply. We handle inline images separately as content embedded in the message body rather than as standalone files. File naming conventions and folder structure are preserved as HubSpot file names. HubSpot's file size limits (250 MB per file) are checked during scoping; any files exceeding this are flagged for the customer to handle manually.
LiveAgent
Customer Custom Field
HubSpot Service Hub
Contact Property
lossyCustom fields on LiveAgent Customer records vary per account and must be discovered dynamically via the API. We enumerate all customer custom fields during scoping, map each to an equivalent HubSpot Contact property (creating new custom properties in HubSpot with matching types), and migrate values during Contact import. Type mapping: text fields to single-line text, dropdown fields to single-select picklist, date fields to date picker, checkbox fields to boolean. Any unsupported field types are flagged for review.
LiveAgent
Ticket Custom Field
HubSpot Service Hub
Ticket Property
lossyCustom fields on LiveAgent Tickets follow the same pattern as Customer custom fields — account-specific schemas requiring dynamic discovery. We enumerate all ticket custom fields during scoping, map them to HubSpot custom ticket properties, create them before migration, and migrate values during Ticket import. Type mapping follows the same rules as Contact properties. Custom fields that reference liveagent_ticket_id__c are handled separately as the cross-reference field.
LiveAgent
Macros (Automated Rules)
HubSpot Service Hub
None
1:1Macros and Rules in LiveAgent encode workflow automation (auto-assignment, SLA triggers, canned response selection) and are not exposed via the public REST API. We do not migrate Macros or Rules. We deliver a written inventory of every active LiveAgent Macro and Rule with its trigger conditions, actions, and a recommended HubSpot Service Automation equivalent. The customer's admin rebuilds them in HubSpot's automation tools post-migration. This is a manual step; we do not provide post-migration admin support as standard scope.
| LiveAgent | HubSpot Service Hub | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Conversation (Messages) | Ticket Reply1:1 | Fully supported | |
| Tag | Ticket Label1:1 | Fully supported | |
| Agent (User) | User1:1 | Fully supported | |
| Customer Group | Contact List or HubSpot Teamlossy | Fully supported | |
| Knowledgebase Article | Knowledge Base Article1:1 | Fully supported | |
| File/Attachment | File1:1 | Fully supported | |
| Customer Custom Field | Contact Propertylossy | Fully supported | |
| Ticket Custom Field | Ticket Propertylossy | Fully supported | |
| Macros (Automated Rules) | None1:1 | Not 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.
LiveAgent gotchas
180 req/min API rate limit on cloud accounts
Custom plugins cannot migrate to cloud
Migration requires mandatory downtime
Ticket resolved email notification must be deactivated pre-migration
Invoicing is usage-based with forward-fee billing
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 scoping
We audit the source LiveAgent portal via the REST API: enumerating Ticket fields, Customer fields, Company records, tag names, Knowledgebase articles, and conversation volume. We identify all custom fields on Tickets and Customers dynamically, note the ticket status model, count distinct agent emails, and check whether the account is cloud or standalone. We also review the HubSpot destination portal: whether it already includes HubSpot CRM (Contacts, Companies), which Service Hub tier is active, and whether any existing Ticket Pipelines are configured. The discovery output is a written migration scope, field mapping table, and HubSpot tier recommendation.
Schema configuration in HubSpot
We configure the HubSpot destination schema before any data import. This includes creating HubSpot custom Contact properties for every LiveAgent Customer custom field, creating HubSpot custom Ticket properties for every LiveAgent Ticket custom field, creating Ticket Labels for every LiveAgent tag, and configuring at least one Ticket Pipeline with Stages matching the LiveAgent status model. If the customer uses multiple LiveAgent queues, we create multiple HubSpot Pipelines. Schema configuration is validated in the HubSpot portal before migration begins. We also deactivate any HubSpot notification templates that would fire on imported tickets during migration.
Agent-to-User reconciliation
We extract every distinct agent email address referenced on LiveAgent Tickets and Conversations and match by email against the HubSpot destination portal's User table. Agents without a matching HubSpot User go to a reconciliation queue. The customer's HubSpot admin provisions any missing Users (active or inactive based on whether the LiveAgent agent is still active). Migration cannot proceed past this step because HubSpot Tickets require an OwnerId at import time.
Sandbox migration and reconciliation
We run a full migration into a HubSpot test portal or sandbox using production-like data volume. The customer's team reconciles record counts (Tickets in, Contacts in, Companies in, Replies in), spot-checks 25-50 random tickets against the LiveAgent source for field accuracy, label assignment, and conversation thread integrity, and signs off the mapping before production migration begins. Any field mapping corrections or custom property additions happen here.
Production migration in dependency order
We run production migration in record-dependency order: Companies first (if present), then Contacts (with custom properties), then Tickets (with custom properties, owner assignment, and label assignment), then Ticket Replies (fetched conversation-by-conversation from LiveAgent and reimported as replies in HubSpot), then Knowledgebase articles. Files and attachments are downloaded from LiveAgent and uploaded to HubSpot in parallel with their parent records. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta migration, and handoff
We freeze LiveAgent writes during cutover, run a final delta migration of any tickets, contacts, or conversations modified during the migration window, then enable HubSpot Service Hub as the system of record. We deliver the Macro and Rule inventory document to the customer's admin team with HubSpot Service Automation equivalents documented for each. We support a one-week hypercare window for reconciliation issues. We do not rebuild LiveAgent Macros, Rules, or SLA configs as HubSpot automations inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
LiveAgent
Source
Strengths
Weaknesses
HubSpot Service Hub
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across LiveAgent and HubSpot Service Hub.
Object compatibility
2 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
LiveAgent: 180 requests per minute per API key on cloud accounts; configurable and overridable on standalone installations.
Data volume sensitivity
LiveAgent 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 LiveAgent to HubSpot Service Hub migration scoping. Not seeing yours? Book a call.
Walk through your LiveAgent 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 LiveAgent
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.