Kaizen#75 - Frequently Asked Questions on Client Script

Kaizen#75 - Frequently Asked Questions on Client Script

Welcome to another week of Kaizen! In this post, let us discuss some of the frequently asked questions in Client Script.

1. Where can you see the list of ZDKs supported by Client Script?

The Zoho Development Kit (ZDK) library comprises a rich set of Client and Web APIs that broaden the scope of Zoho Applications. You can utilize them to perform UI operations and trigger REST API calls. 
To view the documentation for ZDK, click the help icon in the Library under Information of the Client Script IDE.



2. Will the CRM API calls triggered from Client Script count into daily API limits?

Yes, every ZDK Web API in Client Script makes an  API call to Zoho CRM and  so every execution of a ZDK Web API affects the API limits.

3. What would be the correct way to set the value of a lookup field via Client Script?

You need to mention the id of the record along with the name when you try to set the value to a lookup field. 

Example:
Consider that there is a lookup field Category and the requirement is that it should be populated based on the Product selected by the user.
  • Battery, Thermostat, and Ignition Switch belong to the category of Electrical Switches.
  • Fuel level sensor, Light sensor, and Airbag sensor belong to the category of Sensors.
i.e. If the user selects the product "Battery", then the lookup field Category should get auto-populated as Electrical Switches.

Here is the code to accomplish this.


if (value.name == 'Airbag sensor' || value.name == 'Light sensor' || value.name == 'Fuel level sensor') {

//Populate value for lookup field Category based on the condition

ZDK.Page.getField('Category').setValue({ "id": "4967860000001049208", "name": "Sensors" });   

    }

else if (value.name == 'Ignition Switch' || value.name == 'Thermostat' || value.name == 'Battery') {

//Populate value for lookup field Category  based on the condition

ZDK.Page.getField('Category').setValue({ "id": "4967860000001049217", "name": "Electrical Switches" });

    }


Here is how the above script works.



4. How do I debug a Client Script in Zoho CRM?

You can use the log() statement to debug the script. The results of the execution of this log() statement will be displayed in the Messages panel of the Run option. Also, information about the execution status, logs, exception messages, and time taken for the execution are also displayed.

For example, consider the following script. It has two log statements. You can view the output of the log statements in the messages panel of Run option.


var user = ZDK.Apps.CRM.Users.fetchById($Crm.user.id);

var field_obj = ZDK.Page.getField('Phone_Number');

log(field_obj.getValue());

log("Profile name of the user is "+ user.profile.name);

if(user.profile.name != 'Administrator')
{

    field_obj.mask({ character: '*', length: 5, reverse: true });

}



Any CRM Operation performed inside the run mode will get reflected in your Zoho CRM account.

5. Does Client Script support languages other than Javascript?

No. Client Script in Zoho CRM supports only Javascript.

6. Will a Client Script run for all the layouts of the module?

No. Client Script will execute only for the layout specified while configuring the Client Script. If you want the script to run for other layouts or all the layouts of a module, you should create a separate Client Script for each layout. 

7. What is the use of the Terminal section in the Client Script IDE?

You can execute the ZDK APIs instantly in the Terminal section of the Client Script IDE. For example, when you type the below script in the Terminal section and hit enter, you can see the alert message on the screen.


ZDK.Client.showMessage('Welcome to Client Script IDE', { type: 'info' });




8. When should you use onChange Page Event and onChange Field Event?


Field Event - onChange
Page Event - onChange
If you want the script to run only when the specific field is updated, you can use the Field onChange Event.

If you want the script to run whenever any of the fields on that page is updated, you can use the Page onChange Event. 


When you have to write a script for more than one field on the same page, you can use if and switch..case statements.


9. Using Client Script, how do I prevent the record from being saved when the value for a specific field entered is invalid?

To prevent a record from getting saved, you should follow the following steps:
  • You need to use the onSave event type since you want to prevent the record from getting saved.
  • Add "return false;"  statement.
  • Always display the error/alert/message, so that the user will know the why the record is not getting saved.
