Kaizen# 209 - Answering Your Questions | All About Client Script

Kaizen# 209 - Answering Your Questions | All About Client Script


Hello everyone!

 

Welcome back to another exciting Kaizen post! Thanks for all your feedback and questions. In this post, let's see the answers to your questions related to Client Script.

We took the time to discuss with our development team, carefully reviewing all aspects, so we could bring you accurate and complete information firsthand.

Q1: Repeating the same validation code across Create, Edit, List, and Detail views reduces maintainability


Currently, this requirement is under analysis. For now, we suggest you use Static Resources to reduce duplication and improve maintainability.


Q2: A unified screen for writing client-side validation logic would improve efficiency, especially if it supports both validation and CRM data fetching


We are planning to provide a Client Script IDE with a tree structure listing all scripts. This will allow you to access a page’s complete script in a single view without exiting each time. This is part of future enhancements and as of now there is no ETA for this.



Q3: Client Scripts currently do not support access to third-party APIs

API calls can be made using HTTP requests or Connections.
Check out Kaizen#135: Third Party Integration using Client Script to see the implementation and a practical use case.
Also, our new ZRC support, now in early access, provides direct API calls for enhanced control and flexibility.



Q4: Need for deeper UI control in Client Scripts (like modifying metadata CSS and HTML)

Direct modification of CRM page CSS/HTML via Client Script is not possible. With a SlyteUI component, you can fully customize the CSS and HTML to fit your needs. SlyteUI is currently available in pilot access. Canvas offers limited styling options.



Q5: Canvas actions cannot trigger Blueprint transitions, limiting process automation

Blueprint transitions can now be initiated from Canvas pages. Click here for documentation.



Q6: Lack of functions to retrieve a field’s data type (text, boolean, datetime) limits dynamic handling
This feature is planned for future enhancements.



Q7: The onSave event is missing in Detail Page processing
While the Save action is not available on Detail pages, the onBeforeUpdate() field event can be used to enforce validations post-edit.

 

Q8: onChange does not work on multi-picklists and subforms

The development of onChange support for multi-select picklists  is completed and will get released very soon (in a week). The onCellChange() method is currently available for subforms.


Q9: Currently, there is no way to control or restrict access to the "Record detail page views" dropdown selector in Canvas detail pages based on user profiles or roles.

We are working on addressing this limitation and will keep you updated once the enhancement is available.

 


 

Q10: Why Zoho CRM provides too many ways for client validation? One is through Layout Validation->Setup, Layout Validation-Function, Client Script (ZDK). What is the major difference?

Feature

How It Works

Best For

Validation Rules
(no code)

Define conditions in the setup UI without coding. These checks run when you try to save a record. If conditions fail, the save is blocked and an error message is shownClick here for more details.

Quick, straightforward validations like “Email must contain @domain.com” or “Amount cannot be negative,” especially for admins with no coding knowledge.

Layout rules
(no code)

Define layout rules that adjust the form UI in real-time based on field values. This includes showing/hiding sections, enabling/disabling fields, or making them mandatory. Click here for more details.

Use when the form sections needs to adapt dynamically to the context for pages other than Canvas (e.g., “If Customer Type = Business → Show GST details section”).

Functions (Deluge)

In Functions, you can write a Deluge script that executes server-side. Functions are usually triggered by workflows, buttons, schedules or record actions and can update fields, create related records, call external APIs and so on. Click here for more details.

Ideal for automating complex business logic and integrating with Zoho services or third-party applications.

Client Scripts (ZDK + JavaScript)

Use Zoho Developer Kit (ZDK) APIs with JavaScript to run logic directly in the browser. Triggers include On Load, On Field Change, On Save. You can block record save, fetch CRM/external data instantly, show dynamic messages, or modify field behavior and much more. Click here for more details.

Perfect for advanced, real-time validations and dynamic UI.
Example: Prefill address fields from an API, validate PAN instantly, or disable Save if multiple conditions fail.


In this Kaizen post, we have answered all your questions about Client Script, shared solutions along with relevant help doc links, and highlighted upcoming features and enhancements.  We hope this answers your queries and provides clarity on Client Script usage.

 

Happy Client Scripting!

