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

                                                                                                              • Whatsapp Connection Status still "Pending" after migration

                                                                                                                Hello, I migrated my WhatsApp API to Zoho from another provider a day ago. So far the connection status is still “Pending”. There is a problem? How long does it usually take?
                                                                                                              • Adding Multiple Files to a Zoho Vault Entry

                                                                                                                There is a old blog post talking about adding multiple file attachments to one Zoho Vault Secret: https://www.zoho.com/blog/vault/introducing-new-features-in-zoho-vault-powerful-password-sharing-wider-storing.html Is that still possible, I can see how
                                                                                                              • Get user last login

                                                                                                                1. Is there a way to programmatically get the last user login to trigger certain workflows? 2. Is there a way to programmatically access the custom fields on a user's account?
                                                                                                              • Dropshipping Address - Does Not Show on Invoice Correctly

                                                                                                                When a dropshipping address is used for a customer, the correct ship-to address does not seem to show on the Invoice. It shows correctly on the Sales Order, Shipment Order, and Package, just not the Invoice. This is a problem, because the company being
                                                                                                              • Add Attachment Support to Zoho Flow Mailhook / Email Trigger Module

                                                                                                                Dear Zoho Support Team, We hope you are well. We would like to kindly request a feature enhancement for the Mailhook module in Zoho Flow. Currently, the email trigger in Zoho Flow provides access to the message body, subject, from address, and to address,
                                                                                                              • Zoho Invoice Customer Login Portal

                                                                                                                Are there any plans for a customer portal to Zoho Invoice, ala Freshbooks?  I would like customers that I invoice to be able to login to review invoices and invoice history.  I have not switched from Freshbooks for this very reason.
                                                                                                              • the custom domain forwards by default to the old career site / how to switch it off??

                                                                                                                dear friends, how to switch off the old version of the career site?? The set up custom domain forwards directly to the old site, so that I cant publish it... Any ideas? Thank you! KR, Victoria
                                                                                                              • Partner with HDFC And Sbi Bank.

                                                                                                                Hdfc and sbi both are very popular bank if zoho books become partner with this banks then many of the zoho books users will benefit premium features of partnered banks.
                                                                                                              • Can Zoho Flows repeat Actions more than once?

                                                                                                                I'm attempting to make an intentional Zoho Flow loop using the below layout. However, when "WithinLimit" condition is met, the program fails to execute the action "Get & Add Request Co..." again. Is this by design? Is Zoho Flows unable to repeat actions
                                                                                                              • What KPIs Do You Use to Measure Your Support Team’s Performance in Zoho Desk?

                                                                                                                Hi everyone, We hope you’re all doing well. We are trying to improve how we measure the performance and effectiveness of our support department, and we would really appreciate learning from the community. We assume there are several common and widely-used
                                                                                                              • Preserve Ticket Issue Mapping When Migrating from Jira to Zoho Projects

                                                                                                                Hello Zoho Projects Team, We hope you are doing well. We are currently exploring a full migration from Jira to Zoho Projects, and we identified a critical limitation during the migration process involving Zoho Desk integration. Current Situation: We use
                                                                                                              • Resend Client Portal Invitation + View Email Delivery Status

                                                                                                                Hi Zoho Team, We hope you are doing well. We would like to request two important enhancements related to the Zoho Creator Client Portal invitation process. At the moment, when we add a user to the Client Portal, Zoho Creator automatically sends an invitation
                                                                                                              • CRM iOS App Missing Tags support

                                                                                                                Hi, I remember reading either a tread on iOS (Maybe Later) & Android (i believe Now Supported) regarding “Tags” in the mobile apps unfortunately I can’t seem to find either. Could we clarify are “Tags” support coming to CRM iOS app as searching the forums
                                                                                                              • Imported contacts succesful but contacts do not show up in Contacts

                                                                                                                I imported +300 contacts. I can see them in import history. When clicking on a contact in import history I see all the imported contact details for any given contact. So import seems to be successful.   However the imported contacts do not show up in the contacts tab. Not in All contacts, and not in a filtered view where they absolutely should show up. The search function also does not find any imported contact.   Help?
                                                                                                              • Hotmail is STILL blocking the zoho mail IP

                                                                                                                Greetings, as I already mentioned in my last message, my Zoho IP has been blocked by Hotmail for more than 15 days. Although someone said that the issue was "solved," it still isn't, and this amount of time seems neither normal for a "serious" company,
                                                                                                              • Pre-fill webforms in Recruit

                                                                                                                I don't want to use the career site portal (as I have my own already), but I would like to direct users to the application forms for each role, from my website job pages. Is there a way to pre-fill fields in Recruit application forms, so that I only have
                                                                                                              • Zia Actions: AI-powered Workflow Automation for Faster and Smarter Execution

                                                                                                                Hello everyone, Workflows got a notch better with AI-based actions. Actions such as field extraction, prediction, auto reply, and content generation facilitate quick execution with improved speed and accuracy. Zia can intercept useful details in newly
                                                                                                              • Import KB template OR Export template for zoho desk?

                                                                                                                Greetings. Can you tell me if there is a way to get an EXPORT of my KB articles? OR is there a template you supply for importing KB articles into my zoho desk? I am looking for a method of understanding what fields can be imported, and what their possible
                                                                                                              • This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details

                                                                                                                Hello, Just signed up to ZOHO on a friend's recommendation. Got the TXT part (verified my domain), but whenever I try to add ANY user, I get the error: This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details I have emailed as well and writing here as well because when I searched, I saw many people faced the same issue and instead of email, they got a faster response here. My domain is: raisingreaderspk . com Hope this can be resolved.  Thank you
                                                                                                              • XML format to import knowledgebase into Zoho Desk

                                                                                                                Hi, We just started to use Zoho Desk and want to import our knowledgebase from our old support system (Freshdesk) to Zoho Desk. Can anyone give us information about the format of xml file to import? There is no explanation on the related page.
                                                                                                              • Can we add custom fields to portal community profiles?

                                                                                                                How do we add custom fields to our profile pages in our portal community? If we have the ability to add custom fields, will we be able to access those fields via API? We want to use our Desk community in our help portal as our primary community and would
                                                                                                              • Weekly Sales Summary

                                                                                                                Is it possible to generate a weekly report in Zoho Books to show -$$ amount of estimates generated -# of estimates generated by Salesperson -$$ amount of Sales Orders created -$$ amount of Invoices generated
                                                                                                              • Client Portal ZOHO ONE

                                                                                                                Dear Zoho one is fantastic option for companies but it seems to me that it is still an aggregation of aps let me explain I have zoho books with client portal so client access their invoice then I have zoho project with client portal so they can access their project but not their invoice without another URL another LOGIN Are you planning in creating a beautiful UI portal for client so we can control access to client in one location to multiple aps at least unify project and invoice aps that would
                                                                                                              • Restrict Addresses in Zoho Forms?

                                                                                                                In the address field, is there a way to restrict the addresses that auto populate (via Zoho Maps or Google Maps) to a specific state (I know it's possible with the country). Additionally, how often does the address in Zoho Maps get updated? Certain addresses
                                                                                                              • Do Individual Forums within Categories, in Desk Community, Produce Their Own RSS Feed?

                                                                                                                Do Individual Forums within Categories, in Desk Community, Produce Their Own RSS Feed? If not, can anyone share a work-around that could help me get an RSS feed for individual category forums?
                                                                                                              • ASAP Widget Not showing "My Tickets"ed

                                                                                                                Hello Team, I have created a ZOHO ASAP Widget and embedded to my portal app.clearvuiq.com , widget renders ok and I can open tickets from widget. However I want my opened tickets to be visible in the widget. How can I achieve that?
                                                                                                              • Add Zoho Forms to Zoho CRM Plus bundle

                                                                                                                Great Zoho apps like CRM and Desk have very limited form builders when it comes to form and field rules, design, integration and deployment options. Many of my clients who use Zoho CRM Plus often hit limitations with the built in forms in CRM or Desk and are then disappointed to hear that they have to additionally pay for Zoho Forms to get all these great forms functionalities. Please consider adding Zoho Forms in the Zoho CRM Plus bundle. Best regards, Mladen Svraka Zoho Certified Consultant and
                                                                                                              • How to view CRM Sales Orders in Desk

                                                                                                                What's the usual way to view all CRM sales orders linked to a contact, when viewing a ticket in Desk? I don't want to have to open a new tab to see the order in CRM. And the Desk CRM sidebar doesn't seem to be configurable. Would I have to use an extension
                                                                                                              • Kaizen #219: Actions API - Webhooks APIs - Part 1

                                                                                                                Hello all!! Welcome back to a fresh Kaizen week. In the previous weeks, we covered Workflow Rules APIs, Actions APIs - Email Notification APIs, Tasks Update API, and Field Update API. This week, we will continue with another Actions API - Webhooks API
                                                                                                              • Pricing Strategies: #3 Services never Stop with just Plans

                                                                                                                "Hey, while you're here, could you also take a look at the vegetable patch?" Aaron hears that line almost every week. He runs a small gardening service, the kind where customers subscribe to a simple monthly plan that includes basic maintenance, mowing,
                                                                                                              • Presenting ABM for Zoho CRM: Expand and retain your customers with precision

                                                                                                                Picture this scenario: You're a growing SaaS company ready to launch a powerful business suite, and are looking to gain traction and momentum. But as a business with a tight budget, you know acquiring new customers is slow, expensive, and often delivers
                                                                                                              • Lead Blueprint transition in custom list view

                                                                                                                Hi, Is It possible to insert the Blueprint transition label in a custom Canvas list view? I am using Lead module. I see the status, but it would be great if our users could execute the Blueprint right from the list view without having to enter the detailed
                                                                                                              • Cropping Photos for Zoho Sites

                                                                                                                Hi, I'm wondering if there is a built in crop tool for zoho sites for my photos so I can crop them and see what the crop looks like on the site?
                                                                                                              • Deluge scripts

                                                                                                                Why is there not a search function to make it easier to find the script of interest when modifications are required.
                                                                                                              • WorkDrive and CRM not in sync

                                                                                                                1/ There is a CRM file upload field with WorkDrive file set as the source: 2/ Then the file is renamed in WorkDrive (outside CRM): 3/ The File in CRM is not synced after the change in WorkDrive; the file name (reference) in CRM record is not updated (here
                                                                                                              • zoho sheet stuck

                                                                                                                I Need help. ZOHO sheets stuck on the loading screen. I've already deleted the system cache and cookies of my browser (google chrome) but it's still not opening. 
                                                                                                              • bulk edit records and run internal logic

                                                                                                                hi there is few logics in manner "it this than that" logics work well when i edit entry openning it one by one (via workflow "on add/edit - on success" , for custom field "on update/on user input") but when i try bulk edit records - logic does not work.  how can i turn on logic to work as programmed - for mass editing records via bulk edit?
                                                                                                              • Duplicate Accounts

                                                                                                                Hi There, I am looking for a solution, script, workflow or anything to solve an issue we have - in our customers section we have a rule that doesn't allow duplicates, however Zoho will allow customers with xxxxx and xxxxx PLC or LTD so effectivley we
                                                                                                              • Invoice Ref. Field

                                                                                                                Hello Team, Currently, the Invoice Ref. field is set to a Number type with a maximum limit of 9 digits. However, we often receive customer invoices that contain up to 12 digits. In some cases, the invoice reference includes not only numbers but also letters
                                                                                                              • WebDAV / FTP / SFTP protocols for syncing

                                                                                                                I believe the Zoho for Desktop app is built using a proprietary protocol. For the growing number of people using services such as odrive to sync multiple accounts from various providers (Google, Dropbox, Box, OneDrive, etc.) it would be really helpful
                                                                                                              • Next Page