Automation#33: Automate Splitting Names for Existing Contact Records

Automation#33: Automate Splitting Names for Existing Contact Records



An organized directory – who doesn't love one?
Previously, we explored how to split contact names into First Name and Last Name for new contacts in Zoho Desk. But what about existing contacts already in your database? This week, we bring you a custom function that automates this process, ensuring a well-structured and easily searchable contact list.

Handling Existing Contacts
  • On ticket creation for an existing contact, this custom function will scan the email and split the name stored in the "Last Name" field into "First Name" and "Last Name."
  • To avoid unnecessary modifications, we introduce a checkbox in the contact layout. This allows you to mark contacts that have already been split, preventing duplicate actions.
Let's walk through the steps needed to ensure a smooth and error-free execution. 

I. Create a Checkbox Field in the Contacts Layout

a. Go to Setup >> Customization >> Layouts and Fields >> Select the Contacts module >> Select the layout >> Drag the checkbox field >> Give a desired name for the checkbox (e.g., Name Split).
b. Click on the gear icon of the checkbox field, select Edit Properties, and note the API name. This API name must be pasted into the custom function on line 4.
c. Uncheck the Enable by Default checkbox if it is marked.

II. Configure Custom Function within the Workflow Rule

Prerequisites
1. Create a connection
  1.1 Go to Setup(S) and choose Connections under Developer Space.
  1.2 Click Create Connection.
  1.3 Select Zoho OAuth under Default Connection.
  1.4 Set the connection name as deskcontact.
  1.5 Under Scope, choose the below scope values:
Desk.contacts.UPDATE
Desk.contacts.READ
  1.6 Click Create and Connect.
  1.7 Click Connect and click Accept.
Connection is created successfully.

2. Create a Workflow Rule
 2.1. Go to Setup, choose Workflows under Automation. 
 2.2 Under Workflows, click Rules >> Create Rule.

In the Basic Information section,
2.3. Select Tickets from the drop-down menu under Module.
2.4. Enter a Rule Name and Description for the rule.
2.5. If you want to activate the rule right away, select the Active checkbox. Else, create the rule and activate it later.
2.6. Click Next.
 
In the Execute on section, follow these steps:
2.7. Select Create.   
2.8. Click Next.
 
2.9. In the Criteria section, add criteria if required. click Next. 
2.10. In the Actions section, click the + icon and select New next to Custom Functions.
2.11. Enter a Name and Description for the custom function. Choose Tickets under Module.
2.12 Under Argument Mapping, give a desired Method Name. Map the arguments as below:       
         2.12.1 In the Argument Name field, type contactId and select Contact ID under the Contacts Section.                                     
2.13. In the script window, insert the Custom Function given below:
  1. //------------- User Input ----------
  2. orgId = "60xxxxxxxx0"; //replace with your Org ID
  3. operator = "."; 
  4. checkBoxFieldAPIName = "enter_the_field_api_name"; //Enter API name of the checkbox
  5. //---------------------------------
  6. logs = Map();
  7. try {
  8. contacts = zoho.desk.getRecordById(orgId,"contacts",contactId, "deskcontact");
  9. firstName = contacts.get("firstName");
  10. lastName = contacts.get("lastName");
  11. if(lastName.contains(operator))
  12. {
  13.        if(operator.contains(".")){
  14.          lastName = lastName.subString(0,lastName.indexOf("@"));
  15.        }
  16.        firstName = lastName.subString(0,lastName.indexOf(operator)).trim();
  17.        lastName = lastName.subString(lastName.indexOf(operator) + 1);
  18.        updateContact = zoho.desk.update(orgId,"contacts",contactId,{"firstName":firstName,"lastName":lastName,"cf":{checkBoxFieldAPIName:true}},"deskcontact");
  19.    }
  20. }
  21. catch (errorInfo)
  22. {
  23. logs.insert("errorInfo":errorInfo);
  24. }
  25. info "logs: \n" + logs;

  26. if(logs.containKey("errorInfo"))
  27. {
  28. throws "Error happen in the CF execution";
  29. }