Example:
Consider that the field quantity should not have a value of less than 100. To accomplish this, you need to create a Client Script with the onSave event type, show an error message, and add a return false statement if the record should not get saved for that particular condition.



//Get the value of the field Quantity of Products 

var qty_field = ZDK.Page.getField("Quantity_of_products");

log(qty_field);

//Invoke the static method by passing the value of Quantity of Products

if(qty_field.getValue() < 100)
{
    qty_field.showError('The minimum value should be 100'); // or

   //  ZDK.Client.showMessage('The minimum value should be 100', { type: 'error' });//or

    //ZDK.Client.showAlert('The minimum value should be 100');//or

    return false;
}


Here is how the above script works.



10. What are all the places where the Client Script can run?
Currently, Client Script can be executed in the following pages of Zoho CRM.
  • Create Page
  • Edit Page
  • Clone Page
  • Detail Page (Canvas)
  • Create Page (Wizard)
  • Edit Page (Wizard)
11. Can Client Script run in Quick Create page?

No, currently Client Script in Zoho CRM cannot be executed in Quick Create Page.

12. Does Client Script support the Detail Page (Standard)? 

Currently, there is no support for the Detail Page (Standard) but it is in our roadmap.
Once this goes live, you will also be able to hide fields.



    • Sticky Posts

    • Kaizen #197: Frequently Asked Questions on GraphQL APIs

      🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Kaizen #198: Using Client Script for Custom Validation in Blueprint

      Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Celebrating 200 posts of Kaizen! Share your ideas for the milestone post

      Hello Developers, We launched the Kaizen series in 2019 to share helpful content to support your Zoho CRM development journey. Staying true to its spirit—Kaizen Series: Continuous Improvement for Developer Experience—we've shared everything from FAQs
    • Kaizen #193: Creating different fields in Zoho CRM through API

      🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Client Script | Update - Introducing Commands in Client Script!

      Have you ever wished you could trigger Client Script from contexts other than just the supported pages and events? Have you ever wanted to leverage the advantage of Client Script at your finger tip? Discover the power of Client Script - Commands! Commands
    • Recent Topics

    • Export PDF File Name

      Is it possible to change the default Zoho .pdf naming scheme for inventory items like quotations? Would like to use the the Subject as the default quote name. Is this possible?
    • How to change the from address from 'no reply' for an email template in CRM

      Hi, We have our CRM set up with the from field as sales@XXX. I have just created a series of email templates and sent a test and they are sending from noreply@zoho I have tried searching for how to change the email template but don't have the options
    • Zoho CRM Client Script - SetCriteria in lookup Field

      Hello All One More Zoho CRM Client Script Tips & Trick. Now you can Set the Criteria on Your lookup in zoho CRM, It Comes With a Create Page, Edit Page, and Details Page (Standard). Example:- We have a Room Module that includes Room Name, Status, Campus,
    • Kaizen #71 - Client Script ZDKs for Detail (Canvas) Page

      Hello everyone! Welcome back to another interesting Kaizen post. In this post, we can discuss Client Script ZDKs support for Detail (Canvas) Page. What is Detail (Canvas) Page? A Detail(Canvas) Page allows you to customize the record detail page to your
    • how to use validation rules in subform

      Is it possible to use validation rules for subforms? I tried the following code: entityMap = crmAPIRequest.toMap().get("record"); sum = 0; direct_billing = entityMap.get("direct_billing_details"); response = Map(); for each i in direct_billing { if(i.get("type")
    • Add Custom Reports To Dashboard or Home Tab

      Hi there, I think it would be great to be able to add our custom reports to the Home Tab or Dashboards. Thanks! Chad
    • Rich-text fields in Zoho CRM

      Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
    • Create Lead Button in Zoho CRM Dashboard

      Right now to create Leads in the CRM our team is going into the Lead module, selecting the "Create Lead" button, then building out the lead. Is there anyway to add the "Create Lead" button or some sort of short cut to the Zoho CRM Dashboard to cut out
    • Zoho Reports Duplicating Entries

      I have a custom costing tab with a table where we entre invoices. These are under a Heading (PO Subject) and notes added in the form with different line items. In the reports, I have organised the report to group per PO Subject, with the total of the
    • Validation Rule Not Working for Mandatory Field in Zoho Blueprint

      As a Zoho user, we created a validation rule for a specific field. However, we noticed that when we made the same field mandatory within a Blueprint, the validation rule we defined did not work. When we reported this issue to Zoho Support, they stated
    • Notes Issues

      Been having issues with Notes in the CRM. Yesterday it wasn't showing the notes, but it got resolved after a few minutes., Now I have been having a hard time saving notes the whole day. Notes can't be saved by the save button. it's grayed out or not grayed
    • Export from Contacts module to Products module in Zoho CRM

      Good afternoon, I would like to send a number of contact info from the Contacts module into the customized module (tickets to an event) in one operation. I have selected several contacts in the Contact module (people who I have labelled as people I want
    • Zoho Commerce

      Hi, I have zoho one and use Zoho Books. I am very interested in Zoho Commerce , especially with how all is integrated but have a question. I do not want my store to show prices for customers that are not log in. Is there a way to hide the prices if not
    • Can’t receive emailI c

      I have generated a basic for but when I submit it I don’t get a email, I’ve been in the settings and tested me email, all appears correct, can you please help me
    • Data Capture for Historical Activity (Especially One Lead Downloading Variois reports without Overwriting the info)

      Is there a better way in Zoho CRM to capture and archive a lead’s historical activity—specifically whenever they download reports—so that the data is stored without being overwritten?”
    • Client Script - Updating Field Value in Detail Page of a Lead

      Hello, I'm trying to use Client Script To enrich some data of the Lead when one of my User fill the "City" field in the detail page of the Lead. This is my Script: log (value); var response = ZDK.Apps.CRM.Functions.execute("getInfoCitta", { "nomeCitta":
    • I Can't Clone Webinar that I Co-Organize

      How do i get our account admin to give me permission to clone our webinars? I am a co-organizer
    • I want to Make the due date of the project appears automatically

      hello everyone I want to know if the zoho projects app can add automatically the END DATE of the project I added the duration, start after dates of each tasks in the project template & the starting date of the project itself and the end date of it doesn't
    • Introducing Profile Summary: Faster Candidate Insights with Zia

      We’re excited to launch Profile Summary, a powerful new feature in Zoho Recruit that transforms how you review candidate profiles. What used to take minutes of resume scanning can now be assessed in seconds—thanks to Zia. A Quick Example Say you’re hiring
    • How to get the call recording external ID via desk API

      I have enabled phonbridge integration with Zoom Call. I am trying to access the call recording in Zoom by calling Zoom API. I have built a Desk workflow to trigger on a new call, to call a custom function. when calling the API, the response doesn't contain
    • How do you print a refund check to customer?

      Maybe this is a dumb question, but how does anyone print a refund check to a customer? We cant find anywhere to either just print a check and pick a customer, or where to do so from a credit note.
    • Notebook

      I have purchased the monthly pro subscription of Notebook. But it does not support my XP-Pen to write something in it. So it is not useful to me. Hence I am requesting you to help me to discontinue this subscription.
    • Domain Mapping & Image Publishing Issues on Zoho Sites

      Hello, I am facing two issues with my Zoho Sites account: 1. Images not visible after publishing. 2. Domain mapping error: "Domain already exists". I am a paid customer. Please connect me with Live Chat Support or Zoho Assist so I can show my issue
    • Prevent duplicate with custom fields?

      I was wondering something about custom field/custom modules in Zoho Desk. For some reason you can make a custom field mandatory but not unique? For example, if I create a custom module to manage equipment and renewal and make a field serial number no
    • Round robin

      Hi, I'm trying to set up a round robin to automatically distribute tickets between agents in my team but only those tickets that are not otherwise distributed by other workflows or direct assignments. Is that possible and if so which criteria should I
    • "Is Zoho CRM customer" vs "Is linked with Zoho CRM"

      Recently while building a Flow, I was setting up a Decision action following a Zoho Invoice Fetch record action. There were 2 choices that I had not seen as something I could manually action in Zoho Invoice: "Is Zoho CRM customer" and "Is linked with
    • Two currencies

      More and more I am finding that internattional payments' fees are unpredictable. I would like, on my invoices that are in a foreign currency (eg. USD$ or EUR€) for there to be a GBP£ TOTAL display alongside the invoice's currency total. This would make
    • Automatic Matching from Bank Statements / Feeds

      Is it possible to have transactions from a feed or bank statement automatically match when certain criteria are met? My use case, which is pretty broadly applicable, is e-commerce transactions for merchant services accounts (clearing accounts). In these
    • Generate leads from instagram

      hello i have question. If connect instagram using zoho social, it is possible to get lead from instagram? example if someone send me direct message or comment on my post and then they generate to lead
    • Zoho PDF editor has a lot of issues.

      Zoho PDF editor needs a lot of work. It hangs and glitches a lot. Deletes annotations and clearings randomly.
    • Where is the desktop app for Zoho Projects???

      As a project manager, I need a desktop app for the projects I manage. Yes, there's the web app, which is AWESOME for cross browser and platform compatibility... but I need a real desktop app for Projects that allow me to enter offline information where
    • How to Automate Monthly PDF Reports with Filters in Zoho Creator

      Hi everyone, I’m trying to build an automated monthly reporting process in Zoho Creator and would appreciate suggestions or best practices from anyone who has done something similar. What I’m trying to do: I have a form called New_Customer with fields
    • Feedback: Streamlining Note Management in Zoho Notebook

      Dear Team/Support, I would like to share some feedback regarding the note management system that could help improve usability and accessibility for users like myself. Notebook 1 (screenshot attached): Currently, the system does not allow selecting and
    • showing Limit exceeded

      Good afternoon...trust you're good. I've been having issues working with but it's not responding. it's showing Limit exceeded, sorry it seems like too many people are working on the sheet right now please try again later. meanwhile no one is working on
    • Converting Sales Order to Invoice via API; Problem with decimal places tax

      We are having problems converting a Sales Order to an Invoice via API Call. The cause of the issue is, that the Tax value in a Sales Order is sometimes calculated with up to 16 decimal places (e.g. 0.8730000000000001). The max decimal places allowed in
    • Sorting columns in Zoho Projects

      Hi, In project management best practice, sorting columns (ascending, descending) is an important tool. Sorting dates to see the order of tasks starting, sorting on priority or even on planned hours is a must for an efficient project control. Currently,
    • Business Continuity - Disaster Recovery

      I know about the Zoho CRM backup .zip files, however, this doesn't include any of the infrastructure with like custom fields or custom modules. I am curious on what everyone has in place for a true backup or what your plan is if your Zoho instance were
    • CRM : Function to add user name to text field

      I have a lookup field in a module that is linked to the CRM users so we can assign a Project Lead to the customer. Sadly Zoho Marketing Automation doesn't sync Lookup fields so I need to extract information from the lookup to text fields: Lookup field
    • Upload API

      I'm trying to use the Upload API to upload some images and attach them to comments (https://desk.zoho.com/DeskAPIDocument#Uploads#Uploads_Uploadfile) - however I can only ever get a 401 or bad request back. I'm using an OAuth token with the Desk.tickets.ALL
    • Losing description after merging tickets

      Hello, We merge tickets when they are about the same topic from the same client. It happens sometimes. We recently noticed that after the merger only the description from the master ticket is left in a thread. And the slave-ticket description is erased.
    • Next Page