Helpdesk migration

Migrate from Rooftop to HubSpot Service Hub

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

Rooftop logo

Rooftop

Source

HubSpot Service Hub

Destination

HubSpot Service Hub logo

Compatibility

75%

9 of 12

objects map 1:1 between Rooftop and HubSpot Service Hub.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Rooftop to HubSpot Service Hub is a CSV-first migration constrained by Rooftop's lack of a documented public API. All data extraction requires UI-based or CSV downloads from Rooftop, which means incremental or real-time sync is not feasible and the export quality directly determines migration completeness. We scope the export in full before ingestion, map every Rooftop object (Customers, Companies, Agents, Conversations, Tags, Custom Ticket Fields) to its HubSpot Service Hub equivalent (Contacts, Companies, Users, Ticket Conversations, Labels, Custom Properties), and use HubSpot's REST and Bulk APIs to handle the engagement layer that HubSpot's native CSV importer cannot cover. Knowledge base articles migrate as HubSpot knowledge base articles with article body preserved. Workflows, automations, macros, and routing rules do not migrate; we deliver a written inventory of every object requiring rebuild in HubSpot's automation builder. Timeline ranges from three to five weeks for straightforward accounts under 10,000 tickets to eight to twelve weeks for accounts with large engagement histories or complex custom field schemas.

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

Rooftop logo

Rooftop

What's pushing teams away

  • Loading time complaints and slow search performance appear in G2 reviews, indicating the platform can become sluggish when handling larger ticket volumes or searching across historical data.
  • The limited review count of 11 verified reviews on Capterra suggests low market adoption, which may signal insufficient enterprise features or integrations for growing teams.
  • No public API documentation means teams requiring programmatic data access or third-party integrations face significant friction or must build custom solutions.

Choosing

HubSpot Service Hub logo

HubSpot Service Hub

What's pulling them in

  • Unified CRM context means every support ticket links directly to the Contact and Company record without a separate integration
  • Free tier provides unlimited support seat access with basic ticketing and a shared inbox for small teams to validate fit before committing
  • Omnichannel routing consolidates email, live chat, Facebook Messenger, WhatsApp, and Instagram DM into one queue
  • Built-in customer success workspace gives health scores and portfolio views that other standalone helpdesks cannot match
  • AI-powered Breeze agent automates common resolutions and surfaces knowledge base articles without agent intervention

Object mapping

How Rooftop objects map to HubSpot Service Hub

Each row shows how a Rooftop 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.

Rooftop

Customer

maps to

HubSpot Service Hub

Contact

1:1
Fully supported

Rooftop Customer records map to HubSpot Contact. We preserve email, full name, phone, and any custom properties found in the Rooftop export. The contact record is created before any ticket import so that the contact lookup is satisfied at the moment of ticket insert. Rooftop customer metadata (created date, last updated) migrate as HubSpot contact properties. Where Rooftop stores multiple email addresses per customer, the primary email maps to HubSpot email and additional addresses migrate to a custom text property.

Rooftop

Company

maps to

HubSpot Service Hub

Company

1:1
Fully supported

Rooftop Company records map to HubSpot Company. Company name, domain, and any association fields migrate directly. We use the Rooftop company domain as a dedupe key during import to prevent duplicate company records. Company is created before Contact import where possible so that the Company lookup relationship is satisfied at Contact insert time.

Rooftop

Ticket

maps to

HubSpot Service Hub

Ticket

1:1
Fully supported

Rooftop Tickets map to HubSpot Tickets. The Rooftop ticket status (open, pending, resolved, closed) maps to a HubSpot ticket pipeline stage. Rooftop priority maps to a HubSpot ticket priority property. Custom ticket fields from Rooftop are recreated as HubSpot custom ticket properties before import and mapped via the CSV header or API property reference. Ticket owner resolves to the HubSpot User by email match.

Rooftop

Conversation

maps to

HubSpot Service Hub

Ticket Conversation

1:1
Fully supported

