Kaizen #65 - Features of Client Script in Zoho CRM

Kaizen #65 - Features of Client Script in Zoho CRM

Welcome back to another exciting Kaizen post!

In this week's post let us see the key features of Client Script in Zoho CRM.
      B.  Review
      C.  Revision
      D. Run

1. Get Instant response

             Client Script is a piece of JavaScript code that runs on your web browser instead of the server, thus executes the script instantly.  In Zoho CRM, the Client Script feature gives you a seamless platform for achieving and extending your business cases. It enables you to create custom actions that are not otherwise part of the Zoho CRM’s native features. 

2. Developer-friendly Client Script IDE
             Client Script IDE offers you a flawless experience during your development process by providing a cohesive solution with useful features.
A. Code Editor 
      The code editor eases the development of a Client Script with several features like
       When you save the script, if the Client Script IDE finds errors, the error panel lists the errors at the bottom of the editor.



B. Review 
      The Client Script IDE provides the Review component where you can compare and check the differences with the previous code.


C. Revision
      You can track the list of saved revisions of your script in the Revision component.


D. Run
      Client Script allows you to execute the script using the Run component. The success message, errors and output of log statements are available in the Messages pane at the bottom of the Run component. Terminal pane, next to the Messages pane allows you to try and execute the ZDK APIs instantly.

3. Available for multiple pages
      Client Script allows you to accomplish custom actions for different pages in Zoho CRM. This includes 
  • Create page
  • Edit page
  • Clone page
  • Detail(canvas) page of all standard and custom modules in Zoho CRM.


4. Executes Script based on Events
      Client Script allows you to configure events which will trigger your script whenever those events occur. For example, you can configure your script to execute whenever the user hits the Save button or when the user adds value to a particular field. Click here to know the event types available for different pages.

5. Instant form field validation
      Client Script is a boon when you want your script to run as soon as the user updates any value to a field. For example, to show an error or an alert message based on any condition as soon as the user enters data on a field. 

6. Code re-usability using Static Resources
      Client Script provides the convenience to import existing code files in the form of static resources and use them in your script.You can upload a Javascript file as a static resource, include the uploaded file in your script using the Add button on the right pane of the Code Editor and call the method in the static resource file from your script. Refer to Static resources in Client Script for more information.

7. Secured third party API calls
                   Client script provides organizations using Zoho CRM with Trusted Domains . This helps the CRM account admins whitelist domains that the client scripts can make calls to. The client scripts cannot make calls to any sites that are not on the whitelisted in domains list. Also,  this third party domain should be CORS enabled in addition to adding it to the Trusted Domain if you use fetch() method to make the API call. This helps prevent the security of the CRM from being compromised due to any misuse through the Client Scripts. 

      For example, you can fetch the distance between two cities using a third party API and populate the returned value in the field Distance only if you add the third-party domain to the list of Trusted Domains.



8. Rich collection of ZDK APIs
      Client Script provides us the luxury to use its collection of ZDK Client APIs and ZDK Web APIs . The ZDK Web APIs invokes the Zoho CRM APIs internally and so it accounts for API credits every time ZDK Web API call is invoked. 
Below are some of the typical use-cases of Client Script that can be accomplished using the ZDK APIs.
A. Keep information confidential from unauthorized parties
You can mask specific information for specific profiles/roles/criteria in Detail Page(Canvas) using the mask() ZDK Client API in Client Script. For example, you can hide the phone numbers of your customers for all profiles except Administrator. 

var user = ZDK.Apps.CRM.Users.fetchById($Crm.user.id);
  if (user.profile.name !== 'Administrator') {
    ZDK.Page.getField('Phone_Number').mask({ character: '*', length: 5, reverse: true });
  }

The following screenshot shows that the Phone Number field is masked partially for a Standard user.


B. Auto-populate data based on your requirement or calculation
      You can auto-populate data for fields whenever the page loads based on any criteria or populate data based on calculations. For example: Auto populate the field Request Name whenever a new record is created in the module Request.

var todaysDate = new  Date();

//Append the date with REQ as per requirement
var requestName = "REQ-" + todaysDate.getDate().toString() + "-" + todaysDate.getMonth().toString() + "-" + todaysDate.getFullYear().toString();

//Assign the field "Request Name" to a variable
var reqName_field = ZDK.Page.getField("Request_Name");

//Populate requestName in the field "Name"
reqName_field.setValue(requestName);

//Make the field "Request_Name" read-only
reqName_field.setReadOnly(true);

C. Display custom messages
       Using Client Script, you can display custom messages and alerts in Create/Edit/Clone/Detail (Canvas) Page of Zoho CRM. For instance, if you want to display the following message when the user creates a new Account, you can create a Client script on Create Page of Accounts module with onLoad event type and use the  ZDK Client API, ZDK.Client.showMessage() in your script. For more samples on displaying custom messages refer to Kaizen #59 .

