Helpdesk migration
Field-level mapping, validation, and rollback between Halo Service Desk and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.
Halo Service Desk
Source
Zendesk
Destination
Compatibility
7 of 10
objects map 1:1 between Halo Service Desk and Zendesk.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Halo Service Desk to Zendesk is a structural migration that requires careful sequencing because Halo and Zendesk model related entities differently. Halo stores Customers as standalone records that can link to multiple Companies, while Zendesk attaches Users and Organizations as separate but related objects. We resolve the Customer-to-Organization-and-User mapping during scoping, run imports in dependency order (Organizations first, then Users, then Tickets), and preserve conversational threads on their parent ticket records. Approval processes and notification automations must be paused before import because Halo triggers them on every ticket creation event, risking email floods against migrated records. Custom fields in Zendesk use a numeric ID-based array structure that requires pre-creation in Zendesk Admin before values can be written; we coordinate this as part of the pre-flight checklist. Workflows, SLA calendars, and automations do not migrate as code; we deliver a written inventory of Halo's active automation rules and their recommended Zendesk equivalents 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 Halo 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.
Halo Service Desk
Ticket
Zendesk
Ticket
1:1Halo Tickets map to Zendesk Tickets with the full lifecycle preserved (status, priority, type). Halo ticket_id becomes a custom Zendesk field for cross-reference during validation. Ticket SLA associations migrate as tags linked to the Zendesk SLA Policy reference. Status mappings are defined during scoping against the customer's Halo ticket type configuration. Approval processes must be disabled before import to prevent email floods and SLA clock starts on migrated records.
Halo Service Desk
Conversation
Zendesk
Comment
1:1Halo Conversations on a Ticket map to Zendesk Comments on the corresponding Ticket. The is_public flag determines whether the comment is public (visible to the requester) or internal (agent-only). Author attribution maps from Halo agent_id to the Zendesk User record resolved during the owner reconciliation step. Timestamps and thread ordering are preserved by setting the Zendesk Comment created_at to the original Halo conversation timestamp.
Halo Service Desk
Customer
Zendesk
User + Organization (split)
1:manyHalo Customers are standalone records that can link to multiple Companies. We split each Customer into a Zendesk User (the contact record) and optionally link or create a Zendesk Organization. The customer's primary Company in Halo maps to the Organization name; additional linked Companies are preserved in a custom text field organization_names__c. Email, phone, and address fields map directly. If a Customer has no linked Company in Halo, we create a Zendesk User with no Organization assignment.
Halo Service Desk
Company
Zendesk
Organization
1:1Halo Companies map to Zendesk Organizations. Organization name, domain, address, and custom fields transfer directly. We pre-create the Organizations before User import so that the organization_id lookup is satisfied at the moment of User insert. If the same organization appears under multiple names in Halo (from multiple linked Companies), we merge them into a single Zendesk Organization and note the duplicates in the reconciliation report.
Halo Service Desk
Agent
Zendesk
User
1:1Halo Agents map to Zendesk Users. We resolve by email match against the Zendesk destination account. Any Halo Agent without a matching Zendesk User goes to a reconciliation queue for the admin to provision before record import resumes. Agent team assignments map to Zendesk Groups, and individual agents are added to Groups during the team mapping step. Agent role configurations (admin vs agent) map to Zendesk Admin vs Agent roles.
Halo Service Desk
Team
Zendesk
Group
1:1Halo Teams map to Zendesk Groups for ticket routing and queue management. Agent-to-Team assignments are preserved by adding each mapped agent to the corresponding Zendesk Group. Group names and descriptions transfer directly. If a ticket in Halo has a team assignment rather than an individual agent, we map that to Zendesk Group assignment on the Ticket.
Halo Service Desk
Knowledge Base Article
Zendesk
Article
1:1Halo KB articles with title, body content, category, and publish status map to Zendesk Help Center articles. Article attachments migrate as linked file records. Category hierarchy from Halo maps to Zendesk Section structure. Publish status (draft vs published) maps to Zendesk's draft and published states. HTML content is preserved as-is; the customer validates rendering in the Zendesk Help Center after migration.
Halo Service Desk
Custom Field
Zendesk
Custom Field
lossyHalo custom fields (text, date, dropdown, multiselect) require pre-creation in Zendesk Admin before import because Zendesk stores custom field values in a numeric ID-keyed array. We coordinate the pre-creation step: each Halo custom field becomes a Zendesk ticket or user custom field of the equivalent type. Dropdown and multiselect options must be created in Zendesk first so that option IDs exist for mapping. SQL lookup fields in Halo are text fields referencing other records; we map these to a Zendesk text field with the referenced value embedded.
Halo Service Desk
SLA Policy
Zendesk
SLA Policy
lossyHalo SLA Policies define response and resolution timeframes tied to Ticket types and priorities. We map these to Zendesk SLA Policies with corresponding First Reply Time and Next Reply Time targets. Halo's business hours and holiday calendar configuration must be recreated in Zendesk Admin as Zendesk Business Hours and Holiday Calendars before SLA policies can reference them. SLA metric names and targets transfer directly; SLA status ( breached, met, in progress ) is not migrated as it is a runtime state recalculated by Zendesk.
Halo Service Desk
Asset
Zendesk
Custom Field on Ticket or Organization
1:1Halo Assets linked to Customers and Sites have no direct Zendesk equivalent at the object level. We map asset records as a custom Zendesk ticket field or Organization-level field holding the asset identifier, type, and serial number as a structured text block. Asset-to-Ticket relationships are preserved by embedding the asset reference on the migrated Ticket. Full asset management functionality requires a Zendesk Asset Management add-on which the customer may activate separately.
| Halo Service Desk | Zendesk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Conversation | Comment1:1 | Fully supported | |
| Customer | User + Organization (split)1:many | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Team | Group1:1 | Fully supported | |
| Knowledge Base Article | Article1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| SLA Policy | SLA Policylossy | Fully supported | |
| Asset | Custom Field on Ticket or Organization1:1 | 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.
Halo Service Desk gotchas
Approval and notification automations fire on imported records
Billing calculation bugs affect prepaid ticket scenarios
API rate limits are undocumented
Password custom fields cannot be migrated securely
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
Discovery and pre-flight checklist
We audit the source Halo Service Desk account across ticket volume, active ticket types, custom field definitions (including field types and SQL lookup dependencies), active approval processes and notification rules, SLA policy configurations, knowledge base article count and category depth, and agent and team count. We pair this with a Zendesk readiness check: verifying the Zendesk plan tier supports the required features (SLA Policies, Help Center, custom fields), and confirming the customer has Admin access to create fields and configure automations. The discovery output is a written migration scope and a pre-flight checklist requiring the customer to disable approval processes, silence notifications, and create Zendesk custom fields with known numeric IDs before the migration window.
Zendesk custom field and group pre-creation
We coordinate the pre-creation of Zendesk custom fields. For each Halo custom field, we create the equivalent Zendesk ticket or user custom field in Admin, retrieve the numeric field ID, and document the ID-to-field-name mapping for use during import. Groups are created in Zendesk to match Halo Teams, and agents are assigned to Groups during the User import step. This step must complete before any ticket import because Zendesk requires valid Group IDs for group-assigned tickets.
Record dependency ordering and extraction
We extract and stage records from Halo in dependency order: Organizations (from Halo Companies) first because Tickets reference them; Users (from Halo Customers) second with organization_id resolved; SLA Policies and Business Hours recreated in Zendesk Admin before ticket import; then Tickets with Conversations attached and agent assignment resolved. We extract custom field values alongside their parent records and map them using the numeric field IDs established in step two. Knowledge base articles are extracted separately and staged for the Help Center import.
Trial migration and reconciliation
We run a trial migration using a representative sample of records (typically 50-100 tickets with varied statuses, priorities, and custom field values) into the customer's Zendesk account. The customer reconciles record counts, spot-checks migrated tickets against Halo source records for field accuracy and conversation ordering, and validates that custom field values landed in the correct Zendesk fields. Any mapping corrections are documented and applied before the full migration begins. Approval processes and notifications remain disabled during trial.
Full production migration in dependency order
We run the full production migration in record-dependency order: Organizations, then Users, then Groups and Group membership, then SLA Policies and Business Hours, then Tickets with Conversations, then Knowledge Base articles. Each phase emits a row-count reconciliation report showing records imported, skipped, and failed with error reasons. We monitor for HTTP 429 responses and back off dynamically. Customers may run Zendesk in read-only mode during migration or maintain Halo as write-active with a delta migration step at cutover.
Cutover, validation, and automation handoff
We freeze Halo writes during the cutover window, run a final delta migration of any records modified during the migration run, then designate Zendesk as the system of record. We deliver a written inventory of Halo's active approval processes, notification rules, and SLA configurations with their recommended Zendesk equivalents (Triggers, Automations, SLA Policies, and Macros). The customer's Zendesk admin or a Zendesk partner rebuilds these post-migration. We support a three-day hypercare window where we resolve reconciliation issues raised by the support team. We do not rebuild Halo automations as Zendesk Triggers inside the migration scope; that is a separate engagement.
Platform deep dives
Halo Service Desk
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 Halo Service Desk 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
Halo Service Desk: Not publicly documented — we monitor for 429 responses and back off dynamically during migrations.
Data volume sensitivity
Halo 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 Halo Service Desk to Zendesk migration scoping. Not seeing yours? Book a call.
Walk through your Halo 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 Halo 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.