Episode I : Exploring the World of Custom Functions in Zoho Desk

Episode I : Exploring the World of Custom Functions in Zoho Desk


Hello Again!
Welcome to an Automation Adventure in the World of Zoho Desk
Join us on a journey to explore how custom functions can enhance and extend the capabilities of Zoho Desk.
Automation is everywhere. From robotic arms assembling products on factory floors to automating tasks in the software world, automation has revolutionized how we work out stuff. But what does this have to do with Zoho Desk? 
Anline, a curious resident in the Zoho Desk world, is exploring how automation can transform her workflow.

Anline’s Quest in the Zoho Desk World  

Anline is building her own world within Zoho Desk, but she’s hit a few roadblocks. She wants to perform specific operations; like updating ticket statuses, fetching data from external services, and automate repetitive tasks. She knows Zoho Desk has the tools she needs, but where does she start?
DeskAutomate Services is here as a guide to the Automation City. The citizens of Zoho Desk World operate based on their licenses. Each license unlocks different levels of automation capabilities.
Anline has the Enterprise edition, which grants her the access to the most powerful tools: Custom Functions. How can this empower Anline?

The Power of Custom Functions  

Custom Functions are like magic spells in the Zoho Desk world. They give users flexibility to tailor automation to their exact needs. While basic automation features are available to all license holders, Custom Functions are exclusive to Enterprise users. These functions let Anline go beyond the basics and create automations that meet her unique requirements. What makes them even more accessible is Deluge, Zoho’s in-house scripting language.
But there’s a catch: Anline isn’t a coding expert in Deluge. How can she harness the power of Custom Functions without getting lost in complex scripts? DeskAutomate guides Anline to the prebuilt functions and a user-friendly framework, simplifying the coding process.
Whether you’re new to coding or an experienced developer, Deluge simplifies the process of creating Custom Functions with its intuitive interface and drag-and-drop functionality.

The Deluge Script Editor: Your Coding Playground  

To access the Custom Function window, go to Setup (S) >> Developer Space >> Functions >> New Function.
When you open the Custom Function window in Zoho Desk, you’ll find a user-friendly interface designed to help you build scripts using drag-and-drop options. Here’s what you’ll discover: Each section has predefined variables which you can drag and use based on your requirements.
1. Basic Commands
The Basic section includes essential commands like setting variables, adding comments, and inserting informational text into your script. These foundational elements help you structure your Custom Function logically.
          Example: businessDaysCount = 5; //<variable> = <expression>;
2. Conditional Logic
The Condition section allows you to add conditional operators such as if, else if, and else. These operators let you program decision-making logic into your Custom Function.
Example:
  1. if (TicketStatus == "Open")
  2. {
  3.     info "This ticket is still open.";
  4. }
3. Notifications
The notifications section lets you enter values to send emails or post messages via Cliq.
Example:
  1. sendmail
  2. [
  3. from : zoho.userid
  4. to   : support@zylker.com
  5. subject : "Ticket is created"
  6. message : "Thank you for your enquiry. A ticket has been created and our experts will respond to you."
  7. ]; 
4. Integrations
Zoho Desk makes coding easy for integrations. With drag-and-drop options, you can create webhook integrations and API calls without writing complex code from scratch. The Custom Function window provides all the necessary code snippets, so you can customize them to fit your requirements.
Example: contactRecord = zoho.crm.getRecordbyId("Contacts",9876787);
5. Collections
The Collections feature lets you gather and manage strings of data or specific information within your Custom Function. This is particularly useful when you need to process or analyze multiple data points.
Example:
  1. myList = Collect();
  2. myList.insert("ID1");
  3. myList.insert("ID2");
  4. myList.insert("ID3");
  5. for each ID in myList
  6. {
  7.    info ID;
  8. }
You can also enable the Syntax Builder within your Coding playground. Enabling this option will help you choose variables from the drop-down windows having prebuilt variables/Fields.

Mapping Parameters and Testing Your Script  