NOTE
a. In Line 2, Enter your OrgId with  "  ". To access OrgId, go to Setup (S) >> Developer Space >> APIs >> API Authentication.
b. In Line 4, enter the API name of the check box created within the Contacts layout.  
Information
This custom function will split the contact name as First Name and Last Name based on the "." operator between the names in the email. 
2.14. Click Save to save the custom function.
2.15. Click Save again to save the workflow.
By implementing this custom function and workflow rule, you can automate the process of splitting contact names within Zoho Desk, ensuring a clean and organized database, which will enhance searchability. 
We hope this guide helps streamline your contact management! If you have any questions or need further assistance, feel free to share in the comments. Happy Organizing!
Best regards, 
Lydia |Zoho Desk

    • Sticky Posts

    • Register for Zoho Desk Beta Community

      With the start of the year, we have decided to take a small step in making the life of our customers a little easier. We now have easy access to all our upcoming features and a faster way to request for beta access. We open betas for some of our features
    • Share your Zoho Desk story with us!

      Tell us how you use Zoho Desk for your business and inspire others with your story. Be it a simple workflow rule that helps you navigate complex processes or a macro that saves your team a lot of time; share it here and help the community learn and grow with shared knowledge. 
    • Tip #1: Learn to pick the right channels

      Mail, live chat, telephony, social media, web forms—there are so many support channels out there. Trying to pick the right channels to offer your customers can get pretty confusing. Emails are most useful when the customer wants to put things on record. However, escalated or complicated issues should not be resolved over email because it's slow and impersonal.  When you need immediate responses, live chat is more suitable. It's also quick and convenient, so it's the go-to channel for small issues. 
    • Welcome to Zoho Desk Community - Say hello here!

      Hello everyone! Though we have been here for a while, it’s time to formally establish the Zoho Desk Community; we’re really happy to have you all here! This can be the place where you take a moment to introduce yourself to the rest of the community. We’d love to hear all about you, what you do, what company or industry you work for, how you use Zoho Desk and anything else that you will like to share! Here’s a little about me. I am Chinmayee. I have been associated with Zoho since 2014. I joined here
    • Webinar 1: Blueprint for Customer Service

      With the launch of a host of new features in Zoho Desk, we thought it’ll be great to have a few webinars to help our customers make the most of them. We’re starting off with our most talked about feature, Blueprint in Zoho Desk. You can register for the Blueprint webinar here: The webinar will be delivered by our in-house product experts. This is a good opportunity to ask questions to our experts and understand how Blueprint can help you automate your service processes. We look forward to seeing
    • Recent Topics

    • IPv6 MX Support in 2025

      There are multiple discussion on this community on IPv6 adjacent issues though the most pressing issue for IPv6 support is not solved yet the support team seems to not understand what is the issue and is steering the conversation to the wrong and misleading
    • Zoho Books Quote - Client cannot accept quote

      We are using the Zoho One plan and some of our clients have reported that they cannot accept the quote when we select their email at the bottom to send the quote to. When trying to accept, the quote prompts a message saying "You are not allowed to accept
    • Reckon Accounts Hosted to Zoho Finance

      Hi Everyone I want to transition from Reckon Accounts Hosted to Zoho Finance, as I have numerous other tasks in Zoho One, and it seems logical to make the move. (Reckon has a QuickBooks back end & is hosted on Assure now, think) I would really like to
    • Flex Your Creativity – A New component to Canvas in Zoho CRM

      Hello Everyone We’re excited to introduce Flex, a new component for Canvas in Zoho CRM! Flex is here to give you greater control over how your data is displayed in your layouts. This component enables responsive layouts that adapt across different screen
    • Vendor Assignment issue for staff in User Roales

      there is a limitation in software that we can't assing Vendors to our staff - we can only assign Customers on staff wise!! There is a limitation of this software that in case i want to assign limited vendors to my staff - it's not possible. Either i will
    • Zoho Desk Community Portal Not Displaying Custom Styling Correctly

      Hi Zoho Community, I’m struggling to get a custom community portal in Zoho Desk to display my branding and styling correctly, and I’d love some help troubleshooting this for a client’s support portal. Details: Setup: Zoho Desk (Professional plan, latest
    • Remove or hide default views

      I'm looking to only have the views pertinent to my organization. Is there a way to show only my custom views (or separate them to a different area or something)? If not, this should be a feature as switching from Zendesk we had this option...
    • Wie kann ich einen Nutzer löschen?

      Wir haben Zoho one. Es handelt sich um einen ehemaligen Mitarbeiter.
    • Function #46: Auto generate list of lapsed customers using Custom Button

      Hello everyone, and welcome back to our series! Customer retention is one of the key factors that impact the long-term success and sustainability of a business. High customer retention rates indicate satisfied customers, quality products or services,
    • Before Going To The Qc stage , site ready ness file upload mandtoty how to achive this in the blue print transition

      Before Going To The Qc stage , site ready ness file upload mandtoty how to achive this in the blue print transition Is it possible on click of the predelivery Transition show the alert message if site ready ness file upload empty also not move the stage
    • Announcing new features in Trident for Windows (v.1.28.5.0)

      Hello Community, Trident for Windows is here with exciting new features to help you stay productive and make collaboration simpler. Let’s dive into what’s new! Slash commands are now supported in the Cliq module. You can now use slash commands from the
    • Convert time to string and remove second

      Hello everyone, I have a question that I can't figure out on my own. How to convert time into string (singleline) and remove second. Like HH:mm. If I convert it as below, the result becomes null. Thank you very much. input.Time.tostring("HH:mm") result:
    • Has anyone imported items and included the storage bin?

      We have a large amount of Inventory Items. We would like to import these into Zoho Inventory but while we can import the majority of data, the storage bin refuses to map. Has anyone successfully imported the data and mapped the bin?
    • Terms & Conditions add a rule.

      Hi I'd like to format my T&C's to auto format a Deposit amount based on the Total. "Quotation is valid for 7 days from the date of issue. A 75% deposit ( R .00 )is required to confirm the booking. The remaining balance ( R .00)is due upon project completion.
    • Zoho Inventory Feature Roadmap Visible To All

      Hello, please consider making your feature roadmap visible to us users so that we know what to expect in future. This may appease current users who are seeking clarification on feature implementation dates, so that they can make an informed decision whether
    • send file to ftp or another external service

      i'v created a zoho creator application for take a picture and rename it by phone. Now i need to send Each renamed pictures to my ftp or to specific folder on google drive...then, delete it from creator. (every picture recived it will processed by another program and stored on my Erp) HOW CAN I DO ??
    • Feature Request - Improved booking layouts, specifically for individual booking links

      I would like to see more layout options and specifically to have the meeting description beside the calendar booking function, when sharing booking links to specific consultations/meetings. Below is a screenshot from Calendly. I love this layout and it
    • Set Conditional and Dependent Rules for Issues in Zoho Projects

      An Issue Layout is a customizable form to add and update information about a specific issue. The fields in the issue layout can be changed dynamically based on user requirement using the issue layout rules. Consider a scenario where an electrical fluctuation
    • Accounting on the Go Series-56: e-Way Bill Module in the Mobile App – A Handy Solution for Indian Businesses

      Hello everyone, Managing e-Way bills just got more convenient with the Zoho Books mobile app! For businesses operating under the GST regime, e-Way bills are essential for tracking the movement of goods. Previously, you had to log in to the web app to
    • Copying records from a Custom Module into Deals

      Hello, I recently created a custom module to handle a particular type of order/transaction in our business. Having got this up and running I've realised that it would be much better to use the Deals module with a different layout instead. We've entered
    • Creator App on Mobile - Workflow "On Create / Edit - On Load" not triggered ?

      Hi Everyone, I built an application to track assets, which is used both at the office (desktop) an in the field by technicians (mobile app). In the field, technicians open an existing form and add rows to a subform at some point. One field they have to
    • HOW TO VIEW INDIVIDUAL COST OF NEWLY PURCHASED GOODS AFTER ALLOCATING LANDED COSTS

      Hello, I have been able to allocate landed costs to the purchase cost of the new products. however, what i need to see now is the actual cost price (original cost plus landed cost), of only my newly purchased products to enable me set a selling price
    • Custom Function to get custom field of lookup type in Books

      Hi, Here's the situation. In Purchase Order, there is a custom field (lookup) to SO. The requirement is to update to the related SO if PO get updated Right now facing challenge to get the id of custom field (lookup) in PO. Please find below the sample
    • Custom From Address is now Organizational Email

      We're introducing a small yet meaningful change in Zoho Recruit, one that sets the foundation for bigger improvements coming your way. What’s changed? We’ve renamed the Custom From Address to Organizational Email. The new name was chosen to better reflect
    • What's New in Zoho Billing Q2 2025

      Hello everyone, We are excited to share the latest set of updates and enhancements made to Zoho Billing in Q2 2025, ranging from image custom fields to support for new languages. Keep reading to learn more. Upload Images From Your Desktop to Email Notifications
    • Map dependency on Multiselect picklist

      I need help in Zoho CRM. I have 2 multi-select picklists. For example, Picklist A has country names. Picklist B has state names. Now I want to show states on the basis of the selected country from Picklist A. Both are multi-select fields, so the standard
    • Tip of the Week #63 – Keep personal emails out of team view.

      Shared inboxes are great for teamwork—they let everyone stay on the same page, respond faster, and avoid duplicate replies. But not every message needs to be shared with the entire team. Think about those one-on-one chats with a manager, a quick internal
    • Episode III : Powering Automation: Custom Functions in Action

      Hello Everyone, In our previous episodes, we explored custom functions and the Deluge programming language. If you’ve been wondering why the Episode series have been quiet, here’s the reveal! On our community, we've been showcasing custom functions integrated
    • Narrative 2 - Understanding Organizational Departments

      Behind the scenes of a successful ticketing system - BTS Series Narrative 2 - Understanding Organizational Departments A ticketing system's departments are essential because they provide an organized and practical framework for handling and addressing
    • Zoho Projects Plus for the healthcare industry

      The global healthcare industry is complex and diverse; from patient record maintenance, healthcare supply chain, to manufacturing complex medical equipment, the industry functions on many layers. Managing all these layers requires tested out techniques
    • Missing Outlook calendar option in Calendar

      Hi all I don't have an Outlook Calendar option in the Settings > Synchronise settings of Calendar. Any ideas why not?
    • Zoho Meeting Android app update: Breakout rooms, noise cancellation

      Hello everyone! In the latest version(v2.6.1) of the Zoho Meeting app update, we have brought in support for the following features: 1. Join Breakout rooms. 2. Noise cancellation Join Breakout rooms. Breakout Rooms are virtual rooms created within a meeting
    • Whats App Automation

      It would be nice to be able to send out an automated whats app message template on moving stages or creation of a ticket (same as you can do for automated emails). Currently only automated emails can be sent. Also, if whats app could be used more effectively
    • Zoho Projects Android app update: Enhanced Documents module within the projects.

      Hello everyone! In the latest Android version(v3.9.35) of the Zoho Projects app update, we have enhanced the documents module within the projects. Now, you can view all the attachments that you have added across the project in tasks, bugs, comments, etc,
    • Lead Source Disappears

      When adding a new lead and saving the page, the page refreshes itself and the lead source field becomes blank. We set the "Lead source" as a required field to see if it would help, but the problem persists and we always have to re-enter the lead sou
    • Inquiry Regarding Monitoring ZOHO CRM API Credit Usage

      Hello ZOHO Community, I hope this message finds you well. I have a question regarding monitoring the usage and remaining credits of the ZOHO CRM API. I recently discovered that within ZOHO CRM, by navigating to Settings ⇒ Developer Hub ⇒ APIs & SDKs,
    • Payment Gateways - A unified hub to manage all your payment integrations in Zoho Creator

      Hello everyone, We're thrilled to announce that we've completely reimagined the way payment gateways are handled in Creator. The result is a centralized Payment Gateways section that provides a clean, user-friendly interface to configure and manage all
    • Community Digest Julio 2025 - Todas las novedades en Español Zoho Community

      ¡Hola, Español Zoho Community! Ha pasado un tiempo desde el último Digest pero, ¡ya estamos de vuelta con las novedades más relevantes en las aplicaciones de Zoho y su universo! Si no te quieres perder ninguna de las novedades que vamos publicando, te
    • Tip #35- How to use Notifications in Zoho Assist to stay on top of session activities- 'Insider Insights'

      Hello Zoho Assist Community! This week, we’re exploring Zoho Assist’s built-in notification system for improved visibility and accountability. Keeping track of session activity is crucial, especially when you're managing multiple remote devices and technicians.
    • Assistance with Exporting Specific Data from Zoho CRM

      Hi, Could you please guide me on how to export specific information, such as the model number and serial number, from the Accounts module in Zoho CRM? Thank you in advance for your assistance.
    • Next Page