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
Really want the field "Company" in the activities module!
Hi team! Something we are really missing is able to see the field Company when working in the activities module. We have a lot of tasks and need to see what company it's related to. It's really annoying to not be able to see it.🙈 Thx!
Cliq iOS can't see shared screen
Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
Service op locatie organiseren met Zoho FSM: waar lopen organisaties tegenaan?
Bij organisaties met service teams op locatie merken we vaak dat de complexiteit niet zozeer in de planning zelf zit, maar in wat er rond die planning gebeurt. Denk aan opvolging na interventies, consistente servicerapporten, en het bijhouden van installaties
Workflow Down/Bug
We have a workflow that sends an email to one of our internal departments 10 minutes after a record is created in a custom module. The workflow actually works correctly. However, we have now noticed that on January 8, between 3:55 p.m. and 4:33 p.m.,
Introducing Assemblies and Kits in Zoho Inventory
Hello customers, We’re excited to share a major revamp to Zoho Inventory that brings both clarity and flexibility to your inventory management experience! Presenting Assemblies and Kits We’re thrilled to introduce Assemblies and Kits, which replaces the
Automate pushing Zoho CRM backups into Zoho WorkDrive
Through our Zoho One subscription we have both Zoho CRM and Zoho WorkDrive. We have regular backups setup in Zoho CRM. Once the backup is created, we are notified. Since we want to keep these backups for more than 7 days, we manually download them. They
Does the ability exist to make tax on the customer profile mandatory?
I am reaching out to inquire about the possibility of making the "Customer Tax" field mandatory when creating a new customer in Zoho. We want to ensure that all customers have their tax information recorded to maintain compliance with our internal processes.
CRM gets location smart with the all new Map View: visualize records, locate records within any radius, and more
Hello all, We've introduced a new way to work with location data in Zoho CRM: the Map View. Instead of scrolling through endless lists, your records now appear as pins on a map. Built on top of the all-new address field and powered by Mappls (MapMyIndia),
How to apply customized Zoho Crm Home Page to all users?
I have tried to study manuals and play with Zoho CRM but haven't found a way how to apply customized Zoho CRM Home Page as a (default) home page for other CRM users.. How that can be done, if possible? - kipi Moderation Update: Currently, each user has
Send Whatsapp with API including custom placeholders
Is is possible to initiate a session on whatsapp IM channel with a template that includes params (placeholders) that are passed on the API call? This is very usefull to send a Utility message for a transactional notification including an order number
IMAP mail after specify date
Hi My customer's mail server is on premise and mail storage is very huge. So It never finish sync. and finally stop sync. Cloud CRM have a option like zoho mail sync mail after some date.
email association with CRM
Why is it 2024 (almost 2025) and Zoho has not figured out how to integrate email with CRM? It is so inconsistent at associating emails within CRM. I am an attorney. I have clients and work with other attorneys. Attorney John Doe is associated with multiple
Fix the speed
It takes ages to load on every step even though my dataset is quite small.
Credit Note for Shipped and Fatoora pushed invoices
We have shipped a Sales Order and created an Invoice. The Invoice is also pushed to Fatoora Now we need to create a credit note for the invoice When we try it, it says we need to create a Sales Return in the Zoho Books, we have already created a Sales
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?
FSM - Timesheet entires for Internal Work
Hi FSM Team, Several of my clients have asked how they can manage internal timesheets within Zoho FSM. Since their technicians already spend most of their day working in FSM, it would be ideal if they could log all working hours directly in the FSM app.
Add a way of clearing fields values in Flow actions
It would be great if there was an option to set a field as Null when creating flows. I had an instance today where I just wanted to clear a long integer field in the CRM based on an action in Projects but I had to write a custom function. It would be
Role Management
I am creating an analytics dashboard for a company that will be utilized by its various departments such as Finance, Marketing, and HR. My goal is to design the dashboard with separate tabs for each department. Additionally, I plan to implement role-based
Link Contacts to Billed Accounts
Hello, I want to do a survey on all my customers of 2025. For that I want to select all contacts linked to accounts who where billed in 2025. How to I create this link to I can then use Zoho Survey with this database of contacts?
Highlight a candidate who is "off limits"
Hello: Is there a way to highlight a candidate who is "off limits"? I would like to have the ability to make certain candidate and / or Client records highlighted in RED or something like that. This would be used for example when we may have placed a candidate somewhere and we want everyone in our company to quickly and easily see that they are off limits. The same would apply when we want to put a client or former client off limits so no one recruits out of there. How can this be done? Cheers,
Announcing new features in Trident for Windows (v.1.37.5.0)
Hello Community! Trident for Windows just received a major update, with a range of capabilities that strengthen email security and enhance communication. This update focuses on making your mailbox safer and your overall email experience more reliable.
Early Payment Discount customize Text
Hi, I’m currently using Zoho Books and am trying to customize the standard “Early Payment Discount” message that appears in the PDF invoice template. I’ve reviewed the documentation here: https://www.zoho.com/books/help/invoice/early-payment-discount.html
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
Deprecation of SMS-based multi-factor authentication (MFA) mode
Overview of SMS-based OTP MFA mode The SMS-based OTP MFA method involves the delivery of a one-time password to a user's mobile phone via SMS. The user receives the OTP on their mobile phone and enters it to sign into their account. SMS-based OTPs offer
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.
DKIM Now Mandatory - Changes to Zoho Forms Email Policies
Hello Zoho Forms Users, This post is to inform you about an important update regarding the authentication of all email domains in your Zoho Forms account. This year, we are doubling down on our commitment to deliver a secure, seamless, and empowering
Ability to assign Invoice Ownership through Deluge in FSM
Hi, As part of our process, when a service appointment is completed, we automated the creation of the invoice based on a specific business logic using Deluge. When we do that, the "Owner" of the invoice in Zoho FSM is defaulted to the SuperAdmin. This
Call description in notes
When completing a call, we type in the result of the call in the description. However, that does not show up under the notes history on the contact. We want to be able to see all the calls that have taken place for a contact wihtout having to go into
Please can the open tasks be shown in each customer account at the top.
Hi there This has happened before, where the open tasks are no longer visible at the top of the page for each customer in the CRM. They have gone missing previously and were reinstated when I asked so I think it's just after an update that this feature
Mapping a new Ticket in Zoho Desk to an Account or Deal in Zoho CRM manually
Is there any way for me to map an existing ticket in Zoho desk to an account or Deal within Zoho CRM? Sometimes people use different email to put in a ticket than the one that we have in the CRM, but it's still the same person. We would like to be able
Email Address for Contact not Populating
When I click "Send Mail" from a Contact's page, their email address does not auto populate the "To" field. How do I make this happen?
New in CRM: Dynamic filters for lookup fields
Last modified on Oct 28, 2024: This feature was initially available only through Early Access upon request. It is now available to all users across all data centers, except for the IN DC. Users in the IN DC can temporarily request access using this form
Why hybrid project management might be the best fit for you?
Project management techniques are designed to equip teams with proven methods for easy and efficient project execution. While management teams may have apprehensions about adopting the hybrid method of project management, we’ve compiled the top reasons
Allow all Company Users to view all projects, but only owner/admins can change projects
I was wondering if there was a permission setting I could adjust to allow all our company users to see all projects created. Then, only the project owners and admins with the change permission. Thanks
Fail to send Email by deluge
Hi, today I gonna update some email include details in deluge, while this msg pops up and restrict me to save but my rules has run for one year. I dont care why zoho suddenly add this useless limit, but can you tell me how to use one of our admin account
Seeking help to be able to search on all custom functions that are defined
Hello I have a lot of custom functions defined (around 200) and i would like to search some specific strings in the content of those. Is there a way to accomplish that? If not, is there a way to download all existing custom functions in some files locally
Totals for Sales Tax Report
On the sales tax report, the column totals aren't shown for any column other than Total Tax. I can't think of a good reason that they shouldn't be included for the other columns, as well. It would help me with my returns, for sure. It seems ludicrous
Add Bulk Section / Grid Layout Duplicate Feature in Zoho Forms Builder
Currently in Zoho Forms, users can only duplicate individual fields. There is no option to duplicate an entire section or two-column/grid layout with all internal fields. This becomes inefficient when building structured forms such as Family Details,
Leistungsdatum in Rechnungen (Zoho Books)
Hallo, ist es irgendwie möglich den Leistungszeitraum in der Rechnung aufzuführen? Beste Grüße Aleks
Zoho Trident Windows - Streams Not Visible
Namaste We’re having an issue with Streams not being visible in Trident (Windows), which is important for us as we share many emails internally. It appears that the feature to show Streams above the Inbox folder, as seen in the default mailbox view, is
Next Page