D. Accomplish data auto-correction
      Using Client Script you can correct, update or modify data instantly after the user enters value in a field. For example, consider that your organisation wants the name of the user to be entered in capital letters, you create a Client Script on Create Page onChange Field event type on field First Name and write a script to auto-convert the name to Capital letters.

var first_name = ZDK.Page.getField("Name");
first_name.setValue(value.toUpperCase());

Here is how the Client Script Works.
            
9. Client Script Constants 
      Client Script provides the below constants which can be used in your Script for better Client Scripting.
  • $Crm   - Provides information about the logged-in user, environment and org.
  • $Client - Contains Information 
  • $Page - Contains information about the contextual data that's been shared by the page.
      You can check the values that these constants hold in the Terminal section of Run Component in Client Script IDE as shown below.



Click here to get more information on Client Script Constants.

10. Support for Wizards
      Client Script also provides support for Wizards. You can configure your script to run,
  • whenever a wizard loads
  • when you save a Wizard 
  • when you navigate from one screen to another 
  • before navigating from one screen to another screen
  • when you update any of the fields.
  • when you update a specific field
For example, if you want to display a message when the Wizard is loaded and auto-populate data for the field Deal Name then , create a new Client Script on page Create Page (Wizard),  onLoad Wizard event type and give the below script.

//To display message
var user = ZDK.Apps.CRM.Users.fetchById($Crm.user.id);
ZDK.Client.showMessage("Hello " + $Crm.user.full_name  +", "+ "Welcome to our Deal Creation Portal");

// To populate Deal Name
var today1 = new Date();
var t1 = "DEAL-" + today1.getDate().toString() + "-" + today1.getMonth().toString() + "-" + today1.getFullYear().toString();
log(t1);
var deal_field = ZDK.Page.getField("Deal_Name");
deal_field.setReadOnly(true);
deal_field.setValue(t1);

Here is how the Client Script works, 

The feature - Support for Wizards will be rolled out next week.

We hope you found this post useful. We will meet you next week with another interesting topic!
If you have any questions let us know in the comment section.
Cheers!

Click here for more details on Client Script in Zoho CRM.

