Helpdesk migration

Migrate from Rooftop to Salesforce Service Cloud

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

Rooftop logo

Rooftop

Source

Salesforce Service Cloud

Destination

Salesforce Service Cloud logo

Compatibility

60%

6 of 10

objects map 1:1 between Rooftop and Salesforce Service Cloud.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Rooftop to Salesforce Service Cloud is a platform migration that requires extracting data through CSV-based UI exports since Rooftop has no publicly documented API, then reshaping that data into Salesforce's normalized schema. Rooftop tickets map to Salesforce Cases, Rooftop customers to Contacts (often linked to Accounts for organization-level tracking), and Rooftop conversation threads to Case Comments and EmailMessage records. Custom ticket fields in Rooftop require pre-creation of equivalent Salesforce custom fields before data import. Agent records map to inactive Salesforce Users pending admin activation. Knowledge base articles migrate to Salesforce Knowledge if the destination org includes that feature. We do not migrate Rooftop workflows, saved filters, or automations as code; we deliver a written inventory of every active workflow for the customer's admin to rebuild in Salesforce Flow post-migration.

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

Salesforce Service Cloud logo

Salesforce Service Cloud

What's pulling them in

  • Deep Salesforce ecosystem integration with Sales Cloud, Marketing Cloud, and custom Apex apps creates a single pane of glass for enterprise customer data and cross-functional workflows.
  • Omnichannel case routing — email, chat, phone, social, and messaging — unified under one case object means agents do not lose context when customers switch channels mid-interaction.
  • AI for customer service (Einstein AI / Agentforce) offers automated case classification, suggested replies, and chatbot routing that reduces Tier-1 ticket volume without manual rule authoring.
  • Entitlement and milestone tracking enforces SLA compliance natively, automatically calculating breach windows and surfacing violations to supervisors in dashboards.
  • Salesforce's massive AppExchange ecosystem provides pre-built connectors, industry-specific managed packages, and third-party tools that extend Service Cloud beyond its out-of-box capabilities.

Object mapping

How Rooftop objects map to Salesforce Service Cloud

Each row shows how a Rooftop object lands in Salesforce Service Cloud, 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

Salesforce Service Cloud

Contact

1:1
Fully supported

Rooftop customer records (contact name, email, phone, and custom properties) map directly to Salesforce Contact. The contact's email address serves as the dedupe key during import. We preserve any Rooftop customer-level custom properties as Salesforce Contact custom fields, pre-created during the schema design phase. Rooftop customer metadata (created date, last updated) migrates to Contact system fields for audit trail.

Rooftop

Customer

maps to

Salesforce Service Cloud

Account

1:many
Fully supported

Rooftop customers may belong to a company (Company object). If the destination Salesforce org uses Account records for organizational tracking, we link each Contact to an Account resolved by the customer's company name field. Customers without a Rooftop company assignment receive a Person Account record type if the destination org licenses it, otherwise a standalone Contact without an AccountId.

Rooftop

Ticket

maps to

Salesforce Service Cloud

Case

1:1
Fully supported

Rooftop tickets map to Salesforce Case. The ticket subject becomes Case Subject; ticket description becomes Case Description. Rooftop ticket status (open, pending, resolved, closed) maps to Salesforce Case Status values, which we configure during schema design to match the customer's status vocabulary. Ticket priority migrates to Case Priority. The ticket created date maps to Case CreatedDate.

Rooftop

Ticket Status

maps to

Salesforce Service Cloud

Case Status

lossy
Fully supported

We inventory every distinct Rooftop ticket status value and map each to a Salesforce Case Status picklist entry. Status order and default values are preserved. If Rooftop uses custom status labels (escalated, waiting on customer, etc.), we create matching Status values and include them in the relevant Case Status picklist valueset for the chosen Record Type.

Rooftop

Conversation

maps to

Salesforce Service Cloud

EmailMessage + CaseComment

1:many
Fully supported

Rooftop conversation threads are flat, ordered message lists. We split them into Salesforce EmailMessage records (for customer-facing emails and outbound replies) and CaseComment records (for internal notes and agent-only messages). Each message's sender, timestamp, and direction (inbound/outbound) determine the Salesforce record type. Messages exceeding 4,000 characters are split across multiple CaseComment entries with a continuation flag because Salesforce enforces that limit per CaseComment row.

Rooftop

Agent

maps to

Salesforce Service Cloud

User

1:1
Fully supported

Rooftop agent profiles (name, email, role, team assignment) map to Salesforce User records. We extract every distinct agent email referenced on tickets and conversations, create Salesforce Users in inactive status during migration, and flag the activation queue for the customer's admin to complete post-migration (assigning Profile, Role, and the appropriate Salesforce license tier). Agent-team assignments map to Salesforce Queue membership or Role hierarchy entries depending on the destination org structure.

Rooftop

Custom Ticket Fields

maps to

Salesforce Service Cloud