Rooftop conversation threads attached to a ticket map to HubSpot ticket conversation records. We preserve message ordering, timestamps, sender attribution, and internal notes flag. HTML or plain-text formatting is normalized during the transform step. The parent ticket lookup is resolved at migration time by matching the Rooftop ticket ID to the newly created HubSpot ticket ID.

Rooftop

Agent

maps to

HubSpot Service Hub

User

1:1
Fully supported

Rooftop Agent records map to HubSpot Users. We resolve agents by email match to the destination HubSpot portal's user list. Rooftop role and team assignment fields map to HubSpot User Role and HubSpot Team membership. Any Rooftop agent without a matching HubSpot User is held in a reconciliation queue for the customer's admin to provision before ticket import resumes, because OwnerId references are required on ticket records.

Rooftop

Tag

maps to

HubSpot Service Hub

Label

lossy
Fully supported

Rooftop tags applied to tickets for categorization migrate to HubSpot Ticket Labels. Where the Rooftop tagging model uses hierarchical or nested tag structures, we flatten the tag list to a flat label array that HubSpot's label field accepts. The customer selects tag strategy during scoping, either preserving the full tag hierarchy as a custom text property or adopting HubSpot's simpler label model.

Rooftop

Custom Ticket Field

maps to

HubSpot Service Hub

Custom Ticket Property

lossy
Fully supported

Custom fields vary by Rooftop deployment. We inventory all custom field names, data types, and picklist values during scoping, then recreate each as a HubSpot custom ticket property before import. Field types are mapped: text fields to single-line text or multiple-line text, picklist fields to dropdown or radio select, date fields to date picker, numeric fields to number. Required fields in HubSpot are set to optional during import and made required after migration completes.

Rooftop

Attachment

maps to

HubSpot Service Hub

File

1:1
Fully supported

File attachments associated with tickets or conversations migrate by URL reference or re-upload to HubSpot. Attachment size limits (HubSpot supports up to 60 MB per file) and supported file types apply. We flag any attachment exceeding the size limit during scoping and recommend re-upload post-migration by the customer admin. Inline images embedded in conversation HTML are extracted and re-uploaded separately.

Rooftop

Knowledge Base Article

maps to

HubSpot Service Hub

Knowledge Base Article

1:1
Fully supported

KB articles and categories exported from Rooftop migrate to HubSpot knowledge base articles. Article body content is preserved in full. Internal Rooftop article ID references are remapped to HubSpot article IDs in the handoff document. Category hierarchy in Rooftop maps to HubSpot knowledge base categories or is flattened into the article's category tag depending on the destination configuration. Article publish status is preserved as a draft or published property in HubSpot.

Rooftop

Engagement: Email (via conversation)

maps to

HubSpot Service Hub

Ticket Conversation

1:1
Fully supported

Email-style message records in Rooftop conversation threads migrate as HubSpot ticket conversation records. The sender email address resolves to the HubSpot Contact record via the contact email match. Email subject lines from Rooftop are preserved in the conversation body with a formatted header. HubSpot's native CSV importer cannot ingest email engagements; all conversation history is handled via the API-based import path.

Rooftop

Owner

maps to

HubSpot Service Hub

User

1:1
Fully supported

Rooftop ticket owner references resolve to HubSpot User records by email match. Any Rooftop owner record without a matching HubSpot User is flagged in the pre-migration reconciliation report. The customer admin provisions missing HubSpot Users before production migration begins. Owner resolution must complete before ticket import because ticket ownership is a required field in HubSpot Service Hub pipelines.

Rooftop

Ticket Status

maps to

HubSpot Service Hub

Ticket Pipeline Stage

lossy
Fully supported

Rooftop ticket status values (open, pending, resolved, closed, or any custom statuses) are mapped to HubSpot ticket pipeline stage values. We create a HubSpot ticket pipeline that mirrors the Rooftop status flow before migration. Closed status in Rooftop maps to a HubSpot closed stage; any custom statuses are recreated as stage values in the pipeline. Stage probabilities migrate from Rooftop to HubSpot stage percentage where those values are available in the export.

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.

Rooftop logo

Rooftop gotchas

High

No documented public API for data export

Medium

