Assisted Data Migration Guide

Assisted Data Migration Guide

Whether you’re moving from a cloud-based or on-premise system, you’ll need to find an efficient method of migrating your data to Zoho Desk. Our dedicated migration team can help you migrate your data safely and ensure your help desk operation is up and running. This assisted data migration guide provides information on what kind of files you should provide us, the required fields, and what format they should be. Adhering to this prescribed file format and data ensures a hassle-free, fast and effortless migration for our team.

To begin with, you will need to provide individual files containing Agents, Accounts, Contacts, Tickets, Threads, Ticket Comments, Products, and Tasks information. How to name these files along with the fields they must have are listed below:

Agents
File Pattern: Agents_XX.csv
Fields List:
Column
Example
Requirement
Comments
agentExtId
Agent_1, 1011, AAA111
Required

Last Name
John
Required

First Name
Peter
Optional

Full Name
John Peter
Optional

Email
Required


Notes:
  1. If an imported agent with the given email address already exists, the system will map them to the existing user.
  2. The agents will be associated with the departments in which the tickets are imported.

Accounts
File Pattern: Accounts_XX.csv
Fields List:
Column
Example
Requirement
Comments
AccountExtId
Account_1, Acc213343, 1232
Required

Account Name
Zoho
Required

Created Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional
Default: Current time
Modified Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional
Default: Current time
Phone

Optional

Email

Optional

Fax

Optional

Website

Optional

Industry

Optional

Street

Optional

City

Optional

Description

Optional

Annual Revenue

Optional


Contacts
File Pattern: Contacts_XX.csv
Fields List:
Column
Example
Requirement
Comments
ContactExtId
Contact_1
Required

First Name
John
Optional

Last Name
Peter
Required

AccountExtId
Account_1
Optional
Contact will not be associated with any account if null.
Email
Optional
Default: Null
Phone
9876543210
Optional

Created Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional
Default: Current time
Modified Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional
Default: Current time
Type

Optional

Mobile

Optional

Street

Optional

City

Optional

State

Optional

Country

Optional

Zip

Optional

Facebook

Optional

Twitter

Optional

Description

Optional


Note:
  1. When you can only provide the contact's email address for tickets and not the name, we will extract the last name from the contact's email address.  For example, when the customer's email address is "john@mycompany.com," the last name will be updated as "john".

Tickets
File Pattern: Tickets_XX.csv
Fields List:
Column
Example
Requirement
Comments
TicketExtId
Ticket_1, 1010, Ticket102
Required

ContactExtId
Contact_1
Required
Ticket and other child entities will be skipped from import if null.
Subject
Test Ticket
Required

Description

Optional

Email

Optional

Due Date
YYYY-MM-DDTHH:MM:SS.000Z
Optional

Created Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional
  1. Default: Current time
  2. Created time cannot be updated once imported.
  3. Created time is mandatory for ticket conversations.
Modified Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional

Closed Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional
  1. Closed time is required only for tickets in the closed state.
  2. If not available, the current time will be updated as closed time.
  3. Closed time cannot be earlier than the created time.
Status
Open
Optional
  1. Default: Open
  2. The values present in the column will be added to the Status field.
  3. Closed will be considered as a closed-mapped status.
Priority
High
Optional

Classification
Issue
Optional

Owner Email
Optional
  1. By default, tickets will be marked as unassigned.
  2. Only Active agent's ownership can be maintained.
OwnerExtId

Optional
When a separate file for agents is provided, the owner can be referenced using this value.
ProductExtId
Product_1
Optional
Unique ID of your product that helps associate a ticket with it.
Phone

Optional

Category
PickList
Optional

Sub Category
PickList
Optional

Resolution

Optional

Channel
PickList
Optional
Default: Phone

Note:
  1. We cannot modify the created time value of tickets during residual imports since they may not conform to the timeline of its child entities. Additionally, the timeframe of child entities should be later than the ticket-created time. For example, the date-time stamp on an outgoing thread should be later than the ticket's created time; otherwise, the record will be skipped during import.

Threads
File Pattern: Threads_XX.csv
Fields List:
Column
Example
Requirement
Comments
ThreadExtId
Thread_1
Required

TicketExtId
Ticket_1
Required

Content

Required

SendDateTime
YYYY-MM-DDTHH:MM:SS.000Z
Required

ReceivedTime
YYYY-MM-DDTHH:MM:SS.000Z
Required

Sender Email

Optional
  1. Default: The user whose token is being used for import will be the thread owner.
  2. The given value will be matched with the on-boarded agents and assigned accordingly.
  3. Only active agents can be assigned as owners.
Direction
In | Out
Optional
Default: In
isPrivate
True | False
Optional
Default: False
FromEmailAddress

Optional

To

Optional

Cc

Optional
  1. Separate multiple email addresses using the semicolon character.
  2. When the "from" or "Cc" value is null, the channel will be set as Customer Portal.
Bcc

Optional

Channel
Email | Customer Portal
Optional


