Handling identifiers during an import

Handling identifiers during an import

Importing your data

When importing data into an application, it is crucial to prevent data loss or duplication. These types of errors can hinder the development of a clean and well-organised database, which is essential for effective data management and security.


 
Zoho Desk provides robust functionality for importing your data. The system intelligently automates the mapping of modules and fields to reduce the risk of data loss and maintain data integrity. Users have the advantage of verifying the field mappings in advance, thus adding an extra layer of security to the import process.
 
This capability is essential not only for clarity but also in mitigating the challenges associated with user adoption. For instance, clients can be accurately mapped to the Contact name field, while company names can seamlessly align with the Account name field. This approach to data management helps maintain an organised database, thereby enhancing productivity and user trust in the system. 

Related knowledge base article: Importing data into Zoho Desk.
Info
Prerequisites
  • Users can upload a .csv file or a .zip file containing multiple .csv files. 
  • The .zip file must be named, for example, Contacts.zip, Accounts.zip, etc.

Working with the Identifier Field

When importing data into Zoho Desk, the Identifier Field is essential because it helps identify existing records and avoid duplicate entries. 



What are the Identifier Fields?  

Identifier fields are fields used to find and match existing records when importing data into the product. They also help link related records, like connecting a contact’s name with their email address.

Each module supports different unique identifier fields for identification, as described in the table below:


Module

Unique Identifier Fields

Accounts

Account ID 

Account External ID

Account Name

Contacts

Contact ID

Contact External ID 

Last Name

First Name

Email

Phone Number

Mobile

Tickets

Ticket ID

Ticket External ID

Ticket Number

Products

Product ID

Product External ID

Product Name

Tasks

TaskId

Task External ID

Calls

Call ID

Call External ID

Events

Event ID

Event External ID

Article Translation

Translation: External ID

Translation ID

Custom Modules

Record External ID

Custom Module Name


Idea

Points to remember:

  • While these fields help find matching records.
  • So, if multiple records match the value, the first matching record will be selected automatically.
  • This can lead to unexpected matches or data being updated in the wrong record if you're not careful.

For your understanding:

Some users expressed a preference for matching Contacts by Last Name instead of Email, highlighting the importance of flexibility in their workflow. Furthermore, some additional users approached matching through the use of a custom field, emphasising the need for tailored solutions to fit their unique requirements. Moreover, users requested that the functionality be enhanced by updating existing records with the relevant entity's Zoho Desk ID, aiming to streamline their processes and improve data accuracy.

Commonly used identifier fields:

  • Find By is used to identify an existing record during the import process.
  • Map By is utilized to link a child record to a parent record, for instance, by linking a Contact to a Ticket.

 

You can now select specific fields for matching, providing enhanced control and customization during bulk processes or integrations. This functionality enables more precise data handling, ensuring that the information aligns with your specific requirements. By tailoring the matching criteria, you can streamline processes, ultimately leading to enhanced efficiency and better outcomes for your team. This flexibility enables you to harness the full potential of your data.

Import Systems

Let's start by preparing the CSV file.

A sample tickets module CSV file is given below,


External ID

Subject

Contact Email

Contact Name

About

101

Hitman

rohit@bcci.com

Sharma

Rohit Sharma's journey from a gifted schoolboy to an international icon and fierce competitor reflects resilience, elegance, and remarkable leadership.

102

King Kohli

virat@bcci.com

Virat

Virat Kohli is a world-renowned Indian cricketer known for his aggressive batting, unmatched consistency, and passionate leadership across all forms of the game.

103

Lambu Ishanth

ishanth@bcci.com

Sharma

Ishant Sharma is a tall and experienced Indian fast bowler known for his 300 test wickets and key performances in overseas conditions.


Then choose the appropriate Find By identifier field.

The Find By field is selected from a predefined set of fields specific to each module. It is used to determine whether a record already exists in Zoho Desk.


When using the import tool, the system searches the Desk portal for a record (e.g., a ticket) that matches the value mapped to the selected Find By field. This prevents duplicate records by identifying existing entries based on the chosen field.  


  • Once the file is uploaded, you need to choose a Find By Field — for instance, Ticket External ID.
  • Whichever Find By field we choose must correspond to the relevant column in the CSV file. Since we've selected the Ticket External ID, the Case External ID column in your file should be mapped to the Ticket External IDfield.
QuoteIf the chosen operation is to 'create new records while avoiding duplicates', and there is no existing ticket with the External ID 101, the import tool will generate a new ticket using the mapped fields. To associate the ticket to the correct Contact, the import tool utilizes the Map By field feature.

Finally, choose the appropriate Map By field.

The Map By field enables users to link imported records to their corresponding dependent records, such as associating a ticket with a specific contact. This functionality ensures that when you import ticket data, the import tool actively searches for a matching Contact in Zoho Desk based on the value defined in the selected Map By field.