Slow search and loading performance impacts data review

Low

Small verified review base limits migration confidence

HubSpot Service Hub logo

HubSpot Service Hub gotchas

High

Rate limits throttle large migration API calls

High

Side conversations and Zendesk macros have no HubSpot equivalent

High

HubSpot stores ticket history as fragmented engagement objects

Medium

Custom Objects require Enterprise tier in HubSpot

Medium

Ticket pipeline stage probability values do not export cleanly

Pair-specific challenges

  • Rooftop has no documented public API for automated export

    Rooftop does not publish a public API for programmatic data access or export. All migration scenarios must rely on manual CSV exports from the Rooftop UI or CSV downloads of individual reports. This constrains the migration to a one-time or batch extraction approach with no capability for incremental sync or real-time delta migrations. We design the scoping to request full dataset exports upfront and schedule export tasks during off-peak hours to reduce contention with Rooftop's documented loading-time constraints. Any API-based migration path requires confirmation of undocumented endpoints or acceptance that data must be pulled manually before ingestion into HubSpot.

  • HubSpot CSV importer cannot ingest engagement history

    HubSpot's native CSV import tool supports Contacts, Companies, Tickets, and Products but cannot import calls, emails, meetings, tasks, or notes. Rooftop conversation threads include message ordering, timestamps, and sender attribution that map to HubSpot's ticket conversation timeline. We handle all conversation history via HubSpot's REST API with batch chunking and exponential backoff rather than the native CSV importer. Teams that skip this step lose their full conversation history in HubSpot because the native importer silently skips engagement records.

  • Rooftop slow search and loading performance extends export time

    G2 reviews explicitly note slow loading times and limited search functionality in Rooftop. When we request full dataset exports for migration scoping, these performance constraints may extend the time needed to generate complete CSV reports. We mitigate by requesting exports in full rather than relying on filtered searches, scheduling export requests during off-peak hours, and building additional buffer time into the migration schedule for retry if exports fail or time out. Large ticket volumes with extensive conversation threads are particularly affected.

  • HubSpot workflows, macros, and routing rules do not migrate

    HubSpot Service Hub workflows, ticket routing rules, and macros are automation objects that do not migrate as code. We do not rebuild them inside the migration scope. We deliver a written inventory of every active Rooftop workflow or automation with its trigger, conditions, and actions, mapped to the equivalent HubSpot automation builder object (HubSpot Workflows, Ticket Routing, or Macros). The customer's admin rebuilds these post-migration. The Rooftop-to-HubSpot mapping is documented as a reference but requires the admin to reconstruct inside HubSpot's builder.

  • Knowledge base article IDs require manual remapping post-import

    Rooftop knowledge base article internal ID references do not map to HubSpot article IDs after migration. Any hyperlinks or cross-references between articles in Rooftop that use internal article URLs will break in HubSpot unless the customer admin updates them manually. We document the full before-and-after ID mapping in the migration handoff so the admin can run a find-and-replace across the knowledge base. This is a known limitation of any helpdesk-to-HubSpot knowledge base migration and is not specific to Rooftop.

Migration approach

