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

    • Zoho Books Reports: Basic report with total items sold and Cost of goods sold

      How can books show a report with Item Name || Qty Sold || Total Revenue || Total Cost of Goods Sold || Margin I need to factor in also invoices that have been credited where customers returned good. This seems like such a basic report, I'm sure I'm missing
    • The amount entered is more than the balance due for the selected bills."

      Hi Team i am trying to record payments for vendors using API and getting this error in response as { "code": 28011, "message": "The amount entered is more than the balance due for the selected bills." } JSON is prepared according to Documentation and
    • VBA handling named ranges

      In VBA I'm able to work with a single cell named range. E.g. Set Jr = Range ("Year").Value. Also other options are working fine, like Range("Year").Address shows $L$3. However a named range refering to multiple cells is not working for me. Eg. tbl_Test
    • Kaizen #176 - Optimizing the Use of Record ID Variables in Zoho CRM Queries

      Hello everyone! Welcome to another week of Kaizen! Since the release of Queries, we have covered Handling Query Variables in Zoho CRM, Serialization and Schema Management, and Leveraging the 'crmAPIResponse' object in Queries in previous posts. Today,
    • Unbilled Items Report?

      Hello! Is there any way to display a list of items that remain unbilled, without creating an invoice for each customer to see if the unbilled items box is displayed? ;-) Ben
    • Consolidation of Multi currency

      Would like to discuss on the possibility of consolidating the ZOHO companies
    • Landed Cost Allocation / Custom Duty manual data entry

      My client is an import business. They must manually enter the duty for each item with landed cost allocation in Bill. This is because customs duties cannot be allocated based on Quantity, Value, Weight, and Dimensions. Manual data entry is highly time-consuming
    • Territories Just Don't Work

      I have been on chat and screenshare support for the past 3 days and am getting no resolution so hopefully, someone here can help me. I am the Super Admin of my organization. We publish books globally. I want to break down the books into territories so
    • Negative Opening Balance

      How can I add Negative Opening balance - meaning a credit balance to a Customer or a debit balance to a vendor? If I go thru Sales-->Customers, and if the opening balance is Rs. 1000 (credit balance), it does not allow me to enter a "minus" sign or mention
    • Single-Line Invoicing from Sales Order Despite Multiple SKUs Shipped

      We deal mostly with Government Tenders And Lets say we got a tender that needs 125 XYZ Laptops Then we found 95 Laptops with a different SKUs and 30 Laptops with different SKUs We talk with the IT department of the government company and they approve
    • 📣📣 Zoho Bookings Schedulathon 2025 is here!

      Hey Zoho Bookings fam, We're excited to invite you to our first-ever hackathon: Yes, Zoho Bookings Schedulathon 2025 is live now. This is a virtual event and you can participate anywhere from the world. Businesses should be able to set up meetings from
    • I want to send out a new newsletter each month

      Without rebuilding a whole journey is there a way to create a new newsletter that is sent to an existing journey monthly?
    • Reinstalling Workdrive Truesync client

      Hi, I attempted to update to the beta version of TrueSync, but it was unstable and kept crashing, so I need to revert to the stable version. How do I properly reinstall TrueSync on a Windows PC? I couldn't install the 3.15.x version directly over the
    • Evaluating Creator; yesterday fine; today connection times out

      Yesterday I spent hours creating a new app, and it worked fine. Today I cannot access creator.zoho.com. Is this common? I'm in the evaluation mode, but I'm thinking I'm going to keep looking. It worked from my home computer, and now I'm checking it from my work computer. My work computer always works just fine, so I shouldn't htink there would be special settings or anything. If there are, how to find out what they could be? Using Chrome on Windows XP The error I get is: The webpage at https://creator.zoho.com
    • Pivot Chart seems to show "old" data - how do I make it update?

      I wonder how to make a Pivot Chart "update" its data contents. Here is the background: I need to report a subset of data that is so complicated that it is easier to make a calculation and put the result in a "reporting form", and then display the data from that form.  So, I get data from the "original form" GRANTS, make some calculations and put the result in the "reporting form" PERIOD.  Now I can watch the result in a list called LIST, which works fine. The list LIST shows that form PERIOD contains
    • Upcoming Changes to LinkedIn Parsing in Resume Extractor

      Starting 31 July 2025, the Zoho Recruit Resume Extractor will no longer support direct parsing of candidate data from LinkedIn profiles. Why Is This Change Needed? In accordance with LinkedIn’s platform policies, extracting profile data through browser
    • how to create view in leads module to that will show all leads + converted leads?

      is it possible to make custom view that combine all leads + converted leads? how to do that
    • Deal Stage component/widget/whatever it is... event

      Deal Stages I am trying to access the event and value of this component. I can do it by changing the Stage field but users can also change a Deal Stage via this component and I need to be able to capture both values. Clicking on 'Verbal' for instance,
    • Reply and react to comments

      Hi everyone! We're excited to bring to you a couple of new features that'll make your sprint process simpler. A cloud application brings with it an array of social media features that can be efficiently used in your organizational setup. As an agile scrum
    • Announcing Early Access to "Zoho CRM for Everyone" — A new and exciting update to Zoho CRM

      Zoho CRM For Everyone is now officially available to all customers, and the Early Access Program has come to a close. We want to extend our sincere thanks to everyone who participated in the program. Your valuable feedback played a key role in shaping
    • Avalara Sales Tax integration - AVATAX

      Just wondering if anyone else is having troubles with this integration?  Seems as though Avalara changed their billing process, unbeknownst to Zoho, and now ALL transactions are counted by Avalara, not just transactions in a taxable jurisdiction.  This caused a huge price adjustment billed to us by Avalara within a month of us signing up.  And Avalara is not cheap to begin with! Avalara has been great in waiving that increase, but there seems to be no fix.  Zoho is aware of the problem, but slow
    • Invalid value passed for description

      Dear Sir, When I am entering the purchase bill , the following message showing "Invalid value passed for description" what should I do ? I am attaching screenshot. With Regards, Harish harish@cracku.in 7978841636
    • Zoho Creator - 2024 Release Projection 1

      Hello everyone! As we enter 2024, we'd like to extend our warmest wishes for success and prosperity. Your fantastic response to our Product Roadmap page last year has been incredibly motivating. Continuing on this path, we're excited to share a glimpse
    • Automation Assistance for Zoho Form Integration and Workflow

      Hi, We are currently using a Zoho Form to send out our Global Credit Application and would like to automate the process further. Specifically, we’d like the ABN number submitted through the form to automatically populate the GST/VAT Number field in Zoho
    • COQL does not return queryable value if the result set is empty

      See linked video for running code illustration of the problem: https://workdrive.zohoexternal.com/external/d49bb40033b43b288d56fdf843095b7c65b28391d3ec5d09c854f416d853003d Moderation update: We are appending the comment that was removed, to add context
    • Zoho CRMでの商談の管理のしかたについて初歩的な質問です。

      先月からZoho CRMを試験的に導入して運用しています。 商談の管理(運用?)の仕方について教えてください。 商談の数が増えてくると、ダッシュボードの「ステージ別進捗状況」にどんどん過去の商談が蓄積されてくると思うのですが、 現在動きのあるものを中心に確認したくなる気がします。 そのあたりについては、どのように運用が一般的なのでしょうか? アドバイスいただけるととてもありがたいです。 よろしくお願いします。
    • Composite Items & Purchase Orders

      The Composite Item is great way to bundle different products and services into a single line and sell it as a single line item in Estimates, Sales Orders and Invoices. However, on the other side - i,e,. Purchasing - this item creates quite a bit of a
    • using custom function is it possible to update the created by field in Zoho Crm custom module

      using custom function is it possible to update the created by field in Zoho Crm custom module
    • Slow Sloww Slowwww Responses

      Good day, Has anyone been experiencing slow responses from support? Since Thursday I migrated my Whats app to Sales Iq and I had to synch with Social to get the otp they were sending. Apparently What's app can't be automatically added so I reached out
    • You have exceeded the maximum number of attempts for this action. Please retry doing the same in 30 minutes.

      When one of Zoho Books user tries to select a vendor, recording a new bill, these message appears: You have exceeded the maximum number of attempts for this action. Please retry doing the same in 30 minutes. Other user, at the same time, but different
    • Enable Conversation Context Retention for SalesIQ Answer Bots

      Hello Zoho SalesIQ Team, We hope you are doing well. We have noticed that SalesIQ bots currently fail to maintain conversation context in Hebrew. For example, when we follow up on a previous answer or ask for clarification in Hebrew, the bot either provides
    • Automatic Hebrew Small Talk Setup Without Duplicate Term Errors & Manual Configuration

      Dear Zoho SalesIQ Team, Greetings, We would like to request an enhancement to the Small Talk feature in Zoho SalesIQ, specifically for Hebrew language support. Current Challenge: When setting up Small Talk for Hebrew, we encounter multiple issues: Simple
    • Should I Add Leads in Bigin?

      ok, first off I'm new here. I just started using Bigin. I'm debating if it's appropriate to enter leads. by leads I mean a list of contacts that I have not yet reached out to...it's a cold calling list.  if I enter them I can track them (I understand
    • Zoho Books - Perform a validation check before an invoice is marked as sent or sent

      Allow the validation rules to apply to button actions. For example: an invoice could not be sent or marked as sent if it has an empty value in a custom field. (The field could remain blank while it is being worked on.)
    • Flow error "given url is wrong"

      when I setup a flow to update a task status, I get an error when it runs that says "given url is wrong."
    • Upgrade Zoho Desk Agent-Side Answer Bot to GenAI

      Hello Zoho Desk Team, We hope you're doing well. Following the recent announcements and rollout of the GenAI-based Answer Bot in Zoho SalesIQ (Nova '25), we’d like to formally request a similar upgrade for the Answer Bot used by agents inside Zoho Desk.
    • Bigin Android app update: Email filters enhancement, change owner for related records.

      Hello, everyone! In the most recent Bigin Android app update, we have introduced additional email filters and an option to change the owner of related records. Email filters: We have now brought in support for 'All Emails' and 'Added from Widgets' filter
    • How can I get all conversations and comments of a Zoho Desk ticket using ZOHODESK

      Hi everyone, Currently, I am developing a Zoho Desk extension, and I am following the guide available at https://www.zoho.com/desk/extensions/guide/#ticket-object. While working with Zoho Desk, I have noticed that I can only retrieve the general information
    • AI & Zoho Recruit

      Hello, I guess we all are using AI in our personal and professional lives. Now, let's imagine. Recruitment is just a succession of stages and steps. For which step would you like to see AI implemented into Zoho Recruit ? I'll start : - Automatic translation
    • Workdrive and ChatGPT Team Synced Connectors

      Hi, we want to be able to integrate Zoho Workdrive with OpenAI’s ChatGPT Team plan. Google Drive and OneDrive both offer this, zoho please catch up asap. We dont want to have to put our company files in google drive, we want to allow chatgpt Team edition
    • Next Page