Once you’ve built your Custom Function, the next step is to map it to your Zoho Desk environment:
1. Edit Arguments
The Edit Arguments option lets you map params within your Custom Function to fields in your tickets. For example, you can link the Ticket ID, Ticket Owner, or Case ID to the corresponding fields in your Zoho Desk setup. This ensures that your Custom Function interacts seamlessly with your data.
2. Authentication and Connections
Zoho Desk uses OAuth tokens to establish secure connections for Custom Functions. Commonly, this involves using Zoho OAuth to make API calls within Zoho's scope. You can choose the appropriate scopes during authorization to ensure your Custom Function has access to the necessary data and functionalities.
Note: If you choose third-party applications, please create a connection using the required default or custom services.
3. Save and Test
After saving your script, use Save & Execute Script to test it with sample inputs. This lets you test the function, ensuring functionality, debug, and refine your code before deployment.
In the upcoming episodes, we'll dive into how Custom Functions work and contribute to expanding the capabilities within Zoho Desk.
See you in the next episode,
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

        • kanban view for client portal

          Are kanban views an option for client portals? Access to Kanban views in the client portals would solve some mobile-compliant issues I have with the UI. Kanban functions very nicely on mobile and would be a super asset for my clients and vendors as they
        • Credit Card Pre-Authorization with later Capture/Settlement

          We really enjoy the convenience of being able to pay off a customer's invoice using our Auth.Net integration with Zoho Books. Unfortunately, we can only take advantage of this feature with a small percentage of our customers as it leaves a gaping hole
        • Zoho Cliq not working on airplanes

          Hi, My team and I have been having this constant issue of cliq not working when connected to an airplane's wifi. Is there a reason for this? We have tried on different Airlines and it doesn't work on any of them. We need assistance here since we are constantly
        • Zoho Sign 2025–2026: What's new and what's next

          Hello! Every year at Zoho Sign, we work hard to make document signing and agreement execution easy for all users. This year we sat down with our head of product, Mr. Subramanian Thayumanasamy, to discuss what we delivered in 2025 and our goals for 2026.
        • Work Orders / Bundle Requests

          Zoho Inventory needs a work order / bundle request system. This record would be analogous to a purchase order in the purchasing workflow or a sales order in the sales cycle. It would be non-journaling, but it would reserve the appropriate inventory of
        • Izettle or Sumup Integration for Zoho Books.

          The Stripe & Square clearing works great in Zoho Books. Any further integrations planned in the future for Izettle or Sumup? These card processors are very common for taking payments with a card reader.
        • Train Zoho Answer Bot Based on Customer

          Hi all, Is it currently possible to mark Help Centre articles to a specific customer, and restrict the answer bot to only use relevant information if it is either marked as "General", or tagged for the specific customer in question? We currently have
        • Detailed list of scoring rules in Zoho CRM

          Good morning Zoho community, warm greetings The reason for my message today is that I have a problem with my CRM, which I will explain below: Our organization has scoring rules designed to rate our potential customers or leads in the application based
        • Trying to access records in a custom module in Zoho Desk and not having luck

          I've built a custom module in Zoho Desk and am using a custom function to query the records in the module and I'm not having any luck. The only way I have found to retreive a record is by getting it by its recordID (the long zoho assigned one). The function
        • Composite items inside of composite items; bill of materials needed

          Hi Zoho and Everyone, I am evaluating whether Zoho Inventory will work for my small business. I grow and harvest herbs and spices but also get from wholesalers. I use all these items to make herbal teas, but also sell them as individual items on my Shopify store and Etsy. I discovered the composite item bundling and am wondering if I could get some assistance since there is no bill of materials: Our herbal company's best selling tea is a sleepytime tea. Sleepytime Tea can be purchased in three weights
        • ZOHO Books Smart Accounting Software for Travel Agency

          Dear Travel partner, Contact for Travel Agency Accounting Setup & Training Vansh Travel (ZOHO Books Authorised partner) Email: info@vanshtravel.com Mo: +91 98984 95155 Please find PDF   
        • 452 Mailbox delivery restricted by policy error

          We have been testing Zoho desk for about a week now and have been forwarding emails in via an Exchange Online Mail flow rule without issue until yesterday. Suddenly yesterday morning we started getting the vast majority of the emails stuck in Pending
        • Send Email reply on behalf of Agent

          Hi, When using the send email reply via the API I can set the reply on behalf of the customer by using impersonatedUserId in the header of the API call. Is there a way to do this for Agents too? I need to be able to send an email reply on behalf of an
        • Sharing Tickets to a team within a department

          Hi there, We have a need for one department to be able to share tickets to a specific team within a department, I'm wondering if this is possible? All the shared tickets are going into the 'Shared Tickets' view for the whole department but is there a
        • Removing To or CC Addresses from Desk Ticket

          I was hoping i could find a way to remove unnecessary email addresses from tickets submitted via email. For example, a customer may email the support address AND others who are in the helpdesk notification group, in either the TO or CC address. This results
        • Do not use isnull()

          Does not always return booleans. Can also return null. Never use this function. Just use var==null instead.
        • Organization wide Account and Contacts Visibility/Sharing Capabilities?

          Has anyone figured out a way to make visibility or sharing of Accounts and Contacts to be available across the entire organization without having to have every individual user edit their Sharing permissions? For our sales folks they need to be able to
        • Is there a way to configure dark mode for Campaigns emails that go out to customers?

          I've found a lot of information on how to configure dark mode for my (The user) personal Zoho workspace and email, but is there any way to edit dark mode settings on emails that we send out to customers via campaigns?  We sent out a test email the other
        • When Does WorkDrive integrate with Books?

          When Does WorkDrive integrate with Books?
        • How do I import Connected Records for a Deal?

          Can you point me to an example of the CSV file that would add related records to an existing CRM Deal? I imported a Deal, then tried importing a connected record using a unique ID that references the Deal ID, but it doesn't attach it to the Deal rec
        • FSM integration with Books

          Hi, I have spent a few months working with FSM and have come across a critical gap in the functionality, which I find almost shocking....either that, or I am an idiot. The lack of bi-directional sync between Books and FSM on Sales Orders/ Work Orders
        • How to close an estimate ?

          Hello, I have created estimates, and converted them to invoices to get 50% payment. Now I have 2 cases where the estimate stills shows status partially invoiced, however: 1. for one of them, project stopped half way, so the remaining part will never be
        • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

          Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
        • How do you print out the invoices comments

          I have some invoices where i need to print out the comments that show when reminders and etc were sent how do we print those out in Zoho Books.
        • Unable to load a specific image

          Hi I am trying to upload an svg file, which reports that there is "a problem with the file", but does not say what sort of problem. I can't find anything which says which files are supported, so it may be it does not support svg. (which would be a real shame) The file itself will open in either Firefox or Chrome without problem. For the moment I am using a png file, which does not zoom well of course. David
        • Why does the Address field show the wrong map location even with a correct Pincode?

          I am noticing an issue with the Address field map in Zoho Creator. When I enter a city name that exists in multiple locations within the same state, the map sometimes points to the wrong area even if I have entered the correct Pincode. Currently, it seems
        • Uploaded files are not included when using "Include user submitted data" in Email Notification

          In Send Email notification workflow in Zoho Creator, there is an option called "Include user submitted data" which allows the email to contain all the form submission details. However, when this option is enabled, files or images uploaded through File
        • Books <-> CRM synchronisation with custom Fields

          Hello, We are synchronising Books Customers with CRM Accounts. In CRM Accounts I set up last year a "segments" multiselect field shown below In Books, I set up a custom multi-select field with the same value as in the CRM And set up the synchronisation inside Books. Want to synchronise the Books Segments with the CRM Segments, but the later doesn't exist, and another non-existing is there ?! First, I don't understand where the field Segmentation is coming from. Second, I set CRM Segmentation to sync
        • CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users

          Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
        • Archive Option in Conversation View

          Hello, I have a suggestion\request to add an "Archive Thread" button in conversation view of Zoho Mail. The best suggestion I have is to put an "Archive Thread" button next to the "Label Entire Thread" button in conversation view. Most users don't just
        • Outlook/Hotmail Blocking Zoho SMTP IPs (S3150)

          We are currently facing a serious deliverability issue with Zoho SMTP while sending transactional OTP emails for our production application. Emails sent to Outlook / Hotmail addresses are being rejected with the following error: 550 - 5.7.1 Unfortunately,
        • Outlook is blocking incoming mail

          Outlook is blocking all emails sent from the Zoho server. ERROR CODE :550 - 5.7.1 Unfortunately, messages from [136.143.169.51] weren't sent. Please contact your Internet service provider since part of their network is on our block list (S3150). It looks
        • Track Marketing Automation Campaigns in Zoho CRM

          Hello, I've been searching but haven't found the exact answer to this question. I am looking to track Marketing Automation email campaigns and activities inside of Zoho CRM. Use Case: Action: Prospect Submits A Lead Form Outcomes: Prospect created in
        • Zoho Social API for generating draft posts from a third-party app ?

          Hello everyone, I hope you are all well. I have a question regarding Zoho Social. I am developing an application that generates social media posts, and I would like to be able to incorporate a feature that allows saving these posts as drafts in Zoho Social.
        • Temporarily rate limited due to IP reputation.

          We have suddenly started receiving the following Mail Delivery Status Notification: Diagnostic-Code: 4.7.650 The mail server [136.143.184.12] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://aka.ms/postmaster
        • Incorrect Functioning of Time Logs API (Version 3)

          We need to fetch the list of time logs for each task for our company internal usage. We are trying to achieve it by using the next endpoint: https://projects.zoho.com/api-docs#bulk-time-logs#get-all-project-time-logs Firstly, in the documentation the
        • IMPORTANT: It doesn´t search for letters with portuguese characters.

          Some of my articles have for example the word "vídeo". But if I search for "vídeo" it doesn´t find them. If I search for "video" it does find them. Idealy, it should find the articles either way. But if I have to choose, it would be better to find the
        • IMPORTANT: It doens´t show full article name on search - Should add line break

          When we search for articles, it doesn´t show the full name. There should be a line break so the user can see the full article name, otherwise the user can´t know if that´s the article he/she is looking for. This is very important, otherwise the user has
        • Zoho Books - Payment Gateway - Revolut

          Hi Books Team, My feature request if to include the popular platform Revolut as a payment collection option on invoices in Zoho Books. Please upvote if you are also looking for this option.
        • Zoho Books | Product updates | January 2026

          Hello users, We’ve rolled out new features and enhancements in Zoho Books. From e-filing Form 1099 directly with the IRS to corporation tax support, explore the updates designed to enhance your bookkeeping experience. E-File Form 1099 Directly With the
        • Next Page