Six steps for a successful Rooftop to HubSpot Service Hub data migration

  1. Migration scope and Rooftop export coordination

    We audit the Rooftop portal for record counts (customers, companies, tickets, agents, knowledge base articles), custom field inventory, and tag taxonomy. Because Rooftop has no API, we coordinate with the customer to request full CSV exports of all ticket data, customer records, company records, and agent profiles. We schedule export requests during off-peak hours to avoid Rooftop's loading-time constraints. The scope document defines the object mapping, custom field list, and any known data quality issues that require cleansing before import into HubSpot.

  2. HubSpot schema preparation

    Before any data moves, we configure the HubSpot destination: ticket pipelines and stages mirroring the Rooftop status flow, custom ticket properties matching every Rooftop custom field name and type, knowledge base categories matching the Rooftop KB structure, agent profiles created as HubSpot Users with the correct seat type and team assignments, and ticket routing rules scoped for post-migration rebuild. This schema preparation happens in a HubSpot sandbox or directly in production depending on the customer's preference, with the admin signing off before migration begins.

  3. Data extraction and transform

    We receive the Rooftop CSV exports and validate record counts against the scope. Each export undergoes a transform step: Rooftop field headers map to HubSpot property names, custom field values are validated against picklist constraints, email addresses are validated for format, agent emails are matched to HubSpot User records, and ticket timestamps are normalized to UTC for HubSpot ingestion. Any records failing validation are flagged in a pre-flight report with a resolution path before the migration batch is finalized.

  4. Production migration in dependency order

    We run production migration in record-dependency order: Contacts and Companies first to establish the foundational CRM records, then Agents as HubSpot Users, then Tickets with their parent Contact and Company lookups resolved, then conversation history via HubSpot REST API for records that exceed CSV importer capability, then knowledge base articles with ID remapping. Each phase emits a row-count reconciliation report showing records imported versus records skipped or deferred.

  5. Cutover, validation, and handoff

    We run a final delta migration of any records modified during the migration window, then deliver the full reconciliation report showing record counts by object, records skipped, and records deferred with reasons. We deliver the automation inventory document mapping every Rooftop workflow, macro, and routing rule to its HubSpot equivalent for the admin to rebuild. We do not rebuild workflows or macros inside the migration scope. We support a one-week hypercare window for post-go-live reconciliation issues raised by the customer team. Post-migration admin support, training, and workflow rebuild are separate engagements.

Platform deep dives

Context on both ends of the pair

Rooftop logo

Rooftop

Source

Strengths

  • Real-time team collaboration on shared email inboxes — inline comments, @mentions and ownership assignment without forwarding threads
  • Routing rules dispatch incoming messages to the right person based on keywords or customer data, reducing manual triage
  • Native task and project management on top of conversations, so support and ops teams can work in one tool
  • Detailed analytics covering email volume, response time, individual performance and customer-sentiment trends
  • Per-seat SMB-friendly pricing starting around $49/seat/month makes it accessible for small teams without enterprise contracts

Weaknesses

  • Slow loading times and limited search functionality documented in reviews may frustrate teams with high ticket volumes.
  • No publicly documented API limits integration options and prevents automated migration workflows for data movement.
  • Small review sample of 11 verified reviews makes it difficult to assess platform reliability at scale or across edge cases.
HubSpot Service Hub logo

HubSpot Service Hub

Destination

Strengths

  • Unified CRM object model means support context is always linked to sales and marketing data
  • Generous free tier with unlimited tickets and a shared inbox for small teams
  • Omnichannel inbox consolidates email, live chat, and major messaging platforms natively
  • Customer Success Workspace provides portfolio-level health scores without a separate tool
  • AI agent (Breeze) handles Tier-1 resolutions and knowledge base deflection automatically

Weaknesses

  • Per-seat pricing with mandatory onboarding fees inflates year-one cost significantly
  • Ticket history stored as fragmented engagement objects across APIs complicates export and migration
  • Custom Objects locked behind Enterprise tier limits portability for mid-market teams
  • Help desk depth—routing rules, SLA management, advanced reporting—trails dedicated tools like Zendesk
  • Setup and configuration requires real time investment; out-of-box defaults rarely fit existing workflows

Complexity grading

How hard is this migration?

Standard Helpdesk migration. 2 of 7 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 Rooftop and HubSpot Service Hub.

  • Object compatibility

    B

    2 of 7 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

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

  • API constraints

    B

    Rooftop: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Rooftop to HubSpot Service Hub 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 Rooftop to HubSpot Service Hub data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Timeline depends on data volume, custom field complexity, and knowledge base size. Migrations under 10,000 tickets with clean export data and straightforward custom fields typically complete in three to five weeks. Migrations with large engagement histories, complex custom field schemas, knowledge base article sets exceeding 200 articles, or multi-team agent structures extend to eight to twelve weeks. The manual CSV export coordination required by Rooftop's lack of API adds a buffer to the extraction phase that fully-API-driven migrations do not have.

Adjacent paths

Related migrations to explore

Ready when you are

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