For instance, during the field mapping process, you can specifically choose to map the Ticket to a Contact using criteria such as the Contact's email ID. This approach enhances the accuracy of data integration by ensuring that each ticket is correctly associated with the relevant Contact, thereby improving data integrity and streamlining the support process. This meticulous mapping not only minimizes the chances of errors but also facilitates a more organized and efficient ticket management system, ultimately leading to improved customer experiences and satisfaction.


Idea

Map by identifier field functionality

The tool efficiently searches for contacts associated with the provided email address.    


Search: When a user submits a ticket, the system initiates a search for contacts associated with the specified email address.   


Match found: If a single match is identified, the ticket is seamlessly associated with that Contact, ensuring that all relevant customer information is readily accessible for support agents.   


Multiple Matches: If numerous contacts are found with the same email address, the system will prioritize and use the first match. This helps streamline the ticketing process while maintaining clarity in customer support.   


No Match Found: If no matches are found within the system, the ticket will not be created. This prevents unnecessary duplication and ensures that support agents are only working with valid, existing customer records. 

In summary, the strategic use of Custom Unique Fields and External ID fields as identifiers, along with the potential for composite identifiers, positions support teams to operate more effectively and improve overall customer interactions.

Significant improvements in user experience 

Transparent process and status tracking 

We’ve implemented a straightforward, step-by-step process for data imports, complete with real-time status updates for each stage. This transparency enables users to monitor import progress and understand the current state of the process.

Unique identifiers for entity mapping 

New fields have been introduced to help users identify if a parent entity already exists when importing related child entities. For example, users can seamlessly map a contact to an existing account in Zoho Desk, streamlining the import process while minimizing the risk of duplicate entries.

Enhanced error handling and log accessibility

We’ve made significant improvements in error handling by allowing users to download detailed error logs directly from the history page in the event of import failures. This enhancement provides users with greater insight into any issues, facilitating faster troubleshooting and resolution.

Support for custom modules

The import UI has been revamped to support custom modules, providing users with greater flexibility and customization options. This enables a more personalized and efficient data import experience.

Takeaway

For instance, a large corporation merging client data from multiple legacy systems into Zoho Desk modules will benefit significantly from automatic field mapping, ensuring that contact and account names are accurately aligned. This attention to detail not only improves the user experience but also enhances overall data integrity during the merging process.
 
Please stay tuned for more Desk updates.
 
Cheers,
 