Related Links




    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • Kaizen #217 - Actions APIs : Tasks

                                                              Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                            • Kaizen #216 - Actions APIs : Email Notifications

                                                              Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
                                                            • Kaizen #152 - Client Script Support for the new Canvas Record Forms

                                                              Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved
                                                            • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

                                                              Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
                                                            • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

                                                              Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner







                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources

                                                                                              Zoho Writer

                                                                                              Get Started. Write Away!

                                                                                              Writer is a powerful online word processor, designed for collaborative work.

                                                                                                Zoho CRM コンテンツ



                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                              • Recent Topics

                                                                                                              • Email Template Edits Not Saving

                                                                                                                I can make an edit, click save, and see the blue bar annimation at the top, but the edits don't actually save. Important, because my email templates are now broken and clients are receiving bad emails. Tried on Chrome, Firefox and IE.
                                                                                                              • Default Ticket View - Table?

                                                                                                                Guys, We mostly use the table view to queue tickets. Maybe I am missing it - but how can I set that view as 'default" for all our agents? Thanks JV
                                                                                                              • Duplicate customers being created in Desk

                                                                                                                Hi I've trying to work out why I've getting duplicated customers being created in my desk. I have an external booking system that generates an email when I get a customer booking a job. A booking email gets sent to Desk where I manage the booking and
                                                                                                              • Can I have different users see different pick list values for Potential Stage?

                                                                                                                We have some users focusing on new business and others focusing on existing business, and they follow different sales processes/cycles, so we would like them to see different pick list values for Stage (eventually leading up to Closed Won/Lost in both cases).   And just to keep it interesting - some of these users will of course do a combination, so would need to see one pick list for their New business potentials and a different pick list for their Existing business ones.   Salesforce does this
                                                                                                              • Tracking Snippet not working in Zoho Marketing Automation!

                                                                                                                First off, the fact that you have to wait about 12-24 hours for every response is terrible. How are we supposed to conduct business? Second, we have been trying for several days to get the Tracking Code Snippet in marketing automation to work, to no avail.
                                                                                                              • email moderation issue when email is sent in the name of a mail group

                                                                                                                Symptom: an email that is sent by a mail group moderator in the name of a moderated mail group is held back for approval. Reproduction: Create a moderated mail group with members and moderators. Allow that mails can be sent in the name of the group (extended
                                                                                                              • Is there any way to send an Excel received by email to Dataprep?

                                                                                                                Every day I receive an email alert with an Excel file that I want to process through a Dataprep pipeline. To do this, I need to: -Save the file to disk -Open the pipeline -Run the pipeline -Update the source -Several clicks to select and open the saved
                                                                                                              • Recruit paid support?

                                                                                                                Hi all, Could anyone who has paid support package advise if it provides value for money with regards to support response times? Exploring the idea as unfortunately when we have faced issues with Recruit it has been a 7+ day timescale from reporting to
                                                                                                              • Hotmail is blocking the zoho mail IP

                                                                                                                Greetings, Since last Tuesday (5 days ago today) I wrote to Zoho support and I still haven't received a single response (Ticket ID: 2056917). Is this how you treat people who pay for your email service? I am making this public so that those who want to
                                                                                                              • 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
                                                                                                              • Zoho Creator Form Search

                                                                                                                I'm new to Zoho Creator and so far i do like it but im shocked there seems to be no easy way to add a search function and/or navigation to there forms as this readily available in every platform i have used in the past. Anyway i have a form which i have
                                                                                                              • How to setup DKIM / SPF in Zoho Mail

                                                                                                                Hello there! I'm having a hard time understanding how to setup the TXT records for SPF and DKIM with Zoho Mail. I'm following the instructions here: https://www.zoho.com/campaigns/help/setup-spf-dkim.html Specifically, when it comes to the value for the
                                                                                                              • Mass update cant trigger a workflow?

                                                                                                                Hello there, Is this a normal Creator behaviour? In a report, if I manually edit each data row, it will pass those changes to all other reports. However, if I perform a Mass Update on a few data rows at once, the new data is not pushed to other reports.
                                                                                                              • search and Smart Bar both missing in Mail

                                                                                                                One of the users on my account does not have the search bar at the top right or the Smart Bar at the bottom left of the desktop Mail app. Any ideas how to get those back?
                                                                                                              • "Wrong password or login" Problem to configure Zoho on MAIL App on my Macbook

                                                                                                                Hi, I'm having problems to configure my e-mail on my MAIL App(Macbook pro). My e-mail is hari@trespontoum.net Actually was working perfectly, and still working on my Iphone. My MAIL App prompt me that my login or password is wrong. I tried to change 3
                                                                                                              • Remote Control Functionality During Screen Sharing in Zoho Cliq

                                                                                                                Hello Zoho Cliq Team, We would like to request the addition of remote control functionality during screen sharing sessions in Zoho Cliq. Currently, while screen sharing in Cliq is very useful, it lacks the ability for another participant to take control
                                                                                                              • Let us add Lookup fields in the Blueprint Transitions

                                                                                                                We are unable to add Lookup Fields in the blueprint transitions in Zoho Desk, we wanted to make it a requirement for our workflow but since it's not available in the transition we cannot. The lookup field exists in the Layout: But it cannot be added/selected
                                                                                                              • Zoho Projects API Scope for Issue Attachments

                                                                                                                I try to download issue attachments via the API, unfortunately I always get the following error code when trying to download the file from the supplied URL: {"ERROR_MESSAGE":"INVALID_OAUTHSCOPE","ERROR_CODE":401} indicating an auth scope error. I've tried
                                                                                                              • How to fetch custom fields for time entries in Zoho Project API v3

                                                                                                                In the previous Zoho Projects REST API, we were able to retrieve custom field details for time entries, including picklist options, using the endpoint: GET /restapi/portal/[PORTAL_ID]/timesheetcustomfields In the new Zoho Projects API v3, we tried using
                                                                                                              • Zoho Survey Enhancements

                                                                                                                We love Survey. We use it a ton. It needs some enhancements. Maybe some of these are already on the roadmap? API - this is crucial. We have some complex surveys that take place and need to update records, trigger other functions/automations, etc. I would
                                                                                                              • Images Don't Display on Blog

                                                                                                                Hi, I've just posted a new blog entry, but regardless of format (png or jpeg) Images that display in Preview mode do not display on any browser in the published post.  I've not done anything different with this post than others regarding images, please advice. Thanks! Edit:  I've discovered that moving the image files from a my sub directory folder "Pics for Blog" to the top level of the "Files" folder on my site allows the images to display live.  This, even though my other blog posts are correctly
                                                                                                              • Checkbox Field Mapping Zoho Forms to Zoho Sign

                                                                                                                I have an application that will be filled out via Forms that I am mapping into a PDF Filler on Zoho Sign. I need to have a series of checkboxes mapped to the corresponding fields in Sign and I only see single checkboxes available via the mapping, though
                                                                                                              • MCP > Creator connection failing with Claude

                                                                                                                I'm trying to get claude to access any of my Zoho Creator apps and it keeps failing. I have enabled all tools for creator and ensured in claude settings that everything is authorised. Here is what claude says : Unfortunately, the error messages I'm receiving
                                                                                                              • Books P&L by Customer

                                                                                                                Lately, we have found that the Customer field filter for the Profit & Loss report in Zoho Books is no longer available. We have several projects with the same customer and look at the P&Ls by project AND by Customer (overall). Can you please add back in this field selection alongside the Project field to the P&L report filter? Thanks! -Gina
                                                                                                              • Sent mail sort by date disappeared

                                                                                                                Hello, We used to be able to sort the emails by date in the sent folder, but this feature has recently disappeared. Can we bring it back?
                                                                                                              • I cannot check out to Zoho People.

                                                                                                                When I tried to check out today, there's prompt that inhibits me to check out: To add entry in Attendance, log time for any of your jobs
                                                                                                              • Pricing Strategies: #2 Plan your Service Offerings using Plans

                                                                                                                Meet Harvey & Mia, hailing from the same Tech school, carrying the dream of setting up their own IT maintenance firm in their location. They drew up a clear business plan and put their business in motion on New Year's Eve. They had great reception right
                                                                                                              • Open a record to edit based on another form being edited

                                                                                                                Hi all, I am trying to edit a record based on another record being edited. It works out like this: When I create a Monthly_Update and then submit I open the Monthly_Levels form and pass the ID from the Monthly_Update to a field called mu. I want it to
                                                                                                              • Problem with signature on zoho survey

                                                                                                                Hello, I'm trying to export individual responses with signatures on zoho survey. But the signatures on some of my surveys are not exported as the original image, but as a generic image, same for all (screen joins). Is there a solution to have the signatures
                                                                                                              • Change in Zoho CRM API?

                                                                                                                Hello, I am using the Zoho API trough the PHP SDK v2.1 Since few days, I noticed that I have to change the way I pass the data to the API when I create, update, or upsert a record. Dates Before I was passing a PHP date object to "$record->addKeyValue(...)",
                                                                                                              • MTA - BAD IP reputation by outlook/hotmail

                                                                                                                Messages to Microsoft email servers are bouncing back due to poor reputation. Message: 4.7.650 The mail server [136.143.188.206] has been temporarily rate limited due to IP reputation. For e-mail delivery information see https://postmaster.live.com (S775)
                                                                                                              • QuickBooks Extension for Zoho CRM - Advanced Features -2025

                                                                                                                Hello Everyone, We’re happy to announce the latest version of our QuickBooks Extension for Zoho CRM, now officially live on the Zoho Marketplace! This release introduces one-click data sync, a user-friendly UI, enhanced performance, and a powerful set
                                                                                                              • Changing Department often causes the Firefox tab to freeze

                                                                                                                Title, it doesn't seem to happen with neither Opera nor Chrome. And even in Firefox, sometimes it just lets me change the department I'm in no problem, even to All Departments which is probably the most, like, resource heavy? But most of the time, the
                                                                                                              • Need to integrate Zoho Mail Mobile app with Zoho Meeting Mobile App for Android and Apple

                                                                                                                Hello Zoho Team, Please bring integration of Zoho Mail Mobile app with Zoho Meeting for Android and Apple Thanks
                                                                                                              • ¡Muchas gracias por participar a los Meetups de Usuarios de Zoho! Y Novedades del ecosistema Zoho

                                                                                                                ¡Hola Comunidad de Zoho en Español! 👋 Después de un breve lapso de tiempo, volvemos con una nueva edición de nuestro Community Digest, donde te contamos las novedades de los productos de Zoho en los últimos meses. Estas mejoras se centran en nuestros
                                                                                                              • Anyway to move mail from one account to another yet?

                                                                                                                Hello, Is there any way to move email from one mailbox account to another mailbox account in zoho yet? Thanks, Ryan.
                                                                                                              • 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
                                                                                                              • Building Toppings #2 - Learn how to use Bigin's Developer Console to build toppings

                                                                                                                Hey Biginners, In our last post, we discussed what toppings are, why they're essential to extending Bigin's capabilities, and how the Bigin Developer Center serves as the starting point for building them. As a cloud platform, the Developer Center empowers
                                                                                                              • Proposal for Creating a Unique "Address" Entity in Zoho FSM

                                                                                                                The "Address" entity is one of the most critical components for a service-oriented company. While homeowners may change and servicing companies may vary, the address itself remains constant. This constancy is essential for subsequent services, as it provides
                                                                                                              • Links are incorrect when sent out

                                                                                                                I'm adding in hyperlinks into my eDM. When I send a test email, it's all correct. However, when I send out the eDM, all the hyperlinks jump up one space so none of the links are opening to the correct page. Why is this happening and how can I fix it?
                                                                                                              • Next Page