Custom Fields (Contact, Account, Case)

1:1
Mapping required

Rooftop custom ticket fields vary by deployment. We inventory every custom field name, data type, and value set during discovery, then map each to an equivalent Salesforce custom field on the Case object (for ticket-level fields) or Contact/Account (for customer-level fields). We pre-create Salesforce custom fields before data import so that the import job can write directly into typed fields rather than working around missing schema.

Rooftop

Tags

maps to

Salesforce Service Cloud

Custom Field (Text) or Label

lossy
Mapping required

Rooftop tags applied to tickets for categorization have no native Salesforce equivalent. We discuss two options during scoping: migrate tags as a Salesforce text custom field (single line, comma-separated) or as a multi-select picklist if the tag count stays within Salesforce's 500-value picklist limit. The customer chooses the strategy; multi-select picklist is preferred for filtering and reporting.

Rooftop

Attachment

maps to

Salesforce Service Cloud

ContentDocument (re-upload) or URL Reference

1:1
Fully supported

File attachments on Rooftop tickets are migrated as URL references in a custom Salesforce field (Attachment_URL__c) pointing to the original storage location, or re-uploaded as Salesforce ContentDocument records via the Chatter API if the customer has attachment re-upload in scope. Re-upload requires the customer's admin to provision storage and is priced as an add-on migration task. Attachment file type and size limits must be validated against Salesforce's ContentDocument constraints before migration.

Rooftop

Knowledge Base Articles

maps to

Salesforce Service Cloud

Salesforce Knowledge Articles

1:1
Mapping required

Rooftop knowledge base articles migrate to Salesforce Knowledge if the destination Service Cloud edition includes it. We export article body content, title, summary, and category assignments. Salesforce Knowledge requires article types to be configured before import; we work with the customer's admin to define article types matching the Rooftop KB category structure. Published status, view counts, and feedback ratings from Rooftop migrate to Salesforce Knowledge custom fields. Knowledge Base enablement requires a System Administrator to activate the feature in Salesforce setup before we can begin article migration.

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

Salesforce Service Cloud logo

Salesforce Service Cloud gotchas

High

Data Export 512MB file size cap breaks large org exports

High

API Daily Request Limits vary by license edition

High

No automatic data backup in base Salesforce

Medium

Picklist dependencies silently break records when unmapped

Medium

Workflow rules fire unexpectedly during data load

Pair-specific challenges

  • Rooftop conversation comments exceeding 4,000 characters are truncated in Salesforce

    Salesforce CaseComment records enforce a 4,000-character limit per row. Rooftop conversation messages longer than 4,000 characters will be cut at that boundary during import. We split long messages into multiple sequential CaseComment entries with a continuation reference (original_message_id_cont) in a custom field so the customer's admin can reassemble the full thread. We detect messages exceeding the limit during the transform phase and flag them in the pre-migration data quality report so the admin is aware of truncation scope before data moves.

  • Rooftop has no documented public API; all data extraction is CSV-based

    Rooftop does not appear to publish a public API for programmatic data access. All migration extraction must use the Rooftop UI export function or CSV report downloads. This constrains incremental migration (we cannot sync changes in real time) and means large data sets require multiple sequential export batches. We design the export pipeline during discovery, requesting full data dumps rather than relying on UI search, and schedule exports during off-peak hours to avoid UI performance slowdowns documented in Rooftop G2 reviews. The customer must have sufficient UI access to generate export reports.

  • Phone duplication rules must be disabled before Salesforce import

    Salesforce Service Cloud orgs commonly enforce phone number duplication rules that prevent importing contacts or cases with matching phone values. Help Desk Migration service documentation for Service Cloud specifically flags this rule as requiring deactivation before import. We identify whether a phone duplication rule exists in the destination org during pre-flight validation, flag it to the customer's Salesforce admin, and recommend disabling it or adding the migration user to the rule bypass list before we begin the Case and Contact import phase.

  • Private ticket attachments import as Salesforce private attachments

    Rooftop attachments associated with internal-only tickets or private notes migrate as Salesforce private attachments. In Salesforce, private attachments are only visible to the uploader and system administrators. If the customer requires customer-facing visibility of these attachments post-migration, the admin must either re-upload them as Chatter Files (public) or adjust sharing settings on the individual ContentDocument records after migration. We flag private attachment count in the pre-migration data quality report so this scope is explicit before data moves.

Migration approach

