Avoid Data Migration Roadblock Using Correct Ticket and Comment External IDs

Avoid Data Migration Roadblock Using Correct Ticket and Comment External IDs

Migrating data from an existing helpdesk platform to Zoho Desk is a critical step in ensuring continuity of operations, preserving customer history, and maintaining team productivity. However, the process can become complex when certain technical prerequisites are overlooked—especially when it comes to external identifiers and proper data formatting.

This article addresses common challenges faced during migration, particularly around the import of parent modules like Tickets and their child entities such as Comments, Threads, and Attachments. By understanding the underlying requirements and best practices, organizations can avoid delays and ensure a seamless transition.

Understanding the Importance of External IDs in Migration

One of the most frequently encountered roadblocks in Zoho Desk data migration is the absence of External IDs (ExtID) during the initial import of parent modules. The CommentExtId and TicketExtId are not optional—they are mandatory for backend migration workflows. These identifiers act as unique references that allow Zoho Desk to correctly link child records (like comments) to their corresponding parent records (such as tickets).

When a customer imports tickets without mapping the TicketExtId, the system cannot establish the necessary relationships required for downstream modules like Comments, Threads, and Attachments. As a result, even if the data is technically present, the migration process cannot proceed because the system lacks the reference points needed to maintain data integrity.

In cases where the CommentExtId is missing from the CSV file, Zoho Desk can generate these IDs automatically using internal scripts. However, this workaround only applies to the initial migration. For any future updates or residual migrations, the same CommentExtId values must be preserved. Otherwise, the system may interpret new entries as duplicates, leading to data redundancy and confusion.

Submitting migration file ONLY in CSV format

Another common point of confusion arises when customers attempt to submit backups in XLSX format. While XLSX files are widely used and easy to work with, Zoho Desk’s backend migration tools are designed to process only CSV (Comma-Separated Values) files. This restriction ensures consistency, parsing accuracy, and compatibility across different systems.

If a backup file is received in XLSX format, the migration team cannot proceed until it is converted to CSV. This delay can impact timelines, especially when the migration is already in progress or nearing completion. To prevent such bottlenecks, it is essential to prepare all data exports in CSV format before submission.

For teams using tools like Microsoft Excel or Google Sheets, exporting the file as CSV is a simple step: go to File > Save As, choose the location, and select “CSV (Comma delimited)” from the file type dropdown. This small change can significantly accelerate the migration process.

The Critical Sequence: Parent modules first, then child entities

Zoho Desk enforces a strict dependency chain during migration: parent modules must be imported first, and only after they are successfully migrated can child modules be processed. This means that the sequence of operations is non-negotiable.

The recommended order is:

  1. Accounts
  2. Contacts
  3. Tickets
  4. Knowledge Base

Once these parent modules are successfully imported—ideally with external IDs mapped—the system allows the migration of child entities such as:

  • Threads
  • Comments
  • Attachments

Attempting to migrate comments before tickets will result in failure, as there is no parent record to link them to. Even if the CSV file contains all the necessary comment data, the system will reject it due to missing TicketExtId references.

This dependency ensures data consistency and prevents orphaned records. It also underscores the importance of verifying the completion of each stage before moving forward.

What Happens When the Ticket Import Is Incomplete or Incorrect?

When tickets are imported without proper external ID mapping, the migration process hits a dead end. The system cannot determine which comments belong to which tickets, making it impossible to preserve the conversation history or assign ownership correctly.

In such cases, the only viable solution is to revert the current ticket import and reimport the data with the external ID field properly mapped. This step is crucial, even though it may seem inconvenient.

However, customers should be aware that reverting the import will erase any changes made after the initial upload, including updates to ticket status, assignments, or custom fields. Therefore, it is advisable to:

  • Back up the current state of the Zoho Desk instance before reverting.
  • Ensure that the new import includes all required fields, especially TicketExtId and CommentExtId.
  • Test the import with a small batch of data first to validate the mapping.

How to Prepare Your CSV Files for Migration

To ensure a smooth migration, your CSV files must include the following:

Mandatory Fields for Comments:

  • CommentExtId – Must be unique and consistent across all imports.
  • TicketExtId – Must match the external ID of an existing ticket.
  • Content – The actual text of the comment.

Optional Fields with Default Behavior:

  • Commenter Email – If provided, Zoho Desk will match it to an active agent. If not, the importer’s user will be set as the owner.
  • Commented Time – If omitted, the current timestamp is used.
  • isPublic – Defaults to False. Set to True if the comment should be visible to customers.

If you do not have CommentExtId values in your source system, Zoho Desk can generate them during migration. But again, this should only be done once. Future updates must use the same IDs to avoid duplication.

Final checklist

If you’ve reached this stage and are still facing issues, here’s what you should do:

  1. Confirm that all parent modules (especially Tickets) have been imported with external IDs.
  2. Convert your backup files to CSV format.
  3. Reimport the tickets with proper TicketExtId mapping if needed.
  4. Update your comments CSV with CommentExtId and TicketExtId fields.
  5. Reach out to Zoho Desk support with the updated files and confirmation of completion.

Zoho Desk is committed to supporting you throughout the process. If you’re unsure about any step, a quick call with the support team (support@zohodesk.com) can clarify the workflow and help you avoid common pitfalls.