Kavya Rao
The Zoho Desk Team
    • Sticky Posts

    • Zoho Desk Partners with Microsoft's M365 Copilot for seamless customer service experiences

      Hello Zoho Desk users, We are happy to announce that Zoho Desk has partnered with Microsoft's M365 to empower customer service teams with enhanced capabilities and seamless experiences for agents. Microsoft announced their partnership during their keynote
    • WhatsApp pricing changes: Pay per message starting July 1, 2025

      Starting July 1, 2025, WhatsApp is shifting from conversation-based pricing to per-message billing. That means every business-initiated message you send will count. Not just the first one in a 24-hour window. Pricing updates on the WhatsApp Business Platform
    • Live Webinar - Work smarter with Zoho Desk and Zoho Workplace integration

      Hello customers! Zoho Desk and Zoho Workplace are coming together for a webinar on 14th May, 2024. Zoho Workplace is a suite of productivity apps for email, chat, docs, calls, and more at one single place. Zoho Desk is closely integrated with a few tools
    • Apple iOS 17 and iPadOS 17 updates for Zoho Desk users

      Hello Zoho Desk users! Apple recently announced the release of iOS 17 and iPad OS 17. These latest OS updates will help you stay productive and efficient, through interactive and seamless user experiences. Zoho Desk has incorporated the updates to help
    • Zoho Desk Cheat Sheet For The Year-End

      Check out these Zoho Desk best practices to end this year on a high and have a great one ahead! #1 Set Business (Holiday) Hours - If you have limited working hours, please make sure you restrict your business hours or set them as holidays for the coming days. Let your customers know when you will, and won't, be available. #2 Update the Annual Holiday List - Check the holidays for the new year and update the holiday schedule. Usually, holidays from the current year will be carried over for the next
    • Recent Topics

    • Text/SMS With Zoho Desk

      Hi Guys- Considering using SMS to get faster responses from customers that we are helping.  Have a bunch of questions; 1) Which provider is better ClickaTell or Screen Magic.  Screen Magic seems easier to setup, but appears to be 2x as expensive for United States.  I cannot find the sender id for Clickatell to even complete the configuration. 2) Can customer's reply to text messages?  If so are responses linked back to the zoho ticket?  If not, how are you handling this, a simple "DO NOT REPLY" as
    • Add "Fetch Composite Item" Action for Inventory

      I want to make a Flow that uses information returned in the GET call for Composite Items, and it's not currently available in Zoho Flow. Please consider adding this functionality.
    • Calling Function via REST API with API Key gives 401 using Zoho Developer

      Hi, I created a couple of functions using the one month trial of Enterprise edition, which I was able to call using the API Key method from Postman and from an external site. Now that my trial has expired, I have created the same functions in the Developer
    • Error due to - 'Internal Exception' when uploading Sign-generated PDF file to workdrive via Deluge in Zoho CRM

      Hi I wasnt getting this error a few days ago and my code had not changed, so I'm wondering if there's a Zoho bug somewhere? I am downloading a PDF file from a Zoho Sign url using invokeurl and then uploading it to a Workdrive folder using zoho.workdrive.uploadFile.
    • Embed CRM record images in email templates

      I have email templates that I want to embed dynamic images in their body - not as an attachment. For the context, the image is a QR code individual to each contact. So there are couple of challenges for which I think there is no solution in CRM: 1/ I
    • Assign multiple departments to multiple helpcenters

      Hi there! I have a reseller company for a software and I'm using Zoho Desk as my helpcenter and ticket management system. The software is great and I would like to make a suggestion! With multi-branding activated, your departments that visible in help
    • Zoho Desk Training

      Hello, We've had Zoho desk for a while now, but we run into issues occasionally, and I was wondering if there was a customer who currently uses it and really enjoys the functionality, that would be wiling to chat with us?
    • Advanced Customization of the Help Center using JavaScript

      Hello everyone, The Help Center in Zoho Desk can be customized by using HTML and CSS to provide structure and enhance the page's appearance—but what if you want to add interactive and dynamic elements? You can add these effects with JavaScript, a programming
    • Exciting Updates to the Kiosk Studio Feature in Zoho CRM!

      Hello Everyone, We are here again with a series of new enhancements to Kiosk Studio, designed to elevate your experience and bring even greater efficiency to your business processes. These updates build upon our ongoing commitment to making Kiosk a powerful
    • Edit default "We are here to help you" text in chat SalesIQ widget

      Does anyone know how this text can be edited? I can't find it anywhere in settings. Thanks!
    • PO Based Advance payment to Vendor

      We recommend to introduce a provision at PO to make advance payment to vendors and auto apply that advance paid later at the time of Vendor Bill submission for that PO. This will help us track PO-wise Total Payments.
    • Converting Customer Invoice to Purchase Bill

      Hi, In my service-based business, I sometimes create the customer invoice first, and later I receive the purchase bill from the vendor for the same job. Is there any option in Zoho Books to: Convert a customer invoice into a purchase bill, or Link/associate
    • Getting Project Template List using the REST API

      I am trying to confirm that I can use the REST API to create a project using a project template. The API documentation indicates this is possible by providing the Template ID, but it is not clear at all how to get a list of available Project Templates
    • How to get Quickbooks Desktop Info into Zoho?

      Our team has used Quickbooks desktop for years and is looking at switching to Zoho books in 2026. I want to bring all old sales history over since we use Zoho CRM. I can export Item sales history and generic sales orders from Quickbooks desktop. How do
    • ZeptoMail API Request

      We tried to send mail using ZeptoMail using Django. Following is my payload {'from': {'address': 'abc@abc.com'}, 'to': [{'email_address': {'address': 'xyz@xyz.in', 'name': 'Bhavik'}}], 'subject': 'Report Name', 'htmlbody': '<p>Test</p>'} Following is
    • Zoho Inventory - Allow Update of Marketplace Generated Sales Orders via API

      Hi Inventory Team, I was recently asked by a client to create an automation which updated a Zoho Inventory Sales Order if a Shopify Order was updated. I have created the script but I found that the request is blocked as the Sales Order was generated by
    • Dropdown data depends on filters in another field.

      In my quote form I have a lookup field called Reseller that pulls from Accounts. I would like it to pull from Accounts, but only those accounts with an account field 'Type' where that is 'Reseller'. Does anyone know a way to do this? Similarly, I'd like
    • Automated log-out/session end

      I'm concerned about security of our data. Is it possible to set an automatic time-out for user sessions on Zoho CRM, after a certain period of inactivity or when the session reaches a certain duration (12 hours perhaps)? 
    • Admin asked me for Backend Details when I wanted to verify my ZeptoMail Account

      Please provide the backend details where you will be adding the SMTP/API information of ZeptoMail Who knows what this means?
    • Mass import of documents into Zoho Writer

      I'm using Google's word processor at the moment but feel that Zoho does a better job (on the online apps market). Iwant to move my documents (about 50-70) to Zoho but it seems to me that I have to import them seperately. Is it already possible to upload several documents at a time or is this a forthcoming feature? Cheers Rolli :?:
    • When will it be possible to edit Subform records via either views or tabular reports?

      Hey there, data maintenance often requires mass update of quite a lot of records. While this is a piece of cake via either List view or Zoho sheet view, the same cannot be carried out for subform records yet. When one of the two options will be made available?
    • Subform auto populate values

      Hi Team, I’m trying to retrieve values from Zoho People using API functions and dynamically populate them into a subform. For example, I’ve created a form with several fields that users will fill out. Based on their input, I need to fetch records from
    • How we cut CRM updates from ~20 minutes down to 2, our real workflow

      Updating the Zoho CRM after every call used to be one of the biggest time sucks for our team. By the time you write your notes, clean them up, fill in the fields, and log everything properly… you’ve easily lost 15–20 minutes per call. We started experimenting
    • Add home page or dashboard in CRM customer portal

      is it possible to add home page or dashboard in CRM customer portal?
    • User Tips: How to change the the label display name of a system defined field

      Most users know how to change field label names via Settings > Modules & Fields but if you want to change the name of a system defined field you can’t as there is no “edit properties” option.  However with a simple hack you can edit any system defined
    • Search not working!

      I have items in my notebook tagged but when I search for a tag nothing comes up! Any fix for this?
    • Zoho Analytics Regex Support

      When can we expect full regex support in Zoho Analytics SQL such as REGEXP_REPLACE? Sometimes I need to clean the data and using regex functions is the easiest way to achieve this.
    • Zoho CRM Community Digest - October 2025 | Part 1

      Hello Everyone! Here's a quick recap of first two weeks of October! Product Updates: Zoho CRM Android App Update: Surveys, Blueprints, and Smarter Mobile Features! Zoho CRM’s Android app just got a useful upgrade. You can now share records, upload your
    • Add Custom Field Inside Parts Section

      How to Add Custom Field Inside Parts Section in Workorder like Category and Sub- Category
    • Automate onboarding emails with CRM Workflow and Accounts module

      We’re a B2B SaaS company selling to public-sector organisations. Each organisation is stored as an Account in Zoho CRM, and each organisation typically has multiple associated Contacts. Our backend syncs product-usage data (setup status, user activity,
    • Using a CRM Client Script Button to create a Books Invoice

      Hello, I need help handling error messages returned to my client script from a function. The scenario I have setup a client script button which is available from each Deal. This CS executes a crm function, which in turn creates an invoice based on the
    • Important update: Enhanced security measures for account operations in Zoho Cliq

      Greetings from the Zoho Cliq team! We’d like to share an important security update that has an influence on some admin actions such as password reset, MFA reset, and MFA backup code generation. What’s changing? With our latest security enhancements, these
    • Boosting efficiency through faster ticket rendering

      This enhancement will provide faster access for support teams and end-users, significantly boosting productivity for everyone. Get ready for a more efficient and satisfying experience! Immediate benefits Faster ticket rendering reduces wait times and
    • Read webpage - MSXML2.ServerXMLHTTP

      I have the following VBA script, put together from various sources (mainly zoho forum/help/support, so it once worked, I guess): private Sub GetListOfSheets() Dim url As String Dim xmlhttp As Object Dim parameters As String Dim html As String range("B1").value
    • Sales Receipts Duplicating when I run reports why and how do we rectify this and any other report if this happens

      find attached extract of my report
    • Can I execute two 'functions' when completing a mail merge from CRM?

      Hi, I have set up a mail merge from CRM Deals to a template. I want a copy of this to be saved in Workdrive, and then a copy also saved back into the deal record from which the merge occurred. I can do both independent of each other, and managed to get
    • No Functional Autosave or Manual Save Button

      Application : Zoho Notebook So I wanted to try Zoho Notebook(On Ubuntu) as an application, I installed the application and went solving my LeetCode problems visually(Drawing mode), at one point the app just stopped saving anything... Every time I tried
    • Enterprise subscription support

      My organization sells subscription services to enterprise customers, which is a different model from the consumer subscription model that Zoho Billing has been designed to support and I beleve this capability should be added. An enterprise subscription
    • Issue with Creator's IF logic

      Hi, I found the following code produces unexpected results: if(-1.0 < 0.0000000) {       info "True"; } else {       info "False"; } if(-1.0 < 0.000000) {       info "True"; } else {       info "False"; } The output returned is: False True However, the
    • Need option to send Package PDF in shipment email (Shipment PDF is missing Lot info)

      Is there any way to automatically attach the Package PDF instead of (or alongside) the Shipment PDF in the notification emails? We really need this feature because the default Shipment PDF creates a blind spot for our customers. It does not display Batch/Lot
    • Next Page