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

      • Importing a new list into campaigns

        I'm in the middle of switching my email platform to campaigns. I have a list that I want to import, and it overlaps with my existing Zoho CRM list. The fields in my Zoho CTM are more robust. Will this new list that I upload into my campaigns overwrite
      • Client Script Payload Size Bug

        var createParams = { "data": [{ "Name": "PS for PR 4050082000024714556", "Price_Request": { "id": "4050082000024714556" }, "Account": { "id": "4050082000021345001" }, "Deal": { "id": "4050082000023972001" }, "Owner": { "id": "4050082000007223004" }, "Approval_Status":
      • Webform & spam

        Hi, We set up 2 webform on our website, fowarding the content to Zoho CRM. Since it has been opened up, we are getting lot of spam message (for now about 20 a day). To lower the  amount of false new leads we added the captcha field and new enquieries are send to the Approval Leads list. However we still get some spam. Is there any "anti spam" mechanism built in Zoho CRM, or how is the best way to avoid these kind of spam ? Thanks
      • when I email a invoice how can i see it was sent and also were i can go to see all emails sent

        when I email a invoice how can i see it was sent and also were i can go to see all emails sent?
      • Kaizen #208 - Answering your Questions | Functions, AI and Extensions

        Hello Developers! Welcome back to a fresh week of Kaizen! We are grateful for your active participation in sharing feedback and queries for our 200th milestone. This week, we will answer the queries related to Functions and Extensions in Zoho CRM. 1.
      • Export Invoices to XML file

        Namaste! ZOHO suite of Apps is awesome and we as Partner, would like to use and implement the app´s from the Financial suite like ZOHO Invoice, but, in Portugal, we can only use certified Invoice Software and for this reason, we need to develop/customize on top of ZOHO Invoice to create an XML file with specific information and after this, go to the government and certified the software. As soon as we have for example, ZOHO CRM integrated with ZOHO Invoice up and running, our business opportunities
      • Showing description in timesheet and timelogs.

        I am wondering if it’s possible in version 5 of Zoho People to have the description show by default or with a manipulation on the user’s part. Let me show you what I mean. As you can see this is the view for the users. Now if they want to see the full
      • How can I see content of system generated mails from zBooks?

        System generated mails for offers or invices appear in the mail tab of the designated customer. How can I view the content? It also doesn't appear in zMail sent folder.
      • New in Cadences: WhatsApp follow-ups, upgraded limits, and options for add-ons

        Hello everyone, We're rolling out two key updates to help you engage better and scale smarter with Cadences in Zoho CRM. Reach customers on WhatsApp, directly from Cadences Previously, Cadences have enabled you to automate follow-ups through emails, calls,
      • CRM Blueprint Notification by Cliq

        Dear Zoho team, In Workflow, there is nofication by cliq, but in blueprint, there is no option as cliq notification. I think it is very convenient to get notified by Cliq , as there are multi modules in apps, but we will always check Cliqs
      • Zoho People Attendance Regularization – Wrong Total Hours Displayed

        While using Zoho People, I observed that the attendance regularization is showing wrong total hours when applied to past dates. For example, if a check-in is added at 10:00 AM and check-out at 6:00 PM for a previous date, the system sometimes calculates
      • Sync Contacts in iOS

        What does the "Sync Contacts" feature in the iOS Zoho Mail app do?
      • Live webinar: Craft the ideal sales pitch deck with Show

        Every great sale starts with a great story. And your pitch deck? That’s where the story takes shape. But too often, these presentations end up looking generic, overloaded with text, or lacking structure. The good news is, it's easier to fix than you think!
      • Project Statuses

        Hi All, We have projects that sometimes may not make it through to completion. As such, they were being marked as "Cancelled". I noticed that these projects still show as "Active" though which seems counter intuitive. In fact, the only way I can get them
      • 👋 Welcome to the Zoho MCP Community

        Hello all, glad to have you here! This is your space for everything AI agents, MCP tools, and intelligent business apps. This community is for you — developers, partners, creators, and businesses exploring how agents can transform work. Whether you’re
      • Suitability of Zoho One (Single User License) for Multi-State GST Compliance & Cost Analysis

        Hello Zoho Team, I am an e-commerce business owner selling on platforms like Amazon, Flipkart, and Meesho, and I'm currently using their fulfillment warehouses. I have two GSTIN registrations and am planning to register for an additional 2-3 to expand
      • DNS Manager

        Where Can I find my DNS manager so I can link this to click funnels or AWEBER
      • Forwarder

        Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
      • Forwarder

        Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
      • How do I sync multiple Google calendars?

        I'm brand new to Zoho and I figured out how to sync my business Google calendar but I would also like to sync my personal Google calendar. How can I do this so that, at the very least, when I have personal engagements like doctor's appointments, I can
      • Need to extract date from datetime field

        I have a datetime field and need only the date part from it. I am unable to find a built-in function that would be <DateTime>.Date(). I don't think I want to go the string conversion route of converting the datetime to string and then parsing out values and create a date out of it. Any one out there has a better solution to this? Thanks in adavnce. Regards Moiz Tankiwala Smart Training & IT Solutions
      • How to Hide Article Links in SalesIQ Answer Bot Responses

        I have published an article in SalesIQ, and the Answer Bot is fetching the data and responding correctly. However, it is also displaying the article link, which I don’t want. How can I remove the link so that only the message is shown?
      • India Tech Support

        Is there no phone tech support number for India? And no chat facility either?
      • additional accounts

        If I brought 5 emails to my account. Can I later buy additional emails.
      • Issue in Zoho People Regularization – Incorrect Hour Calculation

        I have noticed that when applying attendance regularization in Zoho People for previous dates, the total working hours are not calculated correctly. For example, even if the check-in is 10:00 AM and check-out is 6:00 PM, the system shows an incorrect
      • Why I am unable to configure Zoho Voice with my Zoho CRM account?

        I have installed Zoho Voice in my Zoho CRM, but as per the message there is some config needed in Zoho Voice interface. But when I click on the link given in the above message, I get an access denied page.
      • Issue with Hour Calculation in Zoho People Attendance Module

        I have noticed an issue in the attendance regularization feature of Zoho People. When trying to regularize past dates, the total working hours are not calculated correctly. For example, if I enter a check-in and check-out time for a previous day, the
      • Cliq Meeting Calls No Audio and Screen Share

        When in a Cliq channel meeting, the audio does not work at all on pc. When i use my phone as audio source, screen share on pc does not work. I have updated audio drivers but the strangest thing is that during a 1 on 1 call, it works well. Therefore the
      • Bug in Total Hour Calculation in Regularization for past dates

        There is a bug in Zoho People Regularization For example today is the date is 10 if I choose a previous Date like 9 and add the Check in and Check out time The total hours aren't calculated properly, in the example the check in time is 10:40 AM check
      • Work anniversary and birthdays on connect

        Hello, I like the idea of having employee's work anniversary and birthdays on the dashbaord. Do you have to have the employee complete this information themselves in connect settings, or does it pull from their directory settings? (ie. we use Zoho one
      • Alias Email Id already exists

        Hi I'm trying to create an alias : contact @ yoavarielevy.co.il but i get the message  Alias Email Id already exists I had an account with the same name but I deleted it. Can you help? Thanx Yoav
      • BANK FEED - MAYBANK , provider from YODLEE IS NOT WORKING

        As per topic, the provider YODLEE is not working for the BANK FEED. It have been reported since 2023 Q3, and second report on 2023 Q4. now almost end of 2024 Q1, and coming to 2024 Q2. Malaysia Bank Maybank is NOT working. can anyone check on this issue?
      • Feature Request: Ability to Set a Custom List View as Default for All Users

        Dear Zoho CRM Support Team, We would like to request a new feature in Zoho CRM regarding List Views. Currently, each user has to manually select or favorite a custom list view in order to make it their default. However, as administrators, we would like
      • Adding Multiple Products (Package) to a Quote

        I've searched the forums and found several people asking this question, but never found an answer. Is ti possible to add multiple products to a quote at once, like a package deal? This seems like a very basic function of a CRM that does quotes but I can't
      • Zoho Commerce in multiple languages

        When will you be able to offer Zoho Commerce in more languages? We sell in multiple markets and want to be able to offer a local version of our webshop. What does the roadmap look like?
      • Compensation | Salary Packages - Hourly Wage Needed

        The US Bureau of Labor Statistics says 55.7% of all workers in the US are paid by the hour. I don't know how that compares to the rest of the world, but I would think that this alone would justify the need for having an hourly-based salary package option.
      • Introducing Assemblies and Kits in Zoho Inventory

        Hello customers, We’re excited to share a major revamp to Zoho Inventory that brings both clarity and flexibility to your inventory management experience! Presenting Assemblies and Kits We’re thrilled to introduce Assemblies and Kits, which replaces the
      • How to create auto populate field based on custom module in Zoho CRM?

        Hello, i'm still new to Zoho CRM and work as administrator in my company. Currently, I'm configuring layout for Quotes Module. So, the idea is, I've created a read-only field in Quotes called "Spec". I want this field automatically filled with Specification
      • webinar registration confirmation are landing in SPMA folders

        I am trialing zoho webinar and do not have access to custom domains. When I test user registrations, they are working but the resulting confirmation email is landing in a spam folder. How can I avoid this?
      • Making digital signatures accessible to all: Introducing accessibility controls in Zoho Sign

        Hi there! At Zoho Sign, we are committed to building an inclusive digital experience for all our users. As part of our ongoing efforts to align with Web Content Accessibility Guidelines (WCAG), we’re updating the application with support that will go
      • Next Page