Client Script | Update - Introducing Subform Events and Actions

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 one of the most anticipated Client Script Updates: Subform Events and Subform-specific Client APIs in Client Script!

 Subform events are triggered from user actions, such as adding or deleting rows or updating data in subform. These events allow you to run Client scripts for validation, automation, or dynamic updates. By leveraging Subform Events, you gain precise control over subform behavior.  

This empowers you to achieve advanced interactivity, streamline workflows, enhance user interactions, and deliver exceptional user experiences.

Subform Events

  • onCellChange 

  • onRowAdd

  • onRowDelete

  • beforeRowDelete

  • beforeRowUpdate (Applicable only for Detail Pages)

Supported Pages

  • Standard - Create/Edit/Clone Pages, Detail page

  • Canvas - Create/Edit/Clone Pages, Detail page

  • Wizard - Create/Edit Pages

 

Available Client APIs


Notes  Note :   The setValue method for a subform row and cell on the Detail Pages will only work when the row is in edit mode.
 

Scenario 1 : Apply row value based dynamic filters and display error and clear a cell in subform for invalid input

Organization: Zylker, a manufacturing company using Zoho CRM.

Subform Filtering: In the Quotes module, products in the subform are filtered based on the selected Product Category.

Stock Validation: When the quantity in the Quoted Items subform exceeds available Stock, an error message is displayed. The field is reset to null.

 

Click here to view the source code.

Scenario 2 : Secure subform rows with beforeRowDelete

  • Organization: Zylker ensures data integrity during key Deal stages in Zoho CRM.

  • Restricted Stages: Subform item deletion is restricted in the following stages:

    • Proposal/Price Quote

    • Negotiation/Review

    • Closed Won

    • Closed Lost

  • Enforcement: The beforeRowDelete event verifies the Deal stage and returns false to prevent deletion.

 

Click here to view the source code.

Scenario 3 : Auto-Fill values for new rows and clear subform based on custom conditionI

  • Module: Campaign module in Zoho CRM.

  • Auto-Population: When a new row is added to the subform:

    • The onRowAdd event uses setValue() to auto-populate:

      • "Status" field with "Planning".

      • "Allocated Budget" with $3000.

  • Region Change: When the "Region" field changes:

    • The onChange event triggers clear() to reset campaign details for region-specific data.

 

Click here to view the source code.

Scenario 4 : Tailor cell, row and column locks in subforms and manage field visibility with ease.

  • Module: Campaign subform in Zoho CRM.

  • Allocated Budget Field:

    • Editable only by admins.

    • Read-only for all other users.

  • Row Locking:

    • The setReadOnly() method, triggered by onLoad and onCellChange:

      • Locks the entire row when the Status is "Complete."

      • Restricts the Allocated Budget field unless the Status is "Planning."

  • Field Visibility:

    • The Type of Campaign column is managed with setVisibility():

      • Visible only when Parent Type is "others."

 

 

Click here to view the source code.

Scenario 5 : Dynamic data check on subform cell update

  • Validation: Ensure the Allocated Budget of all campaigns does not exceed the Total Budget Allocated.

  • Restriction:

    • If the budget exceeds the limit:

      • Prevent the row from being saved.

      • Display an error message.

 



Click here to view source the code.

Limitations :

1. The onRowAdd event is not supported during bulk row addition.

2. Subform methods and events do not work in line-item subforms present in Blueprint transition.
3. Row added in subforms using Guided selling  do not trigger the onRowAdd event
for now.
4. This update is not supported on mobile devices.

  

We hope you find this update useful!