Ticket Comments
File Pattern: TicketComments_XX.csv
Fields List:
Column
Example
Requirement
Comments
CommentExtId
Comment_1
Required

TicketExtId
Ticket_1
Required

Content

Required

Commenter Email

Optional
  1. Default: The user whose token is being used for import will be the comment owner.
  2. The given value will be matched with the on-boarded agents and assigned accordingly.
  3. Only active agents can be assigned as owners.
Commented Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional
The current time will be added as created time, if null.
isPublic
True | False
Optional
Default: False

Products
File Pattern: Products_XX.csv
Fields List:
Column
Example
Requirement
Comments
ProductExtId
Product_1
Required

Product Name
Desk
Required

Product Code

Optional

Product Category

Optional

Manufacturer

Optional

Description

Optional

Created Time

Optional
Default: Current time

Tasks
File Pattern: Tasks_XX.csv
Fields List:
Column
Example
Requirement
Comments
TaskExtId
Task_1
Required

Subject
Sample Task
Required

ContactExtId
Contact_1
Optional

TicketExtId
Ticket_12
Optional
The task will not be associated with a ticket, if null.
Status
PickList
Optional
Default: Open
Due Date
YYYY-MM-DDTHH:MM:SS.000Z
Optional
Default: Null
Created Time
YYYY-MM-DDTHH:MM:SS.000Z
Optional
Default: Current time
Priority
PickList
Optional

Completed Time

Optional
Default: Current time
Description

Optional


Points To Remember
Here are some of the key points to keep in mind before sharing files for assisted migration:
  1. Date and time variables will be considered as GMT.
  2. The modules' source fields will first be mapped to the system fields. Custom fields, where required, will be created and mapped to their corresponding source fields.
  3. Mapping a field to a picklist value will add all the distinct values in the column to the picklist field.
  4. You must specify how we should map the fields to avoid additional changes after importing data.
  5. The data left unmapped to a field will be skipped during import.
  6. We provide support for making certain modifications to the records before they are imported. For example, you can specify the criteria to import specific data, assign ownership, and map departments. Such modifications should be communicated to us before importing your data.
  7. When an entity fails to be imported, all its sub-entities will be skipped. For example, if a contact import fails for any reason, all of its tickets, threads, and ticket comments will also fail.
  8. If you've not provided the external ID for a module, our migration tool will create an ID from the existing fields. For example, if the contacts module doesn't contain the ID, the hash code of email, name, or both will be considered the Contact External ID. Likewise, the hash code of ticketID and sendDateTime will be considered as the Thread External ID.
  9. Only active agents can be assigned to entities. If an agent is unavailable, their entities will be marked as unassigned or assigned to the user whose token has been used for the import.
  10. We can migrate data to multiple departments. You must provide the department field or criteria to populate data into those departments.
  11. Residual imports can be performed wherein we will update data based on external IDs. If the external IDs are not present, we will create a new ID (refer to point 8). 
  12. Request for residual imports should be received within two weeks from the initial import.
  13. Residual imports are not supported for specific fields. For example, we cannot update the ticket created time, external IDs, and thread data during residual imports.
  14. You can undo the data import once we have completed it. However, undoing the imported contacts will delete the child entities (e.g., tickets) created for those contacts.
  15. You will receive an import summary on completing an import. The summary will contain information such as the number of records imported and the reason for skipped or failed records. You must modify the data as per the summary for re-importing them again.
  16. Any bugs or discrepancies in the imported data should be reported at the earliest. We recommend that you update the imported data only after confirming the validity of the import.
  17. The backup file shared with us will be maintained for 30 days, after which it will be deleted from our end.
    • Related Articles

    • Migrate Data from Zendesk (Zwitch)

      Thank you for considering Zoho Desk. You can migrate data from your Zendesk account to Zoho Desk in just a few quick steps. Supported Modules The following are the modules that you can migrate to Zoho Desk. Tickets Comments Attachments Articles ...
    • Migrate Data from Freshdesk (Zwitch)

      Thank you for considering Zoho Desk. The Zwitch program is designed to help you - Freshdesk users - experience a seamless transition to Zoho Desk. You can migrate data from Freshdesk to Zoho Desk in just a few quick steps. Supported Modules The ...
    • Zwitch: Frequently Asked Questions and Answers

      What are the modules that can be migrated to Zoho Desk? Zoho Desk shares the same database as other competing help desks. This means data from the following modules can be migrated to your Zoho Desk. Organizations or Companies End users or Contacts ...
    • What file formats are supported for importing KB articles?

      You can import your existing articles to your new Help Center knowledge base to save yourself some time and effort so that you don't have to keep re-creating them again. However,  you are permitted to upload only the following file types to Zoho ...
    • Importing Data to Zoho Desk

      If you've been using a help desk software before Zoho Desk, you must start importing your existing data to Zoho Desk. You can import your support tickets, contacts, customer accounts, knowledge base articles, products, calls, events, and tasks to ...