Idea
Previous Post: Kaizen #208 - Answering your Questions | Functions, AI and Extensions - Advanced Queries using COQL API | Kaizen Directory: Home




    Nederlandse Hulpbronnen


      • Recent Topics

      • URL validation

        We use an internal intranet site which has a short DNS name which Zoho CRM will not accept.   When attempting to update the field it says "Please enter a valid URL". The URL I am trying to set is http://intranet/pm/ Our intranet is not currently setup with a full DNS name and given the amount of links using the shortname probably isn't a feasible change for us.
      • Has anyone been experiencing slow issues?

        Dear all, I just want to ask if anyone has been experiencing slow issues with Zoho Creator in the past two weeks? I worked with the ISP to improve network quality by changing routes and upgrading bandwidth, but nothing changed. I am in Vietnam.
      • Zoho Projects Roadshows 2025 - USA

        Dear Users, After an amazing response to our roadshows in 2024, we are excited to be back for the second year in a row! Join our team of experts as they walk you through the most-used features in Zoho Projects, explore powerful automation capabilities,
      • Billing Management: #6 Usage Billing in SaaS

        Imagine a customer shuffling across multiple subscriptions, a streaming service, a music app, cloud storage, and a design tool. Each one charges a flat monthly fee, regardless of how much or how little they use. Some months, the customer barely opens
      • Is there anyone who has been experiencing issues regarding the Zoho Creator Certification Website in the past 2 weeks?

        Dear all , I just wanted to ask is there anyone who was planning on taking the Zoho Creator Developer Certification Test in the past 2 weeks and have been facing errors stating that the website is under maintennance and also not allowed to access the
      • Directly Edit, Filter, and Sort Subforms on the Details Page

        Hello everyone, As you know, subforms allow you to associate multiple line items with a single record, greatly enhancing your data organization. For example, a sales order subform neatly lists all products, their quantities, amounts, and other relevant
      • GST Slabs Redefined: Stay Compliant Using Zoho Books!

        Hello Everyone! The Government of India is rolling out new GST rates, a major reform aimed at simplifying the current tax structure starting 22 September 2025. GST will move from four slabs (5%, 12%, 18%, 28%) to two main slabs (5% and 18%), plus a special
      • Allow syncing Activities from other applications

        Marketing Automation could be a much more powerful platform if you were able to sync activities into the platform (e.g. purchase, donation, etc) outside of a user doing something on your website. I'd love it if you could sync Custom CRM Modules as activities,
      • Create static subforms in Zoho CRM: streamline data entry with pre-defined values

        Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
      • Global Sets for Multi-Select pick lists

        When is this feature coming to Zoho CRM? It would be very useful now we have got used to having it for the normal pick lists.
      • 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
      • Integración Books para cumplir la ley Crea y Crece y Ley Antifraude (VeriFactu)

        Hola: En principio, en julio de 2025, entra en vigor la ley Crea y Crece y Ley Antifraude (VeriFactu). ¿Sabéis si Zoho va a cumplir con la ley para cumplir con la facturación electrónica conectada a Hacienda? Gracias
      • Ask the Experts #1

        Hello everyone! It’s time to transform how you manage projects. Define the processes. Automate the tasks. Streamline the workflows. Let us dive into automation in Zoho Projects — from configuring workflows and custom functions to building triggers, using
      • Option to Customize Career Site URL Without “/jobs/Careers”

        Dear Zoho Recruit Team, I hope you are doing well. We would like to request an enhancement to the Career Site URL structure in Zoho Recruit. In the old version of the career site, our URL was simply: 👉 https://jobs.domain.com However, after moving to
      • How to overcome Zoho Deluge's time limit?

        I have built a function according to the following scheme: pages = {1,2,3,4,5,6,7,8,9,10}; for each page in pages { entriesPerPage = zoho.crm.getRecords("Accounts",page,200); for each entry in entriesPerPage { … } } Unfortunately, we have too many entries
      • Zoho Sheet - Printing - Page Breaks and Printing Customization

        I think the title is descriptive enough in that I cannot find help documentation on a simple task of adding in page brakes for separating pages on print. Thanks
      • Checking if Creator has Change History

        Like zForms - whenever an entry was updated there's an option to attached change history to email notif. Trigger -> Successful form submission
      • Zoho sites header

        Good day, Im stuck with this situation. I choose a template for my website creation. I have tweaked every instance of the visual editor, regarding the header, I have created created customize fonts presets... I have followed every single step. and my
      • Your bot just got smarter: AI-Powered routing that reads between the lines

        What if your bot could tell the difference? Between a visitor who just needs a quick answer, someone actively comparing options, and a frustrated customer one click away from leaving? Most bots can't. They deliver the same response to everyone, missing
      • 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
      • Unable to create embed code for resource of workdrive using API

        Hello Team, I am trying to create embed code for a resource using workdrive api in powershell, however facing some issues with injecting data in body. Followed Doc: https://workdrive.zoho.com/apidocs/v1/filefoldersharing/shareeveryone Please help, below
      • 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")
      • Adding contact role to a specific deal js sdk malfunctioning

        i was trying to add the contact role to a specific deal contact but repeatedly i am getting this error: { "code": "SUCCESS", "details": { "statusMessage": { "code": "INVALID_DATA", "details": { "expected_data_type": "jsonobject" }, "message": "body",
      • Q3 Updates from Bigin!

        Hey Biginners, Hope you’re doing great! As we approach the end of 2025, we truly hope Bigin has been a part of helping you build your dream business this year! We've been busy working behind the scenes to bring you features that make running your business
      • New Series Announcement - Ecommerce Marketing Tips

        Running an online business is more than just having a website. It’s about getting the right customers to discover you, trust you, and keep coming back. To support your growth journey, we’re launching a weekly Marketing Tips series right here on Zoho Commerce
      • Client Script | Update - Introducing Subform Events and Actions

        Are you making the most of your subforms in Zoho CRM? Do you wish you could automate subform interactions and enhance user experience effortlessly? What if you had Client APIs and events specifically designed for subforms? We are thrilled to introduce
      • {"errors":[{"id":"500","title":"Servlet execution threw an exception"}]}

        Here's the call to move a file to trash. The resource_id is accurate and the file is present. header = Map(); header.put("Accept","application/vnd.api+json"); data = Map(); data_param1 = Map(); att_param1 = Map(); att_param1.put("status",51); data_param1.put("attributes",att_param1);
      • 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
      • Zoho Canvas - Custom templates for related lists

        Hi, I see that the example pages load always one of our related lists in a custom template, but I dont know how to work with that:  1) How can i make my own custom templates for related lists?  2) Where and how can i check out existing custom templates?
      • Kaizen #147 - Frequently Asked Questions on Zoho CRM Widgets

        Heya! It's Kaizen time again, folks! This week, we aim to address common queries about Zoho CRM Widgets through frequently asked questions from our developer forum. Take a quick glance at these FAQs and learn from your peers' inquiries. 1. Where can I
      • open word file in zoho writer desktop version

        "How can I open a Microsoft Word (.doc or .docx) file in Zoho Writer if I only have the file saved on my computer and Zoho Writer doesn't appear as an option when I try 'Open with'? Is there a way to directly open the .doc file in Zoho Writer?"
      • How to invite friends on other social media platforms to one of my group chats in arattai?

        Hello, I have formed chat groups in arattai. I want to invite my friends on other social media platforms like WhatsApp/ FB to one of my groups. Different friends would be invited to different groups. How to share an invite link of one of my groups to
      • 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.
      • Zohom mail

        Plz resolve the problem . I hope u understand .
      • Zoho Sheet for Desktop

        Does Zoho plans to develop a Desktop version of Sheet that installs on the computer like was done with Writer?
      • Workdrive on Android - Gallery Photo Backups

        Hello, Is there any way of backing up the photos on my android phone directly to a specific folder on Workdrive? Assuming i have the workdrive app installed on the phone in question. Emma
      • Market cap

        Market cap formula?? Kaise nikale
      • Clients not receiving emails

        I've been informed that my emails are not being received. Is there anything that I should look into to rectify this? Many thanks!
      • stock

        bom/bse : stock details or price =STOCK(C14;"price") not showing issue is #N/A! kindly resolve this problem
      • Zoho sheet desktop version

        Hi Zoho team Where can I access desktop version of zoho sheets? It is important as web version is slow and requires one to be online all the time to do even basic work. If it is available, please guide me to the same.
      • Next Page