QuoteRelease Plan : We have begun rolling out the feature and will provide updates here as it becomes available in each DC.

 

 





    • Sticky Posts

    • 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.
    • Kaizen #226: Using ZRC in Client Script

      Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
    • Kaizen #222 - Client Script Support for Notes Related List

      Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
    • Kaizen #217 - Actions APIs : Tasks

      Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
    • Kaizen #216 - Actions APIs : Email Notifications

      Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are

    Nederlandse Hulpbronnen


      • Recent Topics

      • Update on default settings for AI features in Cliq

        Hello all, We'd like to provide clarity on a recent change to AI feature defaults in Cliq. As part of our regular review of AI features conducted in April 2026, we re-evaluated how these features are enabled by default. We've decided that the AI features
      • Associate Zoho Billing Invoices with multiple Zoho FSM Work Orders

        Hello Latha, We are writing a custom Deluge automation script in Zoho FSM to handle monthly consolidated billing. The script successfully compiles line items from multiple completed Work Orders, interfaces with the Zoho Billing API, and generates a single
      • How do I delete all my leads so I can start again?

        How do I delete all my leads at one time so I can start again?
      • Le cauchemar de PEPPOL avec Zoho Books

        Après de longues hésitations — car je défends toujours les produits Zoho malgré leurs imperfections —, je me suis décidé à poster cet avis sur ce forum. En effet, depuis plus de 5 mois, les nombreux soucis relatifs à la facturation par PEPPOL semblent
      • What is a realistic turnaround time for account review for ZeptoMail?

        On signing up it said 2-3 business days. I am on business-day 6 and have had zero contact of any kind. No follow-up questions, no approval or decline. Attempts to "leave a message" or use the "Contact Us" form have just vanished without a trace. It still
      • number auto generate

        There is a basic need for a function to auto generate numbers. Presently the help pages layout several confusing and non-working ideas. You will not get my subscription without a simple auto number function.
      • Mailbox delegation - A secure way to enable collaboration

        Admins often encounter scenarios where a user needs another team member to access and manage their mailbox during extended leave, role transitions, or while handling high email volumes. In such situations, ensuring business continuity without sharing
      • Service currently unavailable

        The Zoho Mail Webmail is working, the Mail Admin Console is not: "Our service is temporarily unavailable, please try after sometime." How long must I wait to retry? edit: To add to this, the Webmail is not working 100% - I can open mail in the inbox,
      • Email Opt Out Question

        Has the problem where if a customer is emailed opt out prevents you sending standard emails? For me this feature is simply to stop any email marketing and should not block people from receiving emails via Zoho mobile, which makes no sense.
      • Rich-text fields in Zoho CRM

        Moderation Update: During the initial release of Rich Text fields, it was supported only in the Enterprise and Ultimate editions. We have gradually extended Rich Text fields to all the paid editions of Zoho CRM. Hello everyone, We're thrilled to announce
      • incoming mails not received

        incoming mails not received
      • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

        Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
      • FSM- are we getting there

        We have now tried the FSM a couple of times. We have been defeated on the offline access. As you can imagine the enginner needs to know the customers details, the job and the equipment. This needs to be cache. Is it yet? Plus Our engineers do multiple
      • Agents in Homepage

        Hello all, Your agents do useful work. They find things like important leads, deals, and updates for you. But until now, you could not see any of this on your Home page. To check what an agent had found, you had to open the agent on its own, away from
      • How can I get quantity number for each item from collection ?

        How can I get quantity from sub form in another form when I fetch data get it in collection  ​
      • Updates on Report Panel Selection Customization

        Zoho Dev Team, I would like to check if we have updates on Search Panel selection list. And if we can finally select a few instead of going to the list.
      • Global search

        Hi! I think it would be great to have a global search that would give you results from all records of a database, no only for a single field of a single form as we have now. Thanks!
      • Lightbox Pop-up form

        I would like to embed my form using the lightbox pop up. I don't want it to load automatically. I want it to load when some clicks the button. I can see this option, however when I use the "show pop-up launch button" on the website, the button automatically
      • Format print pos

        can anyone help me create a format to print in thermal pos format as epson t20ii printer
      • Getting the Record ID of a form once it is submitted - so that form can be edited later

        In Zoho Forms, where can I access the record ID of a form once the form is submitted? - Record ID is not available in webhook payloads - It is not available to form fields, including in formulas - It is not available as a parameter in a thankyou page
      • Tip#51: Use Nested Picklists for cleaner forms

        Are you looking for a dropdown field that branches out with multiple child options? Zoho Sprints supports Nested Picklist where you can create a parent-child relationship to navigate the users seamlessly with the required options. This ensures that the
      • #19 The Easier It is to Pay, the Faster You Get Paid

        In our previous post, we looked at recording offline payments to keep your books accurate. But what if you could eliminate that manual step altogether? Imagine sending an invoice where your customer doesn't have to copy your bank details, switch between
      • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

        Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
      • Mass Email: Individual or Bulk?

        Can anyone confirm that the mass email feature sends as an individual email or as bulk? I'm curious to know what a mass email header looks like.
      • How do I add our corporate fonts to campaign template?

        We have developed a custom campaign template in Zoho Campaigns. Unfortunately there is such a small option of fonts by Zoho default. We need to add our 2 corporate fonts so that our campaigns are in line with our brand. How do we do this?
      • Export current view on timesheet bug?

        When you export current view on timesheet, which is a welcome change, it states: Only the current view with its visible columns will be exported from Zoho Books in CSV or XLS format.". However when this is done, the current view is not fully exported.
      • What's New in Zoho Invoice | April – June 2026

        Hello everyone! We're back with the latest updates and enhancements we've rolled out in Zoho Invoice from April to June 2026. Here's what's new this quarter: Connect Zoho Invoice to AI Using Zoho MCP Customize Accessibility Preferences Attach Annexure
      • Marketing Tip #38: Increase order value with free shipping thresholds

        Free shipping is one of the easiest ways to nudge customers to spend a little more. Instead of offering free shipping on every order, set a minimum order value customers need to reach. This encourages shoppers to add one more item to their cart, which
      • Integration between Zoho Creator & Zoho Projects?

        Hie , Integration between Zoho Creator & Zoho Projects? Is that possible if yes then How??
      • Zoho CRM's Old User Interface is set for EOL - Deadline and What to Expect

        Hello Everyone, We are nearing the completion of enabling the Next Gen UI for users as announced in this post. The Next Gen UI introduces CRM For everyone with an improved workspace experience housing features like Teamspaces, Team Modules, enhanced views,
      • Error AS101 when adding new email alias

        Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
      • Improved Email Management: More control over outgoing email delivery in Zoho Creator

        Hello everyone, Managing how your Zoho Creator applications send emails just got a whole lot more powerful. We've completely revamped the Email Management feature to give you greater flexibility, better deliverability, and deeper control over your outgoing
      • Send a converted Contact or Deal back to Leads using the Restore Lead extension for Zoho CRM

        Hello everyone, This comes up more than people expect: a Lead gets converted into a Contact, and sometimes a Deal along with it, because at the time it looked ready. Then the situation changes the opportunity turns out to be much further off than expected,
      • Marketer's Space: Make your emails more engaging with polls and surveys

        Hello Marketers! Welcome back to Marketer's Space. This week, we're looking at two features that can turn a one-way email blast into an actual conversation: polls and surveys. Why to use polls and surveys? Most emails go out and you hear nothing back.
      • DYK 9: Dependent Layout Rules

        Did you know that you can configure dependent fields in Task and Issue Layouts? In a project, tasks and issues vary in nature and so do the fields needed for each. Displaying relevant fields and values keeps the layout organised and ensures necessary
      • Error when connecting zoho projects mcp to Claude

        When trying to connect zoho projects mcp through cloude, I am redirected to zoho login page, and then after adding my registered email I receive this error: Error while Initiating OAuth Invalid server url. Kindly re-verify oauth url from metadata and
      • Item image on document

        I know what I am asking may not be possible, but I will ask anyway, maybe I will get lucky, and someone else is doing it. My business is based on special orders only from various online stores. When I send a quote to a client, I generate a separate quote
      • Cash Recipt

        You can not receive cash more than 10000 from one party in a day and two lakh in a year. In statement you can't differentiate cash or bank receipt. zoho does not support this
      • MCP > Creator connection failing with Claude

        I'm trying to get claude to access any of my Zoho Creator apps and it keeps failing. I have enabled all tools for creator and ensured in claude settings that everything is authorised. Here is what claude says : Unfortunately, the error messages I'm receiving
      • Zoho Analytics Aggregates

        I have the attached report that lists Jobs and I want to aggregate the totals of Total Budgets, Total Bills and Difference for each Construction Stage. Can anyone tell me how I aggregate them?
      • Next Page