This guide addresses common challenges faced during migration, particularly around missing or improperly formatted data in the Threads module, and provides clear, actionable steps to ensure your migration proceeds without delays or failures.
The Threads module in Zoho Desk captures all communication related to a ticket—emails, internal notes, and other messages. For a successful migration, this data must be structured correctly in a CSV file, with specific mandatory fields included. Without these, the migration process will either fail or result in incomplete records.
From the initial request, it was emphasized that the CSV must include the following mandatory fields:
YYYY-MM-DDTHH:MM.000Z).In or Out, indicating the flow of communication.True or False depending on whether the thread is private.
One of the most frequent issues encountered during migration is missing or blank content in the Threads module. In the case discussed, the majority of records had no content, which poses a serious problem because Content is a mandatory field.
If your CSV contains empty or null values in the Content column, do not leave them blank. Instead, replace all empty entries with the literal string NULL (without quotes). This ensures that Zoho Desk recognizes the field as intentionally empty and processes it correctly during migration.
For example:
ThreadExtId,TicketExtId,Content,SendDateTime,ReceivedTime,Sender Email,Direction,isPrivate,FromEmailAddress,To
1001,TKT1001,NULL,2024-05-10T10:30.000Z,2024-05-10T10:31.000Z,agent@company.com,Out,True,agent@company.com,customer@client.com
This small but crucial adjustment prevents migration failures and ensures that all threads are accounted for—even if they contain no message body.
Another missing piece is the Channel field. While not always required in every CRM, Zoho Desk expects this field to define how the communication occurred (e.g., Email, Phone, Chat).
When the Channel field is absent, Zoho Desk defaults to Email. While this may seem acceptable, it can lead to misclassification of communication channels, especially if your data includes messages from other sources like live chat or phone calls.
To avoid this, ensure that the Channel field is populated with the correct value for each thread:
EmailPhoneChatSocial MediaWeb FormOtherIf you're unsure of the original channel, refer to the export settings or internal documentation of the tool you are using. If no channel information is available, you may safely use Email as the default, but be aware that this may affect reporting and analytics later.
Zoho Desk uses the TicketExtId as the unique identifier to link threads to their respective tickets. It is important to maintain consistent format for all tickets.

Before proceeding, confirm the following:
An often-overlooked but essential step is the Zwitch form submission. This form is required to authenticate the migration request and grant Zoho Desk the necessary permissions to access your data.
To verify if the form has been submitted:
If the form is not submitted, the migration cannot proceed—even if the CSV file is perfect. Submitting the form ensures that your data is securely transferred and that the migration process is initiated on Zoho’s end.
Once all data corrections are made, follow this checklist before resubmitting your file:
NULL.Email if unsure).After confirming these points, share the updated file with Zoho Desk support team at support@zohodesk.com. They will validate the file again and initiate the migration process.
To avoid similar issues in future data transfers: