Moving your customer support data from a legacy system into Zoho Desk is a strategic step towards better efficiency, scalability and customer experience. How well it goes depends heavily on the completeness and accuracy of the data being transferred, particularly for critical modules like Threads, which hold the actual communication history between agents and customers. This guide covers the most common issues seen with missing or badly formatted Threads data, along with clear steps to keep your migration on track.
The Threads module in Zoho Desk captures every piece of communication tied to a ticket, including emails, internal notes and other messages. For migration to succeed, this data needs to be structured correctly in a CSV file with the following mandatory fields:
None of these fields are optional. Leaving any out can cause migration errors or lost data.
A frequent problem is blank content in the Threads module. Since Content is mandatory, empty values need attention rather than being left as-is. Replace any empty entry in the Content column with the literal text NULL, without quotation marks, so Zoho Desk recognises the field as intentionally empty rather than missing. This small adjustment stops migration failures and ensures every thread is accounted for, even where there is no message body.
Zoho Desk expects a Channel field describing how the communication took place, such as Email, Phone or Chat. If it is left blank, Zoho Desk defaults to Email, which can misclassify communications that actually came through live chat, phone, or another channel. It is worth populating this field correctly using one of: Email, Phone, Chat, Social Media, Web Form, or Other. Check your legacy system's export settings or documentation if you are unsure of the original channel; defaulting to Email is an acceptable fallback, but bear in mind it may skew reporting and analytics later on.
Zoho Desk uses TicketExtId to link threads back to their tickets, so this needs a consistent format throughout. If the same ticket ID series used during the initial ticket import is not carried through, threads will fail to link to the correct tickets, producing orphaned or mismatched data. Before submitting, confirm that the TicketExtId values in your CSV exactly match the external IDs assigned during the initial ticket import, that there are no duplicates or gaps in the sequence, and that the format, whether TKT1001, 1001 or a custom prefix, is consistent across both systems.
The Zwitch form authenticates the migration request and gives Zoho Desk permission to access your data, so it is easy to overlook but essential. To check whether it has been submitted, log in to Zoho Desk, go to Setup, then Data Administration, then Zwitch, then New Migration, and check whether a migration request is listed as Submitted or Pending. Migration cannot proceed without this form, even with a perfectly formatted CSV.
Review the sample CSV format Zoho Desk provides before exporting, use a validation tool or script to catch missing fields, incorrect formats or empty values ahead of time, keep a log of migration steps including form submissions and file versions, and test with a small subset of data before running the full migration.