Helpdesk migration
Field-level mapping, validation, and rollback between Rooftop and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.
Rooftop
Source
Zendesk
Destination
Compatibility
8 of 10
objects map 1:1 between Rooftop and Zendesk.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Rooftop to Zendesk is a migration where the absence of a source API shapes every decision. Rooftop has no documented public API for programmatic export, so we design our scoping around CSV batch exports from the UI and individual report downloads, scheduling extraction tasks during off-peak hours to avoid contention with Rooftop's documented slow-loading performance. On the Zendesk side, we use the Zendesk REST API for ticket, user, and organization ingestion with batch chunking and rate-limit handling. Knowledge base articles migrate to Zendesk Guide, which requires manual activation before import. Tags applied in Rooftop map to Zendesk tags, and custom ticket field values copy into both the mapped custom field and a corresponding tag per Zendesk's native behavior. We do not migrate workflows, macros, automations, or saved replies; we deliver a written inventory of these for the customer's admin to rebuild post-migration.
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 Rooftop object lands in Zendesk, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Rooftop
Customer
Zendesk
End User
1:1Rooftop Customer records map to Zendesk End Users (the requester on a ticket). We extract name, email, phone, and any custom contact properties from the CSV export and map them to Zendesk user fields. Rooftop customers who are also agents in the system require disambiguation: we hold these records in a reconciliation queue for the admin to confirm whether each person should be imported as an end user, an agent, or both.
Rooftop
Company
Zendesk
Organization
1:1Rooftop Company records map directly to Zendesk Organizations. The company name, domain, and any custom company fields migrate to Organization fields in Zendesk. We resolve the user-to-organization lookup during user import: when a Rooftop Customer is associated with a Company, we match the organization by name during the Zendesk Organization import phase, then reference the Organization ID when importing users so that user.organization_id is set correctly.
Rooftop
Ticket
Zendesk
Ticket
1:1Rooftop Tickets map to Zendesk Tickets. Each ticket inherits the requester (from the Customer record), the assignee (from the Agent record), status mapping (open/pending/resolved/closed from Rooftop to equivalent Zendesk status values), priority, and any custom ticket field values. We preserve the original ticket ID as a custom field legacy_ticket_id__c for cross-reference during reconciliation. Ticket creation timestamps migrate to Zendesk's created_at to preserve the original date.
Rooftop
Conversation
Zendesk
Ticket Comments
1:1Rooftop Conversation messages map to Zendesk Ticket Comments. We preserve message ordering by setting Zendesk comment.created_at to the original Rooftop timestamp. Sender attribution resolves to the Zendesk User imported from the Rooftop Agent record. HTML-formatted messages are normalized to plain text or preserved as HTML depending on the customer's preference. Internal notes flag migrates to the Zendesk public=true/false comment attribute.
Rooftop
Agent
Zendesk
Agent
1:1Rooftop Agent profiles (name, email, role, team assignment) map to Zendesk Agents. We match by email against the Zendesk destination's agent list. Any Rooftop Agent without a matching Zendesk agent goes to a reconciliation queue: the customer's Zendesk admin provisions the missing agent account before record import resumes because OwnerId references on tickets must resolve at import time. Team and role assignments map to Zendesk Groups and Agent Roles respectively.
Rooftop
Custom Ticket Field
Zendesk
Custom Field
lossyRooftop custom ticket fields vary by deployment. We inventory all custom field names and data types during scoping, then create equivalent Zendesk ticket fields before migration. Dropdown fields in Rooftop map to Zendesk dropdown or tag fields; text fields map to text fields; numeric fields map to integer or decimal fields. Note that Zendesk copies dropdown custom field values to Tags automatically, which may expand the tag set beyond what Rooftop used.
Rooftop
Tag
Zendesk
Tag
1:1Tags from Rooftop tickets migrate to Zendesk tags. We extract all distinct tag values from the Rooftop export and map them as-is to Zendesk tags. If the customer used Rooftop tags for categorization (severity, product line, channel), these values are preserved in Zendesk's tag system and are available for filtering in views and reports.
Rooftop
Attachment
Zendesk
Ticket Attachment
1:1File attachments associated with Rooftop tickets or conversations migrate as Zendesk ticket attachments. We extract attachment URLs from the Rooftop export, re-upload to Zendesk, and attach them to the corresponding ticket comment. Attachment size limits and supported file types may constrain migration: Zendesk's 50 MB per attachment limit is the upper bound. We flag any Rooftop attachment exceeding this threshold during scoping.
Rooftop
Knowledge Base Article
Zendesk
Guide Article
1:1KB articles and categories from Rooftop migrate to Zendesk Guide. Zendesk Guide must be activated and configured before migration begins; we flag this as a pre-migration admin task. Articles migrate with body content preserved, title mapped to the Zendesk article title, and category/section placement mapped to Zendesk Guide sections and categories. Article internal ID references are remapped to destination Zendesk article IDs. For Enterprise-tier Zendesk destinations, up to 5 levels of subsection hierarchy are supported; for lower tiers, we flatten to a 2-level structure.
Rooftop
Tag (Custom Field Dropdown)
Zendesk
Tag (via Zendesk behavior)
lossyThis is a Zendesk-specific behavior to plan for: when a custom field in Zendesk is a dropdown type, Zendesk automatically copies the selected value into the ticket's tag list. If the customer used Rooftop custom fields for ticket categorization, this Zendesk behavior may increase the tag volume post-migration. We document this behavior during scoping so the customer can decide whether to use dropdown or text custom fields in Zendesk to control tag expansion.
| Rooftop | Zendesk | Compatibility | |
|---|---|---|---|
| Customer | End User1:1 | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Ticket | Ticket1:1 | Fully supported | |
| Conversation | Ticket Comments1:1 | Fully supported | |
| Agent | Agent1:1 | Fully supported | |
| Custom Ticket Field | Custom Fieldlossy | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | Ticket Attachment1:1 | Fully supported | |
| Knowledge Base Article | Guide Article1:1 | Fully supported | |
| Tag (Custom Field Dropdown) | Tag (via Zendesk behavior)lossy | 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.
Rooftop gotchas
No documented public API for data export
Slow search and loading performance impacts data review
Small verified review base limits migration confidence
Zendesk gotchas
Data export requires API scripting on non-Enterprise plans
Automations cap at 500 active rules and 1,000 tickets per hour
Help Center has no native export feature
Custom Objects and full data export are Enterprise-only
Pair-specific challenges
Migration approach
Export scoping and CSV extraction planning
We audit the Rooftop account to identify all record types present: customers, companies, tickets, conversations, agents, custom ticket fields, tags, and knowledge base articles. Because Rooftop has no API, we map each record type to the corresponding CSV export or report available in the Rooftop UI. We schedule a full export run during off-peak hours to avoid contention with Rooftop's documented slow-loading performance. For knowledge base content, we confirm whether KB articles are available for export and identify any manual steps required to prepare them.
Zendesk environment preparation
We create a pre-flight checklist for the customer's Zendesk admin. This includes activating Zendesk Guide if knowledge base migration is in scope, creating the custom ticket fields (matched to Rooftop's custom field inventory), pre-creating Zendesk Groups and Agent Roles corresponding to Rooftop team assignments, and provisioning any missing Zendesk agent accounts that are referenced in the Rooftop export. We do not begin data migration until the Zendesk environment is schema-ready.
Data extraction from Rooftop
We coordinate with the customer to execute CSV exports from Rooftop for each record type. Exports are run in full rather than partial to avoid search-dependent performance issues. We validate record counts against the scoping estimates, flag any missing fields in the export, and confirm that attachment URLs are present and accessible. If the source data has changed since the initial scoping export, we run a delta export to capture modified records before migration begins.
Zendesk sandbox or demo migration
For migrations exceeding 5,000 tickets or involving knowledge base content, we run a demonstration migration into a Zendesk sandbox or trial environment to validate field mappings, verify ticket threading, confirm custom field placement, and check knowledge base article hierarchy. The customer's admin reviews the output, identifies any mapping issues, and signs off before the production migration begins. Corrections to mappings happen in the demo phase, not in production.
Production migration in dependency order
We run production migration in record-dependency order: Organizations (from Rooftop Companies), Users (Agents then End Users with organization_id resolved), Tickets (with requester, assignee, custom fields, and tags), Ticket Comments (conversation threads preserving timestamps and sender attribution), Attachments (re-uploaded and linked to the corresponding ticket comment), and Knowledge Base Articles (with section and category placement). Each phase emits a row-count reconciliation report before the next phase begins. We use Zendesk's REST API with rate-limit handling and batch chunking for all standard objects.
Cutover, validation, and automation inventory delivery
We freeze Rooftop writes during cutover, run a final delta migration of any records modified during the migration window, then hand off Zendesk as the active system of record. We deliver the automation inventory document listing every Rooftop workflow, macro, and automation with its trigger conditions, actions, and recommended Zendesk equivalent. We support a one-week hypercare window for reconciliation issues. We do not rebuild workflows, macros, or automations as part of the migration scope.
Platform deep dives
Rooftop
Source
Strengths
Weaknesses
Zendesk
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 Rooftop and Zendesk.
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
Rooftop: Not publicly documented.
Data volume sensitivity
Rooftop 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 Rooftop to Zendesk migration scoping. Not seeing yours? Book a call.
Walk through your Rooftop to Zendesk migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Rooftop
Other ways to arrive at Zendesk
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.