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.
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 shown. Click 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!
Recent Topics
How to remove duplicate contacts
Custom Field for Subscription
Hi, I can't find a way to add a custom field (to contain a license key generated from our software) against a subscription? Is the only place to add this information in the Invoice module (as custom field for invoice)? When a customer views his subscription via the customer portal, there appears no way to display a license key for them? The invoice is not the natural place to store a license key for a particular subscription, so where else can this be stored and displayed?
Custom View and Custom Fields on Zoho Books
Hi, I have some custom fields on Estimates and Invoices. I also use Custom Views so I can have a lot of information at a glance. I want to include my custom fields as columns in my custom views of estimates / invoice, but it looks like is not possible.
Dropdown data depends on filters in another field.
In my quote form I have a lookup field called Reseller that pulls from Accounts. I would like it to pull from Accounts, but only those accounts with an account field 'Type' where that is 'Reseller'. Does anyone know a way to do this? Similarly, I'd like
Is it possible to adjust the web browser tab title (when a ZoHo Desk ticket is opened)
Hi All, When I open a ZoHo Desk ticket in a web browser, the tab title (text that appears at the top of the browser tab) uses the logic: *company icon picture* (xxxx) #ticket number - company name See below (highlighted in red) for reference. Company
Collections Management: #7 Common Mistakes during Payment Collection
Payment collection may appear straightforward in most cases. Still, as your customer base expands and transaction volume increases, it becomes clear that even small inefficiencies can lead to delayed payments, increased support load, or even revenue loss.
Rename Record Summary PDF in SendMail task
So I've been tasked with renaming a record summary PDF to be sent as part of a sendmail task. Normally I would offer the manual solution, a user exports the PDF and uploads it to a file upload field, however this is not acceptable to the client in this
Recruit API search
Hi all, Attempting to call the search api endpoint from Postman using the word element as mentioned in api docs Search Records - APIs | Online Help - Zoho Recruit When making the call to /v2/Candidates/search?word=Saudi receive response of { "code": "MANDATORY_NOT_FOUND",
Text/SMS With Zoho Desk
Hi Guys- Considering using SMS to get faster responses from customers that we are helping. Have a bunch of questions; 1) Which provider is better ClickaTell or Screen Magic. Screen Magic seems easier to setup, but appears to be 2x as expensive for United States. I cannot find the sender id for Clickatell to even complete the configuration. 2) Can customer's reply to text messages? If so are responses linked back to the zoho ticket? If not, how are you handling this, a simple "DO NOT REPLY" as
Custom Field in Zoho Projects pulling into Analytics
We have a client that we have built our their new business process using Zoho Projects, and we have build a lot of custom fields with their their Projects where they are capturing specific data points that we want to be able to track and pull data, as
Marketer's Space - Holiday season email marketing tips you should know
Hello Marketers! Welcome back to another post in Marketer's Space! 'Tis the season—that time of the year everyone eagerly anticipates. While most look forward to relaxing, marketers will be super-busy from late November to early January. Mistakes can
Zia Competitor Alerts made easy with Zia's suggestions
Hi everyone, In addition to the existing manually added competitors, Zia will now find your competitors for you - instantly. Earlier, you had to identify competitors through research manually, support tickets, or tradeshows—a time-consuming process that
Add Custom Field Inside Parts Section
How to Add Custom Field Inside Parts Section in Workorder like Category and Sub- Category
Zoho CRM Community Digest October 2025 | Part 2
Hello Everyone! From new mobile capabilities and smarter integrations to real-world workflow fixes and developer insights, all the highlights from the second half of October is covered right here. Let’s dive in. Product Updates: Zoho CRM Mobile Updates:
Understanding Zoho Contracts
Effective contract management relies on systems that are structured, organized, and reliable. Every feature, workflow, rule, and restriction in Zoho Contracts are designed the way they are to ensure consistency, compliance, and control across every stage
Tip of the Week #76– Automate your inbox during vacation in Zoho TeamInbox
When you're on vacation or away from your desk, the last thing you want is for important emails to be missed or left unanswered. The good news is, you can easily set up rules in Zoho TeamInbox to assign incoming messages automatically to a teammate who's
Domain restriction for User Management actions in Zoho One
Greetings, Zoho One Admins! To strengthen account security further and safeguard user management settings, we are imposing domain-based restrictions for user account-focused admin actions in Zoho One. In addition to password reset of user, organization
Zoho Mail iOS app update: Signature
Hello everyone! In the latest version(3.1.7) of the Zoho Mail app update, we have brought in support to create, edit and remove signature within the app. You can create signature from the compose screen as well as from within the Settings module(inside
Copy paste from word document deletes random spaces
Hello Dear Zoho Team, When copying from a word document into Notebook, often I face a problem of the program deleting random spaces between words, the document become terribly faulty, eventhough it is perfect in its original source document (and without
Desktop app doesn't support notecards created on Android
Hi, Does anybody have same problem? Some of last notecards created on Android app (v. 6.6) doesn't show in desktop app (v. 3.5.5). I see these note cards but whith they appear with exclamation mark in yellow triangle (see screenshot) and when I try to
Approval Button in Subform
Hi Team, I’m working on a subform-based requirement where users will submit requests, and these requests must go through approval by multiple team managers. Each line item in the subform needs to be individually approved or declined based on the user's
Setting checkbox value on template in Sign from Creator
Good day, Please help me understand how do I set a tick from a checkbox in Creator into a checkbox on a Sign template. Below is the only values on the Sign template and the code from Creator, "field_boolean_data": {}, "field_date_data": {}, "field_radio_data":
Zoho Projects - Unread Comment Icon
Hi Projects Team, It would be great if there was a notification I con on the comments icon so it's easy to see which tasks have new comments. Something like a red circle with a number of unread comments would be great. Thanks for considering my feed
Zoho Projects - Update Feed via API
Hi Projects Team, Please consider adding an API to allow update and retrieval of messages to the Feed. Thank you
Automated log-out/session end
I'm concerned about security of our data. Is it possible to set an automatic time-out for user sessions on Zoho CRM, after a certain period of inactivity or when the session reaches a certain duration (12 hours perhaps)?
Subform auto populate values
Hi Team, I’m trying to retrieve values from Zoho People using API functions and dynamically populate them into a subform. For example, I’ve created a form with several fields that users will fill out. Based on their input, I need to fetch records from
What is New in CRM Functions?
What is New in CRM Functions? Hello everyone! We're delighted to share that Functions in Zoho CRM have had a few upgrades that would happen in phases. Phase 1 An all new built-in editor for better user experience and ease of use. ETA: In a couple of days.
Gantt Chart - Zoho Analytics
Are there any plans to add Gantt Charts capabilities to Zoho Analytics?
WhatsApp Calling Integration via Zoho Desk
Dear Zoho Desk Team, I would like to request a feature that allows users to call WhatsApp numbers directly via Zoho Desk. This integration would enable sending and receiving calls to and from WhatsApp numbers over the internet, without the need for traditional
Identify long running sync jobs/tables
My sync process causes strain on my production database and I'd love some tools/alerts to help me identify which tables are taking the longest. The current screen only shows 3 tables at a time and truncates the last fetch time so that it is very cumbersome
Temporarily rate limited due to IP reputation.
We have suddenly started receiving the following Mail Delivery Status Notification: Diagnostic-Code: 4.7.650 The mail server [136.143.184.12] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://aka.ms/postmaster
Automatically CC an address using Zoho CRM Email Templates
Hi all - have searched but can't see a definitive answer. We have built multiple email templates in CRM. Every time we send this we want it to CC a particular address (the same address for every email sent) so that it populates the reply back into our
Solution to Import PST File into Office 365.
MailsDaddy OST to Office 365 Migration Tool is an outstanding solution to recover OST files and migrate them into Office 365 without any hassle. Using this software users can multiple OST files into Office 365 with complete data security. It offers users
Best-practice setup in Zoho One for managing combined candidate pools and exporting anonymised CVs
We are new users of the Zoho One bundle and operate a consulting and engineering company. Our workforce model includes a mix of permanent employees, active job applicants, and freelance/independent consultants. All three groups need to be searchable,
Associate emails from both primary and secondary contacts to deal
We need to associate emails from multiple contacts to a deal. Please advise how this can be achieved. At present, only emails from primary contacts can be associated. Thanks
New integration: Zoho Sign for Zoho Projects
Hey there! We’re excited to announce the brand-new Zoho Sign integration for Zoho Projects! With this integration, users can now send documents for signatures, track their progress, and manage approvals—all without leaving Zoho Projects. This bridges
Update to attachment display in ticket threads
This enhancement will provide faster access for support teams and end-users, significantly boosting productivity for everyone. Get ready for a more efficient and satisfying experience! Immediate benefits Faster ticket rendering reduces wait times and
Narrative 15: Blueprint - Automate, guide, and transform your support processes
Behind the scenes of a successful ticketing system: BTS Series Narrative 15: Blueprint - Automate, guide, and transform your support processes Even organizations that deliver quality products and services can face low customer satisfaction when their
Different MRP / Pricing for same product but different batches
We often face the following situations where MRP of a particular product changes on every purchase and hence we have to charge the customer accordingly. This can't be solved by Batch tracking as of now so far as I understand Zoho. How do you manage it as of now?
Batch/lot # and Storage bin location
Hi I want to ask for a feature on Zoho inventory I own a warehouse and I've gone through different management software solutions with no luck until I found Zoho, it has been a game changer for my business with up to the minute information, I'm extremely happy with it. It's almost perfect. And I say Almost because the only thing missing for me (and I'm sure I'm not alone) is the need of being able to identify the lot number of my inventory and where it is located in the warehouse. Due to the nature
Next Page