Helpdesk migration
Field-level mapping, validation, and rollback between House-on-the-Hill Service Desk and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.
House-on-the-Hill Service Desk
Source
Zendesk
Destination
Compatibility
7 of 10
objects map 1:1 between House-on-the-Hill Service Desk and Zendesk.
Complexity
CModerate
Timeline
2-4 weeks
Overview
House-on-the-Hill Service Desk stores its data in separate database tables and exports them as flat CSV files with no public REST API for automated extraction. Zendesk expects data through a RESTful API that requires well-structured JSON payloads with relational lookups resolved at insert time. That gap defines the migration: we extract each House-on-the-Hill table independently, denormalize multi-table relationships into flat files, then re-assemble them as Zendesk API calls with parent-record IDs resolved before each batch. Contacts and Companies load first, Agents map to Zendesk Users, Tickets load with requester and assignee lookups resolved, Conversations become Comments, and Attachments are re-linked using the migrated document ID map. SLA associations captured from the ticket export are documented for manual recreation in Zendesk SLA Centre. We do not migrate Automations, Triggers, Macros, or Views as code; these are documented for the customer's admin to rebuild.
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 House-on-the-Hill Service Desk 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.
House-on-the-Hill Service Desk
Contact
Zendesk
End User
1:1House-on-the-Hill Contact records map to Zendesk end-user User records. The email address becomes the primary identifier and dedupe key. We use the Users API POST /users endpoint. If the source uses a flat contact model without a separate organization reference, we create the User and optionally attach it to a migrated Organization record via the organization_id field. External IDs from House-on-the-Hill are preserved in the user_id field on the Zendesk User for cross-reference.
House-on-the-Hill Service Desk
Company
Zendesk
Organization
1:1House-on-the-Hill Company records map to Zendesk Organization. The company domain and name map to domain and name fields. Organization records must be created before Users that reference them via organization_id, so this is the second table in the dependency sequence after Contacts. We extract organization_id from the House-on-the-Hill contact export where a contact-to-company relationship is present and resolve it to the migrated Zendesk Organization ID.
House-on-the-Hill Service Desk
Agent
Zendesk
Agent (User with role)
1:1House-on-the-Hill Agent records map to Zendesk User accounts with the agent role. The HTTPS Report API does not expose agent records for automated export; we extract agent data from the UI CSV export where available and use the Users API to provision them in Zendesk with verified: false until the agent confirms their account. Agents without an email in the source export are flagged for manual provisioning by the customer's admin.
House-on-the-Hill Service Desk
Ticket
Zendesk
Ticket
1:1House-on-the-Hill Ticket records map directly to Zendesk Ticket. We map status (Open, Closed, Pending) to Zendesk ticket_status values, priority to priority, and subject to subject. The requester_id and assignee_id are resolved by matching the House-on-the-Hill contact and agent IDs against the migrated User records before each ticket batch is submitted. Ticket reference numbers from the source are preserved in the Zendesk ticket's tags or a custom field for audit. If the source stores requester email directly on the ticket rather than a contact ID, we create the User inline during ticket import.
House-on-the-Hill Service Desk
Conversation
Zendesk
Comment
1:1Ticket conversation threads from House-on-the-Hill's related table map to Zendesk Comment records on the parent Ticket. We identify public replies versus internal notes from a type flag in the conversation export and set the public field accordingly. Comments are imported after the parent Ticket has been confirmed with a Zendesk ID, using the Ticket Comments API with the parent ticket ID resolved from the House-on-the-Hill ticket reference map. The conversation timestamp maps to Zendesk Comment created_at.
House-on-the-Hill Service Desk
Knowledge Base Article
Zendesk
Article
1:1House-on-the-Hill KB articles map to Zendesk Guide Articles. We export article title, body, author, category assignment, and any custom article fields, then create the target Section and Category hierarchy in Zendesk Guide before article import. Articles are created via the Help Center API POST /help_center/categories/{category_id}/sections/{section_id}/articles. If the source author is an agent, we map the author to a Zendesk User; if anonymous, the article is created without an author association.
House-on-the-Hill Service Desk
Attachment
Zendesk
Attachment
1:1House-on-the-Hill file attachments are stored in the document management area and linked to tickets by an internal document ID. The ticket CSV does not embed attachment binary data. We export the attachment records as a separate pass, download the file binaries, and upload them to Zendesk via the Attachments API using multipart form encoding. We re-link each attachment to the migrated Zendesk ticket using the ticket ID map created during the ticket import phase. Attachments exceeding the Zendesk API size limit are flagged for manual re-upload by the customer's admin.
House-on-the-Hill Service Desk
Custom Field
Zendesk
Ticket Field or User Field
lossyHouse-on-the-Hill custom ticket and contact fields defined in the form designer require pre-creation in Zendesk before data import. We inspect the field schema via the CSV export template, map each custom field name to a Zendesk field of equivalent type (text, dropdown, checkbox, integer, date), and create the Zendesk custom field via the Ticket Fields API before any ticket data is loaded. Dropdown options are migrated as a comma-separated string split into Zendesk tag values or as a custom ticket field with the option list created in Zendesk first.
House-on-the-Hill Service Desk
SLA Record
Zendesk
SLA Policy (documented for manual recreation)
lossyHouse-on-the-Hill SLA policies and their ticket associations are not independently exportable. We extract SLA name, breach time, and any SLA assignment from the ticket export where present, and document the full SLA definition for recreation in Zendesk SLA Centre. SLA metric (first response, next response, resolution time) and target values map to Zendesk SLA Policy conditions and targets. Ticket-level SLA assignment at import time is preserved as a custom field or documented in the handoff notes if the customer's Zendesk tier supports SLA Centre.
House-on-the-Hill Service Desk
Tag
Zendesk
Tag
lossyHouse-on-the-Hill tags are a flat label system stored as a comma-separated string per ticket. We split them into individual tag values at migration time and apply them to the Zendesk Ticket via the Tags API or as a tag array in the ticket payload. Tags used for categorization in House-on-the-Hill that do not map cleanly to Zendesk's tag model are documented in the handoff notes with a recommendation to use Zendesk Views or SLAs for equivalent filtering.
| House-on-the-Hill Service Desk | Zendesk | Compatibility | |
|---|---|---|---|
| Contact | End User1:1 | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Agent | Agent (User with role)1:1 | Fully supported | |
| Ticket | Ticket1:1 | Fully supported | |
| Conversation | Comment1:1 | Fully supported | |
| Knowledge Base Article | Article1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Custom Field | Ticket Field or User Fieldlossy | Fully supported | |
| SLA Record | SLA Policy (documented for manual recreation)lossy | Fully supported | |
| Tag | Taglossy | 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.
House-on-the-Hill Service Desk gotchas
CSV import requires flat file format with no nested structures
Import error log is written to _suppdesk.err_ with no UI summary
Attachments must be exported and re-linked separately from tickets
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
Data audit and House-on-the-Hill export
We extract all record types from House-on-the-Hill via the Settings Cog CSV export: Contacts, Companies, Agents, Tickets, Conversations, Attachments, KB Articles, and custom field exports. We inspect the flat-file schema for each table, note the ID reference fields used to link records across tables, and identify any denormalisation required. We also document the knowledge base category hierarchy and any SLA assignments embedded in the ticket export. This phase produces a source schema map and an export checklist confirming all tables have been successfully downloaded before transformation begins.
Zendesk destination schema preparation
We create the Zendesk destination schema before any data is loaded. This includes provisioning custom ticket fields and custom user fields via the Ticket Fields and User Fields APIs to receive House-on-the-Hill custom field data. We create the Zendesk Help Center Category and Section hierarchy for knowledge base migration. We configure agent role assignments and group structure. Any Zendesk plan limitations on custom fields, SLA Centre access, or Help Center availability are flagged against the destination plan tier before this step completes.
Data transformation and denormalisation
We denormalise the House-on-the-Hill flat-file exports into Zendesk-ready payloads. Ticket rows are enriched with denormalised requester email and assignee email from the related Contact and Agent tables. Tags are split from comma-separated strings into Zendesk tag arrays. Custom field values are mapped to Zendesk custom field IDs by name. Date formats are normalised to ISO 8601. We run a dry-run reconciliation comparing the row count of each transformed file against the source export to catch omissions before API submission. We also parse the _suppdesk.err_ log if any prior import attempts exist to catch systemic encoding or data-quality issues.
Parent-record migration and lookup resolution
We run the load in strict dependency order: Organizations first (from Companies), then Users (from Contacts and Agents), then Tickets (with requester_id and assignee_id resolved to the migrated User IDs), then Comments (with parent ticket ID resolved from the ticket map), then Attachments (with parent ticket ID resolved from the ticket map and the attachment binary uploaded separately). The Zendesk Tickets API receives ticket payloads with the pre-resolved User IDs inline. For large volumes exceeding 1,000 records per object, we use the Bulk API 2.0 with chunking and exponential backoff on rate-limit responses. Each phase emits a row-count reconciliation report before the next phase begins.
Knowledge base and SLA documentation
We create Zendesk Guide Articles from the House-on-the-Hill KB export, assigning each article to the pre-created Section. We capture the House-on-the-Hill article category and section names and document the mapping to the Zendesk section hierarchy. For SLA policies, we compile a written SLA inventory from the ticket export, listing each distinct SLA name, associated breach times, and the count of tickets assigned to each SLA. This document is delivered to the customer's admin to recreate in Zendesk SLA Centre. We also deliver a full field-mapping spreadsheet and a record-count reconciliation report across all object types.
Cutover, validation, and handoff
We freeze House-on-the-Hill write access during the final delta pass and run any records modified since the initial export as a last delta load into Zendesk. We perform a spot-check validation on a random sample of 30-50 records per object type, comparing key field values against the source export. We validate that ticket-to-requester, ticket-to-assignee, comment-to-ticket, and attachment-to-ticket relationships are intact. We deliver the SLA inventory, automation rebuild guide (documenting what does not migrate), and the full mapping spreadsheet. We support a one-week post-go-live window for reconciliation issues. We do not rebuild House-on-the-Hill automations or configure Zendesk Triggers and Views; these are documented in the handoff and handled by the customer's admin.
Platform deep dives
House-on-the-Hill Service Desk
Source
Strengths
Weaknesses
Zendesk
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 House-on-the-Hill Service Desk and Zendesk.
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
House-on-the-Hill Service Desk: Not publicly documented.
Data volume sensitivity
House-on-the-Hill 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 House-on-the-Hill Service Desk to Zendesk migration scoping. Not seeing yours? Book a call.
Walk through your House-on-the-Hill Service Desk 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 House-on-the-Hill Service Desk
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.