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




                                    Zoho Desk Resources

                                    • Desk Community Learning Series


                                    • Digest


                                    • Functions


                                    • Meetups


                                    • Kbase


                                    • Resources


                                    • Glossary


                                    • Desk Marketplace


                                    • MVP Corner


                                    • Word of the Day



                                        Zoho Marketing Automation


                                                Manage your brands on social media



                                                      Zoho TeamInbox Resources

                                                        Zoho DataPrep Resources



                                                          Zoho CRM Plus Resources

                                                            Zoho Books Resources


                                                              Zoho Subscriptions Resources

                                                                Zoho Projects Resources


                                                                  Zoho Sprints Resources


                                                                    Qntrl Resources


                                                                      Zoho Creator Resources



                                                                          Zoho Campaigns 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 Writer

                                                                                    Get Started. Write Away!

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

                                                                                      Zoho CRM コンテンツ






                                                                                        Nederlandse Hulpbronnen


                                                                                            ご検討中の方





                                                                                                  • Recent Topics

                                                                                                  • How to Add Bulk Data in Zoho Creator Forms Using Deluge Without Exceeding Execution Time Limit

                                                                                                    I have a database form with a column named 'Product Name' containing 8000 values in a Zoho Creator form. In another form named 'Returns Data,' I have a column with the same name, 'Product Name.' How do I add these 8000 values to the 'Returns Data' form
                                                                                                  • Open New Free Zoho Account

                                                                                                    Hi Team, Do you guys offer a free email hosting? I do have a domain already. If yes, what is the process to open the new account? Thanks,
                                                                                                  • 554 5.7.1 : Recipient address rejected: user info@intimspace.de does not exist

                                                                                                    554 5.7.1 : Адрес получателя отклонен: пользователь info@intimspace.de не существует I can't send an email to Google at info@intimspace.de. An error comes. I entered everything correctly in DNS https://zohomail.tools/#domainDetails/intimspace.de/ALL
                                                                                                  • Emails going back unread

                                                                                                    Hi all, When in Zoho mail - when I recieve a new mail it puts back all emails read that day back to unread - I then have to go back through and open all emails I have already read! Gets very annoying... Any idea on the bug fix?
                                                                                                  • Been getting this error, every now and then "Get count limit exceeded, please try again after 3 mins"

                                                                                                    it is really annoying.
                                                                                                  • Constraints on Tasks

                                                                                                    We have a use case where we have certain fixed date tasks and need to schedule predecessor tasks around these. Predecessor tasks need to be completed with a lag before the fixed date. We should be able to schedule the start and end date for predecessor
                                                                                                  • Moving Project Dependencies Not Moving Precedessors

                                                                                                    Most of the time we want to base our start dates around an event that is in the middle of the project template. If I set a bar up at the date we want it, it doesn't move the predecessors up. Is there a way to change this? eg. there is no point starting
                                                                                                  • Can you set task due dates to be "x" days before the milestone?

                                                                                                    We have a milestone set as the date of our first event. All of the tasks need to happen in increments prior to the milestone event. Is there a way to configure this without having to set up each task due date? Thanks!
                                                                                                  • Default ticket template in helpcenter

                                                                                                    Hello, I have a web form and a ticket template created. How can I make that my default ticket template? If an user clicks New ticket or create a ticket, I want that template to be the default one. Thank you for the time and info.
                                                                                                  • Expanded data-capturing capabilities with enhanced tabular sections

                                                                                                    We are thrilled to announce an update to Zoho Recruit that brings even more flexibility and customization to your recruiting process. With the addition of 10 new field types to the tabular sections, you now have the power to enhance your tabular sections
                                                                                                  • Integration of Business Hours in Email Templates

                                                                                                    Dear Zoho Desk Team, We would like to propose a feature enhancement to Zoho Desk that would greatly improve the utility of the Business Hours settings and streamline communication with our clients. Feature Request: Integration of Business Hours in Email
                                                                                                  • Add Owner to deluge-created module record note

                                                                                                    Is it possible to include the "owner" aka "creator", of a Note when creating it via delulge? This sets "superadmin" as the Note creator. I need to override it. notemap = Map(); notemap.put("Parent_Id",program_contact_id); notemap.put("Note_Content",program_contact_data.get('Note'));
                                                                                                  • Blueprint - Field Validation Criteria (During)

                                                                                                    When setting validation criteria elsewhere in Zoho, or even workflow criteria etc., there are Is Empty and Isn't Empty options.  Within the Field Validation Criteria within Blueprint, those options aren't available.  Is there a particular reason for this? 
                                                                                                  • Delete Field that is used in a Zoho Flow connection

                                                                                                    I'm trying to delete a Field used in a Webhook created by Zoho Flow with CRM Connection and i get the following alert: When going to the alert i get to the following issue, can't edit it since its been deployed by a pluggin But yes i have here the prompted
                                                                                                  • Use image on img HTML tag

                                                                                                    Hi how could I do to use my image saved in Workdrive to use it in an HTML img tag ? I need to display it on my website without having to use iframes. Regards,
                                                                                                  • ZOHO Compain emails going to spam after authentication is successful

                                                                                                    Hello, I am frustrated right now. I have recently setup the zoho email compaign, The auto responder email went to receipient spam folder. then, I researched a lot and completed authentication (SPF, DKIM) in email deliverability, email relay in zoho crm.
                                                                                                  • Security Policies

                                                                                                    To protect against cyber threats and attacks, organizations need to set up security policies for their employees' accounts. Security policies are rules and regulations for every individual or group using the organization's assets and resources. Enabling
                                                                                                  • Zoho CRM functions editor is not in the programming language deluge

                                                                                                    I am trying to write a function for a button. I helped someone before in deluge and I'm using this new editor I'm not familiar with - I guess it is new. Why is the default code statically typed? The editor will not let me create a variable without a type.
                                                                                                  • "Age in Days" calculation in Advanced Analytics

                                                                                                    Hi Can someone advise how this is calculated? I am getting values on this report which I cannot understand. Thank you
                                                                                                  • Automatically set quotes to "lost" if deal is set to lost

                                                                                                    Hi, Is there a way to automate that if a deal (opportunity) is lost the related quotes are also set to lost? Thanks!
                                                                                                  • Subdomain

                                                                                                    How can i make subdomain in my zoho website
                                                                                                  • A/R Aging Details shows wrong aging days

                                                                                                    In the A/R Summary Report all of the invoices are in the right aging buckets. When I run the A/R Aging Details report I get aged dates of +300 days when they should be in the 0-90 day range.
                                                                                                  • Global Choice List share ownership

                                                                                                    I have created several forms that use one or more Global Choice Lists. These lists have been published to Org. I would like to allow one or more admins to edit the choices in these lists. Any help appreciated. Geoff
                                                                                                  • Domain Transfer

                                                                                                    I have a Godaddy domain, how i can transfer it to Zoha? and how i can move my website to Zoho server? With my best wishes.
                                                                                                  • Project Templates & Reminders

                                                                                                    I am getting projects all set up to work for our company and am running into a problem that I'm hoping is easily fixable. I have created a project template and within that project, there are reminders set on certain tasks. When I create a project from
                                                                                                  • Kaizen #126 - Circuits in Zoho CRM - Part 1

                                                                                                    Hello everyone! Welcome back to another week of Kaizen! Today, we will discuss an exciting topic—Circuits in Zoho CRM. For starters, we will discuss what Circuits are, how beneficial they are for businesses, different views of a Circuit, and the different
                                                                                                  • Create customized SLAs for your customer base with support plans

                                                                                                    Managing customer expectations, prioritizing critical issues, and resolving customer inquiries on time is quite a juggle. Without a clear timelines or defined priorities, a support team may struggle with delays in response, SLA violations, and pending
                                                                                                  • Zoho Flow or Schedules

                                                                                                    I have a process where we text our leads 7 times over a 14 day with different content for each text. I created one flow in Zoho Flow to do this, but wondering if there is a more efficient way to accomplish this via Schedules. It goes on for 6 more times
                                                                                                  • Free webinar: Zoho Sign 2024 wrap-up - Everything that is new and has changed

                                                                                                    Hello, Are you looking up to catch up on all the updates made to Zoho Sign in 2024? Or are you still figuring out how you can use Zoho Sign better to get business paperwork done more efficiently? If so, we invite you to join us this Thursday, December
                                                                                                  • How to Customize Task Creation to Send a Custom Alert Using JavaScript in Zoho CRM?

                                                                                                    Hello Zoho CRM Community, I’m looking to customize Zoho CRM to send a custom alert whenever a task is created. I understand that Zoho CRM supports client scripts using JavaScript, and I would like to leverage this feature to implement the alert functionality.
                                                                                                  • Workflow - Execute Based on Date

                                                                                                    Hello, I have trouble understanding the documentation for Execute Based on Date or Date Time Field's Value. I want to send an email every time I have a Case opened for more than three days with its status unchanged. I set : This rule will be executed 3 days after [date].  Condition : Status is [New]. Instant Action : Send an email notification. However, I'm not sure I follow this part of the documentation: "For all the records matching the rule criteria, rule will be triggered either monthly or yearly
                                                                                                  • Can we set a BCC address as default to show while sending emails?

                                                                                                    Two things inside ZohoCRM are annoying me because it's a repeated work. First one is that I always need to click manually to add the BCC field while sending an email to a lead. Can we set a default address so when I click to send a new email the BCC address
                                                                                                  • Make collecting payments from your customers in Bigin easier with payment links

                                                                                                    Greetings, Efficient payment collection is crucial for business success. Bigin already helps your businesses manage and sell products effectively, but we can further enhance this by making payment collection easier. This integrated payment feature lets
                                                                                                  • Inbox Preference - Saved replies based on message repsonse with specific word

                                                                                                    Hi There, Can one create a workflow where the Save Reply will be generic for all messages that contains a specific word, various channels,. The saved reply should contain a link for download etc. that is a response to the word entered in the message contained
                                                                                                  • Basic Price List Functionality Still Missing

                                                                                                    I am having a problem with the most simple imaginable pricing scenario - you buy cheap, add profit, then sell high. Or in less simplistic terms: business buys a product at a given cost, then adds predetermined percentage markup, and finally sells that
                                                                                                  • How do I hire employees????

                                                                                                    Hi! I own a bookkeeping company, where a few of my clients use Zoho Books as their accounting platform . I started utilizing Zoho Practice to work on the books of my Zoho clients, some have Zoho One and some have Zoho Books plans. I just hired an employee,
                                                                                                  • Automate data upload process like reports

                                                                                                    I'll start with the end in mind.  I want to basically keep certain creator tables updated with data that are in a sql database/tables in our office (employees, active jobs, employee positions) so I can reference that data and not have to duplicate it by hand every time someone adds a new job or employee in the office desktop software.  Here are some thoughts I had about how to do this, but am unsure as to whether any of them are actually possible and how to go about it from there: Is there any way
                                                                                                  • Greylisted, try again after some time

                                                                                                    Can you check my ip, i send to duyna@vietlinkjsc.vn but have an error; my ip is 112.213.94.12 Here is log: 2018-01-09 09:40:29 H=mx.zoho.com [204.141.32.121] SMTP error from remote mail server after RCPT TO:<duyna@vietlinkjsc.vn>: 451 4.7.1 Greylisted, try again after some time 2018-01-09 09:40:32 H=mx2.zoho.com [204.141.33.55] SMTP error from remote mail server after RCPT TO:<duyna@vietlinkjsc.vn>: 451 4.7.1 Greylisted, try again after some time 2018-01-09 09:40:32 duyna@vietlinkjsc.vn R=lookuphost
                                                                                                  • Emails linked to Deal

                                                                                                    Hello everyone, I’d like to ask a question to see if someone can help me out. We are requesting availability from suppliers by sending emails directly from the Opportunity. These emails we send are logged within the Opportunity; however, when we receive
                                                                                                  • How to transfer all my mails from Zoho to Gmail or Office 365

                                                                                                    is there any option to move my emails from zoho to gmail or office 365. i would like to export more than 25k emails from zoho to office 365 or gmail. can anyone help me to guide properly. this will help me to access my emails easily i have both account and can easily  do it with office 365 or gmail. i want two options. direct from zoho to office 365  or exported eml files from zoho to gmail. please suggest me both if possible 
                                                                                                  • Next Page