Six steps for a successful Rooftop to Salesforce Service Cloud data migration

  1. Discovery and data export scoping

    We conduct a structured discovery call with the customer's Rooftop admin to inventory all record types (customers, companies, agents, tickets, conversations, custom fields, tags, attachments, knowledge base articles), approximate record counts per type, and the active status breakdown for tickets. We also confirm the destination Salesforce org edition and identify any existing Case Record Types, custom fields, and the Knowledge Base feature status. We design the export plan to extract all Rooftop data in CSV batches, prioritizing full exports over UI searches because G2 reviews document slow search performance that would skew partial exports.

  2. Schema design and pre-creation in Salesforce

    We review the destination Salesforce org's existing schema and pre-create any missing custom fields, custom objects, and Record Types needed to receive the migrated data. This includes Case custom fields mapped from Rooftop ticket custom fields, multi-select picklists or text fields for Rooftop tags, Contact custom fields for customer-level Rooftop properties, and Salesforce Knowledge article types if the destination includes Knowledge. We configure Case Status picklist values to match the customer's Rooftop ticket status vocabulary. Schema pre-creation happens in the destination Salesforce org (Production or Sandbox per the customer's preference) before any data import begins.

  3. Sandbox validation migration

    We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using the production-equivalent data volume exported from Rooftop. The customer's Salesforce admin reviews 25-50 randomly sampled records against the source export, confirms that Case threads are readable, attachments are accessible, and status mappings are correct, and signs off the sandbox result before production migration begins. Any mapping corrections, missing field creation, or character-limit issues are resolved here.

  4. Agent-to-User provisioning reconciliation

    We extract every distinct agent email from Rooftop tickets and conversations, then cross-reference against the destination Salesforce org's User table. Agents without a matching Salesforce User are added as inactive Users during migration so that the OwnerId field on Case and Contact records resolves at insert time. The customer's Salesforce admin activates and configures Profile and Role for each migrated User after migration. Migration cannot complete with unresolved OwnerId references because Salesforce requires that field on standard objects.

  5. Production migration in dependency order

    We execute production migration in the correct Salesforce dependency order: Users first (validated against the provisioning queue), Accounts from Rooftop Companies, Contacts from Rooftop Customers with AccountId resolved, Cases from Rooftop Tickets with ContactId and OwnerId resolved, Case Comments and EmailMessage records from Rooftop Conversations (with the 4,000-character split applied to long messages), attachments as URL references or re-uploaded ContentDocument records, and finally Knowledge Base articles if the destination includes Salesforce Knowledge. Each phase emits a row-count reconciliation report; the next phase does not begin until the previous phase reconciles within the agreed tolerance threshold.

  6. Cutover, validation, and workflow rebuild handoff

    We freeze writes in Rooftop during the cutover window, run a final delta migration for any records modified during the migration run, then enable Salesforce Service Cloud as the system of record. We deliver a written inventory of every active Rooftop workflow, saved filter, and automation with its trigger conditions and recommended Salesforce Flow equivalent, organized by object. The customer's admin or a Salesforce implementation partner rebuilds the automations post-migration. We support a five-business-day hypercare window for reconciliation issues raised during the customer's first week of live Salesforce use.

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.
Salesforce Service Cloud logo

Salesforce Service Cloud

Destination

Strengths

  • Enterprise-grade security, compliance certifications, and audit logging available across all paid editions with Shield offering enhanced event monitoring.
  • Scalable multi-tenant cloud architecture supporting orgs from 5 users to 150,000+ seat enterprises without infrastructure management overhead.
  • Omnichannel contact center unifying email, live chat, phone, messaging, and social into a single Case timeline per customer interaction.
  • Rich workflow automation via Salesforce Flow, Process Builder, and Apex triggers enabling complex case escalation, routing, and field updates.
  • Native AI capabilities (Agentforce / Einstein) for case auto-routing, classification, suggested responses, and chatbot escalation without third-party add-ons.

Weaknesses

  • Per-seat pricing model with no contact limits creates unpredictable cost scaling for large organizations adding many agents over time.
  • No automatic data backup — organizations must purchase a third-party backup solution or build manual Data Loader exports to protect against data loss from human error, failed deployments, or integrations overwriting records.
  • Steep learning curve for non-technical users requiring dedicated admin resources and formal training investment before teams reach productive velocity.
  • Annual contract requirements and limited pro-ration on exit create significant switching cost friction, especially for organizations evaluating alternatives mid-cycle.
  • Add-on licensing (CPQ, Einstein Activity Capture, Shield, Data Cloud) can double effective per-seat cost without clear documentation of which features are included in base tiers.

Complexity grading

How hard is this migration?

Moderate Helpdesk migration. 1 of 7 objects need a manual workaround.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Rooftop and Salesforce Service Cloud.

  • Object compatibility

    C

    1 of 7 objects need a manual workaround.

  • 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 Salesforce Service Cloud 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 Salesforce Service Cloud data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 10,000 tickets, 3,000 contacts, and no knowledge base articles. Migrations with large conversation histories (over 100,000 comment entries requiring the 4,000-character Salesforce split), extensive custom ticket field schemas, knowledge base article sets, or multi-org Salesforce destinations move to seven to ten weeks because of export-pipeline design time, custom field pre-creation, character-limit splitting, and sandbox validation cycles.

Adjacent paths

Related migrations to explore

Ready when you are

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