Helpdesk migration

Migrate from Halo Service Desk to Zendesk

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 logo

Halo Service Desk

Source

Zendesk

Destination

Zendesk logo

Compatibility

70%

7 of 10

objects map 1:1 between Halo Service Desk and Zendesk.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Halo Service Desk logo

Halo Service Desk

What's pushing teams away

  • Billing calculation bugs cause invoicing disputes — multiple users on Reddit report incorrect prepaid calculations and billing scenarios that require manual correction and vendor intervention.
  • Support responsiveness falls short of expectations — negative reviews cite delays, unhelpful responses, and bugs that persist across multiple support tickets.
  • Integration failures create operational friction — some users report that third-party integrations break without clear resolution paths, leading to delays and blame-splitting between vendors.

Choosing

Zendesk logo

Zendesk

What's pulling them in

  • Mature omnichannel routing across email, chat, phone, messaging, and social — one unified inbox for support teams regardless of size or complexity.
  • Deep automation with Triggers, Automations, and SLA Policies lets high-volume teams enforce consistent workflows without manual ticket handling.
  • Large ecosystem of third-party integrations and a public app marketplace reduce friction for teams already using Salesforce, Jira, or Slack.
  • Industry-leading brand recognition and trust signal — many enterprise buyers default to Zendesk as a known quantity in vendor procurement cycles.
  • Generous documentation library and community mean onboarding teams can self-configure without needing a services engagement to get started.

Object mapping

How Halo Service Desk objects map to Zendesk

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

maps to

Zendesk

Ticket

1:1
Fully supported

Halo 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

maps to

Zendesk

Comment

1:1
Fully supported

Halo 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

maps to

Zendesk

User + Organization (split)

1:many
Fully supported

Halo 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

maps to

Zendesk

Organization

1:1
Fully supported

Halo 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

maps to

Zendesk

User

1:1
Fully supported

Halo 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

maps to

Zendesk

Group

1:1
Fully supported

Halo 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

maps to

Zendesk

Article

1:1
Fully supported

Halo 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

maps to

Zendesk

Custom Field

lossy
Fully supported

Halo 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

maps to

Zendesk

SLA Policy

lossy
Fully supported

Halo 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

maps to

Zendesk

Custom Field on Ticket or Organization

1:1
Fully supported

Halo 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.

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.

Halo Service Desk logo

Halo Service Desk gotchas

High

Approval and notification automations fire on imported records

High

Billing calculation bugs affect prepaid ticket scenarios

Medium

API rate limits are undocumented

Medium

Password custom fields cannot be migrated securely

Zendesk logo

Zendesk gotchas

High

Data export requires API scripting on non-Enterprise plans

Medium

Automations cap at 500 active rules and 1,000 tickets per hour

Medium

Help Center has no native export feature

High

Custom Objects and full data export are Enterprise-only

