Helpdesk migration
Field-level mapping, validation, and rollback between House-on-the-Hill Service Desk and Freshdesk. We move data and schema; workflows are rebuilt natively in Freshdesk.
House-on-the-Hill Service Desk
Source
Freshdesk
Destination
Compatibility
7 of 10
objects map 1:1 between House-on-the-Hill Service Desk and Freshdesk.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from House-on-the-Hill Service Desk to Freshdesk is a platform-architecture migration as much as a data migration. House-on-the-Hill exports flat CSV files from a Settings Cog interface with no public REST API, while Freshdesk exposes a full REST API that accepts JSON payloads and enforces a typed schema at insert time. We bridge that gap by extracting each House-on-the-Hill table independently (Tickets, Contacts, Agents, Companies, Conversations, Knowledge Base, Attachments), denormalising related tables into the flat structures House-on-the-Hill exports, then transforming and loading each record type into Freshdesk's API endpoints in dependency order. The _suppdesk.err_ error log House-on-the-Hill generates on import failures must be read and resolved before each delta pass. Freshdesk's requirement that contacts can only be imported when at least ten tickets exist in the account is handled by sequencing ticket creation before contact import. SLA policies, knowledge base categories, and custom ticket fields require explicit schema configuration in Freshdesk before data flows in.
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 Freshdesk, 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
Freshdesk
Contact
1:1House-on-the-Hill stores Contacts in a separate database and exports them as a flat CSV with name, email, phone, and company fields. Freshdesk Contacts require at least ten tickets to exist in the account before the contact import succeeds, so we sequence ticket creation before contact import. We map the source email address as the dedupe key, preserve any custom contact fields as Freshdesk custom contact fields created before import, and set the primary company via the Companies import pass that precedes this step.
House-on-the-Hill Service Desk
Company
Freshdesk
Company
1:1House-on-the-Hill Companies (organisations) export with name, domain, and address fields as a flat CSV. Freshdesk Companies require the company name as the primary key. We create the Companies pass before Contacts so that Freshdesk can resolve the company association on each contact record at import time. House-on-the-Hill's flat company model maps directly to Freshdesk's company structure without transformation.
House-on-the-Hill Service Desk
Agent
Freshdesk
Agent
1:1House-on-the-Hill agent accounts are stored in a distinct database but the HTTPS Report API does not expose agent records for automated export, so we export agent data from the UI CSV export where available. Freshdesk agents are provisioned in Admin > Agents before migration. We map House-on-the-Hill agent email addresses to Freshdesk agent accounts by email match, and any House-on-the-Hill agent without a corresponding Freshdesk account is held in a reconciliation queue for the customer's admin to provision before record import resumes.
House-on-the-Hill Service Desk
Ticket
Freshdesk
Ticket
1:1Tickets are the primary House-on-the-Hill record type and migrate cleanly via CSV export from Settings Cog > More Tools. We map source columns to Freshdesk ticket schema: subject becomes subject, description_text becomes description, source priority and status map to Freshdesk priority and status enums. The source ticket reference number is preserved as a custom field for audit traceability. Ticket import is sequenced after Contacts and Companies but before Conversations to ensure requester and company lookups resolve at insert time.
House-on-the-Hill Service Desk
Conversation
Freshdesk
Conversation (Ticket Replies)
1:1Ticket conversations (public replies and internal notes) in House-on-the-Hill are stored as a related table. We export the conversation thread linked to each ticket by ticket reference number and import them in ticket-ID order after the ticket base is loaded in Freshdesk. Public replies become Freshdesk conversation notes with the is_reply flag; internal notes become Freshdesk private notes. The source timestamp is preserved on each conversation record to maintain thread ordering.
House-on-the-Hill Service Desk
Knowledge Base Article
Freshdesk
Article
1:1KB articles are stored separately from tickets in House-on-the-Hill. We export them as structured records and map them to Freshdesk Help Center articles, preserving article-body HTML, category assignments, and any custom article fields. Freshdesk requires the Help Center to be configured before article import (Admin > Help Center settings). Article-to-category mapping uses the category names exported from House-on-the-Hill as the matching key. Pair-specific risk: Freshdesk's native import tools have been reported to duplicate KB articles on re-import, so we use API-based article creation with idempotent keying by source article ID to prevent duplication.
House-on-the-Hill Service Desk
Attachment
Freshdesk
Attachment
1:1File attachments in House-on-the-Hill are stored in the document management system and linked to tickets by an internal document ID. The ticket CSV does not embed attachment binary data. We export all attachment records as a separate pass, download each file, then upload to Freshdesk using the attachments API endpoint and re-associate by matching the source ticket reference to the migrated Freshdesk ticket ID. This two-phase approach (ticket load first, then attachment upload and re-link) is required to avoid broken attachment references in the final dataset.
House-on-the-Hill Service Desk
Custom Field
Freshdesk
Custom Field
lossyCustom ticket and contact fields are defined in the House-on-the-Hill form designer. We inspect the field schema via the CSV export template and create equivalent Freshdesk custom fields in Admin > Support Operations before any data import begins. Dropdown, multi-select, date, number, and boolean field types map directly. Any custom field in House-on-the-Hill without a Freshdesk equivalent is created as a text custom field and flagged for the customer to review for type accuracy post-migration.
House-on-the-Hill Service Desk
SLA Policy
Freshdesk
SLA Policy
lossySLA policies and their association with tickets are not independently exportable from the House-on-the-Hill ticket record; the HTTPS Report API does not expose SLA records independently. We extract SLA name and breach time from the ticket export where present and recreate SLA rules as Freshdesk Admin > SLA Policies configurations before ticket import. Ticket-level SLA assignments are then mapped by ticket reference after the SLA Policy configuration is complete.
House-on-the-Hill Service Desk
Tag
Freshdesk
Tag
lossyTags in House-on-the-Hill are a flat label system applied to tickets, stored as a comma-separated string per ticket in the CSV export. We split the tag string at import time and create Freshdesk tags via the tags API before or alongside ticket import. Tags used for ticket categorisation migrate directly; tags used for internal routing or workflow context are flagged for the customer's admin to reassign using Freshdesk's automation rules post-migration.
| House-on-the-Hill Service Desk | Freshdesk | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Agent | Agent1:1 | Fully supported | |
| Ticket | Ticket1:1 | Fully supported | |
| Conversation | Conversation (Ticket Replies)1:1 | Fully supported | |
| Knowledge Base Article | Article1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| SLA Policy | SLA Policylossy | 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
Freshdesk gotchas
API access is blocked on the free plan
Per-minute rate limits are account-wide and endpoint-specific
Multi-channel source types do not map 1:1 to all destinations
Custom objects created in-product cannot be accessed by other apps
Contact import requires at least 10 existing tickets in the account
Pair-specific challenges
Migration approach
Discovery and House-on-the-Hill export audit
We audit the source House-on-the-Hill system by exporting flat CSV files for each database table: Contacts, Companies, Agents, Tickets, Conversations, Knowledge Base Articles, and Attachments. We identify the House-on-the-Hill export template from Settings Cog to understand column names, custom field presence, and any denormalised fields. We document the SLA policy definitions (from screenshots if not independently exportable), knowledge base category structure, and tag taxonomy. This output is a written data inventory and source-schema map that drives the transformation layer.
Freshdesk schema configuration
We configure Freshdesk before any data flows in. This includes creating all custom ticket and contact fields (mapped from the House-on-the-Hill form designer schema), setting up the Help Center with categories matching the source KB structure, creating SLA policies from the documented House-on-the-Hill policy definitions, provisioning agent accounts matched to the source agent email list, and setting ticket status and priority picklists to cover the full set of values present in the source data. Schema configuration happens in a Freshdesk trial or sandbox account first for validation.
Data extraction and transformation
We extract each House-on-the-Hill table independently, denormalise related records into flat structures, and transform field values to match Freshdesk's typed schema. Ticket status values map from House-on-the-Hill statuses to Freshdesk status enums (Open, Pending, Resolved, Closed). Priority maps similarly. Custom field values are type-checked against the Freshdesk custom field type created in step 2. Conversation threads are flattened into a per-ticket ordered list of reply and note records. Attachment records are held for phase 5 with their source ticket reference preserved for re-linking.
Seed ticket load and contact import sequencing
Because Freshdesk requires at least ten tickets before contact import will succeed, we run a seed pass that loads the first ten tickets from the source export with minimal required fields (subject, description, requester email, status). After the seed pass succeeds, we load the full contact list via Freshdesk's Contacts API, then load the remaining tickets with full field population. This sequencing prevents Freshdesk's minimum-ticket gate from blocking the contact import phase.
Conversation and attachment migration
With ticket and contact records loaded, we import conversation threads in ticket-ID order using Freshdesk's conversation API endpoint, preserving public-reply versus internal-note distinctions from the source. Attachment files are downloaded from House-on-the-Hill's document management system, uploaded to Freshdesk via the attachments API, and re-linked to the migrated ticket using the ticket-ID map returned by the import engine. Each conversation and attachment pass emits a row-count reconciliation report.
Knowledge base migration and SLA assignment
Knowledge base articles are created via Freshdesk's Articles API with idempotent keying by source article ID. Category assignments map using the source category name as the matching key against the Freshdesk Help Center categories created in step 2. SLA policy assignments from the source ticket export are applied to migrated tickets as Freshdesk SLA Policy associations. We then run a final reconciliation pass comparing record counts, spot-checking twenty to thirty random tickets for field-level accuracy, and delivering a written migration report.
Cutover and handoff
We freeze House-on-the-Hill writes during the cutover window, run a final delta migration of any records modified during the migration, then hand off Freshdesk as the system of record. We deliver the migration report including record counts, error logs, and the SLA policy configuration summary. We do not rebuild House-on-the-Hill workflows, automations, or forms as Freshdesk equivalents; these are documented in a written rebuild inventory for the customer's admin team. We offer a one-week hypercare window for reconciliation issues raised during the first week of live operation.
Platform deep dives
House-on-the-Hill Service Desk
Source
Strengths
Weaknesses
Freshdesk
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 Freshdesk.
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 Freshdesk migration scoping. Not seeing yours? Book a call.
Walk through your House-on-the-Hill Service Desk to Freshdesk 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 Freshdesk
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.