Pair-specific challenges

  • Approval and notification automations fire on imported records

    Halo triggers approval processes and email notifications on ticket creation by default. When we import records in bulk, every active automation, approval workflow, and notification rule fires against the migrated data unless they are pre-disabled. We flag this during scoping and provide a pre-flight checklist that requires the customer to set Start an Approval Process to No on all ticket types in Halo Configuration before the migration window opens. Failure to do this results in email floods to customers, unnecessary SLA clock starts on dormant records, and approval workflows assigning unexpected statuses to migrated tickets.

  • Halo API rate limits are undocumented but observable at ~300 requests per 5 minutes

    A Reddit user on r/halopsa reported Halo's rate limit at approximately 300 requests per 5 minutes when migrating tickets. Halo's REST API documentation does not publish official throttling thresholds. For large migrations, we monitor HTTP 429 responses and back off exponentially. Accounts with more than 50,000 records benefit from migration scheduling during off-peak hours to avoid compounding throttling with existing API traffic from active users or third-party integrations during the migration window.

  • Zendesk custom fields require pre-creation with numeric IDs for mapping

    Zendesk stores custom field values in a custom_fields array keyed by numeric field IDs, not field names. This means each Halo custom field must be created in Zendesk Admin first, the numeric field ID retrieved, and that ID used in the import payload. We coordinate this as a pre-migration step. If a Halo custom field is a dropdown or multiselect, the options must also exist in Zendesk before value mapping. Skipping this step results in custom field values being dropped or written to incorrect fields during import.

  • Halo SQL lookup custom fields have no direct Zendesk equivalent

    Halo supports dynamic SQL lookup fields that reference other records by querying a related table at render time. Zendesk does not have a native SQL lookup field type. We map these to Zendesk text fields populated with the referenced value as a static string at migration time. The dynamic lookup behavior does not replicate in Zendesk; if the customer requires this functionality post-migration, a Zendesk app or custom integration is required. This is documented in the pre-flight checklist and requires customer sign-off.

  • Halo password custom fields cannot be migrated to Zendesk

    Halo supports protected custom fields that store customer credentials and passwords. These are encrypted at rest and cannot be meaningfully transferred to Zendesk or any other platform. We skip password custom fields during migration and recommend a credential reset process communicated to affected users post-go-live. This is documented in the pre-flight checklist and requires explicit sign-off before migration proceeds.

Migration approach

Six steps for a successful Halo Service Desk to Zendesk data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Halo Service Desk logo

Halo Service Desk

Source

Strengths

  • ITIL-aligned out of the box with Project and Change Management workflows built in
  • Highly customizable ticket types, fields, pipelines, and approval chains
  • REST API covers the entire application surface — anything in the UI is accessible programmatically
  • Per-agent pricing model is transparent and predictable for MSP billing cycles
  • Q4 2024 updates added Service Availability Tracking and Intelligent Event Management for proactive alerting

Weaknesses

  • Billing calculation logic contains known bugs, particularly in prepaid billing scenarios
  • Support responsiveness is a recurring complaint in user reviews and Reddit threads
  • API rate limits are not publicly documented, making large-volume migration planning difficult
  • Performance can degrade with large datasets — some users report slow UI and lag during high-volume periods
Zendesk logo

Zendesk

Destination

Strengths

  • Well-documented REST API with broad endpoint coverage for Tickets, Users, Organizations, and Help Center.
  • Rich automation primitives: Triggers (event-driven), Automations (time-based), and Macros with variable substitution.
  • Multi-brand support enables large organizations to route and isolate support by product line or subsidiary.
  • Scalable from small teams on Team plan to global enterprises on Enterprise Plus with sandbox and disaster recovery options.
  • Large partner ecosystem and marketplace with hundreds of pre-built integrations reduces integration work at deployment.

Weaknesses

  • Per-agent pricing with aggressive feature gating makes lower tiers feel artificially limited.
  • No native full-KB export — Help Center content requires API scripting to extract.
  • AI features are add-on priced and behave inconsistently, not deeply embedded in core workflows.
  • Implementation timelines for complex multi-channel setups routinely exceed initial estimates by weeks or months.
  • Knowledge base and help center functionality are separate from core ticketing with their own permission model and versioning.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Halo Service Desk and Zendesk.

  • Object compatibility

    B

    2 of 7 objects need a mapping; the rest are 1:1.

  • 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

    Halo Service Desk: Not publicly documented — we monitor for 429 responses and back off dynamically during migrations.

  • Data volume sensitivity

    B

    Halo Service Desk doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Halo Service Desk to Zendesk 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 Halo Service Desk to Zendesk data migrations

Answers to the questions buyers ask most during Halo Service Desk to Zendesk migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most migrations land between two and four weeks for accounts under 10,000 tickets and 2,000 customers with fewer than 30 custom fields and no knowledge base migration. Migrations with large attachment volumes, complex SQL lookup custom field dependencies, a full knowledge base article migration with category hierarchy, or multi-company Customer-to-Organization split complexity move to five to eight weeks because of parent-record resolution, Zendesk custom field pre-creation coordination, and KB article content migration.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Halo Service Desk.
Land in Zendesk, 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