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

      • Exclude Email or Domain From New Ticket Notification

        Hi, we utilize the new ticket notification feature in Zoho Desk. However, it would be great if there was a way to exclude certain email addresses or domains from receiving the automatic notification. This would be particularly helpful for automated alerts
      • Anyone have a working connection with CRM and shipstation via Flow

        Just wondering if anyone has successfully integrated shipstation and Zoho CRM.  I know there’s code to do it but am hoping to find out all the pitfalls before I jump on!! Scenario: SalesOrder gets created in CRM with multiple line items. I want this pushed to shipstation. On shipping via shipstation I want to push the tracking # back to CRM.  Many thanks in advance
      • ShipStation and Zoho Inventory

        Hello, I am looking to sync zoho inventory with shipstation ZOHO INVENTORY           SHIP STATION Sales Order  ==>  create ORDERS INVOICE  <==    Shipments What exactly does BETA mean on the Shipstation connector?  This is required for me to sign-on in the next month. Thanks in advance for your efforts
      • Connect to Shipstation's API

        Shipstation is a very big service, with lots of users, tons of order data.....and poor un-customizable reporting. This is perfect for Zoho analytics.  The Shipstation API is modern and efficient.  Today I think many people pay Zapier to get Shipstation data into Reports/CRM/Books - why not have  a direct connection?  -can pull in shipments via webhook or polling.  -also nice to pull in order data along with shipment data
      • What’s the Correct Integration Flow Between Zoho Inventory, ShipStation, and Multi-Channel Sales Platforms?

        Hi Zoho Community, I’m currently implementing Zoho One to manage all of my business processes, and I’d appreciate some guidance on the correct integration flow for the tools I’m using. Here’s my current setup: Zoho Inventory is my central system for managing
      • Remove Zoho Header from Portals

        I have a portal page with custom domain. But when I print directly from a webpage, the Zoho CRM header shows. It kind of kills the branding aspect. Is there a way to get rid of this?
      • Setting defaults for "Find and Merge Duplicate for..."

        To remove some of the extreme tedium from Zoho's poorly implemented merge function, I would like to set defaults.  Currently I am defaulted to match "ANY" when I would never do that, so I always have to click "ALL". Then it makes me click on several totally irrelevant drop boxes to turn off phone, mobile and other useless match criteria. Is there a way I can set: Match to default as "ALL" Firstname to default to "IS" Lastname to default to "IS" every other match field default to "-NONE-" This will
      • Clone a Module??

        I am giong to repurpose the Vendors module but would like to have a separate but very similar module for another group of contacts called Buyers. I have already repurposed Contacts to Sellers. Is it possible to clone (make a duplicate) module of Vendors
      • Let's bring Manufacturing Resource Planning (MRP), Material Requirement Planning (MRP), and Production Planning/Management module / feature in Zohobooks

        Let's bring Manufacturing Resource Planning (MRP), Material Requirement Planning (MRP), and Production Planning/Management module / feature in Zohobooks
      • CLIENT PORTAL (If clients can place orders directly on the portal)

        Zoho client portal is excellent. Everything is there except one thing. Client should be able to place orders directly on the portal. This would enhance the portal and end users will be extremely happy. This suggestion infact came from one of our client.
      • Zoho → ShipStation Integration – Sales Order–Driven Fulfilment Workflow

        Hello All, I’m reaching out to explore the best way to integrate a shipping tool into our inventory which will speed our process up. We are looking to integrate ShipStation into our existing order-to-fulfilment workflow, as we’re keen to standardise on
      • Zoho Inventory Feature Roadmap Visible To All

        Hello, please consider making your feature roadmap visible to us users so that we know what to expect in future. This may appease current users who are seeking clarification on feature implementation dates, so that they can make an informed decision whether
      • アナリティクスで商談中のパイプライン(ステージ)の件数比較

        アナリティクスで商談中のパイプライン(ステージ)の件数を前週と前々週で比較したい。前々週の件数が更新することで変動してしまう。対象方法をご教授ください。
      • How do I remove a data source from Zoho Analytics?

        I am unable to find a delte option on a datasource that i put in the system as an error. On teh web it refers to a setup icon but I do not see that on my interface?
      • Identify and clean hard bounce lists in Automation 2.0

        Hello. 1. I want to know how I can identify hard bounces in the lists I created to clean them before sending an email, given that the bounce rate has increased and it is necessary to clean the lists. 2. How can I exclude hard bounces and invalid emails
      • Trigger workflows from SLA escalations in Zoho Desk?

        Hey everyone, I’m currently working with SLA escalation rules in Zoho Desk and ran into a limitation that I’m hoping someone here has solved more elegantly. As far as I can tell, SLA escalations only support fairly limited actions (like changing the ticket
      • Delete a department or category

        How do I delete a Department? Also, how do I delete a Category? This is pretty basic stuff here and it's impossible to find.
      • Zoho Webinar - Sharing System Audio (NOT AVAILABLE)

        Hi, We are having a serious problem with Zoho Webinar. In the webinars we run, we very often share the audio from a video we are streaming directly from YouTube or other applications. Until recently we were using Zoom, but as we use other Zoho applications
      • Lost the ability to sort by ticket owner

        Hi all, in the last week or so, we have lost the ability to sort tickets by Ticket Owner. Unlike the other columns which we can hover over and click on to sort, Ticket Owner is no longer clickable. Is it just us, or are other customers seeing this too?
      • Cancellation Fees

        Hi, It really would be good if Billing could take subscription management further with cancellations & being able to apply or set a cancellation fee for a plan that is either fixed or prorated. It is not uncommon in subscriptions for cancellation fees
      • 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
      • Zoho CRM Meetings Module Issues

        We have a use-case that is very common in today's world, but won't work in Zoho CRM. We have an SDR (Sales Development Rep) who makes many calls per day to Leads and Contacts, and schedules meetings for our primary Sales Reps. He does this by logging
      • Notes - Reaction Buttons

        Using the native notes option within CRM is fine, it works and the RTF features are great, however, would it be possible - if there isnt already something in place, where we can add a reactions button, similar to teams/whatsapp to show that its been read
      • How to get the campaingns key?

        Reading the documentations of the API, I see that is necessary have the campaign key, but I don't see how can I get it. For example to get the campaign details we need to do the request: https://campaigns.zoho.com/api/getcampaigndetails?authtoken=[API Authentication Token]&scope=CampaignsAPI&campaignkey=[campaignkey] I have the API Authentication Token but I don`t see how to generate the campaignkey
      • Unable to switch existing AWS RDS connection to DataBridge after moving RDS behind VPN

        Unable to switch existing AWS RDS connection to DataBridge after moving RDS behind VPN Hi everyone, I’m facing a problem with an existing Zoho Analytics setup and would like to know the best migration path. Originally, my Zoho Analytics connection to
      • [Bug] WebAuthn passkey registration blocked on rpIds with TLDs longer than 6 characters (.accountant, .technology, etc.) — isValidDomain regex too strict

        Hi, Filing on behalf of an enterprise customer where Zoho Vault is deployed across the company. The Chrome extension blocks WebAuthn passkey registration on legitimate sites whose Relying Party ID (rpId) has a TLD longer than 6 letters. This affects every
      • Native QuickBooks integration for Zoho CRM: Connecting sales and finance

        Greetings, I hope all of you are doing well. We're excited to announce Zoho CRM's integration with QuickBooks Web, which is designed to synchronize your CRM data with your QuickBooks accounting records and bridge the gap between sales and finance. This
      • Syncing zoho books into zoho crm

        I was wondering how I can use zoho books in crm as I have been using them separately and would like to sync the two. Is this possible and if so, how? Thanks
      • ZohoBooks_add_expense_attachment Fails

        I'm working MCP in Claude to automate bookkeeping. Claude cannot seem to attach and reciept to an expense. The 'add expense attachment' tool is added to the server and enabled in Claude. I asked Claude to give me the calls he performed and this is what
      • ZohoBooks_create_chart_of_account

        I'm setting up Claude to do my bookkeeping workflows using a Zoho MPC server I setup. He does not seem to be able to create a chart of account. The 'create chart of account' tool is added to the server and enabled in Claude. I asked Claude to give me
      • Zoho Books Product Road Map

        I am planning to look into Zoho Books to maintain my Company's Account Books. Is the roadmap of Zoho Books Development available online? What happens if you product dies, without an export feature to other popular Accounting softwares like Tally or Quickbook. Are we going to be left in lurch? Do you have a product road map? Regards, Vishal.
      • I want to delete the email but I can't.

        I want to delete emails but I can't, please help me. Thanks!
      • Error while creating new user

      • Zoho Mail is blacklisted on magicspam.com and spamauditor.org

        As of today, the same problem with the IP addresses 136.143.188.51 and 136.143.188.52 How long does it take them to clear their IP addresses? I've read on this forum that these IP addresses have been blacklisted for years. //////////////////////// This
      • Unable to send emails from the delegated mailbox

        currently it's not possible to send emails from our delegated mailbox (just in our own name, our own mail-accounts) The permissions granted include "Send as," and we are also unable to delete delegated employees or add new ones. We can only add employees
      • Change Password

        How can I reset OR Change the Passwords for the Whole Organization at Once as Administrator using Admin Console?
      • Zoho Books bill pay option not available with zoho one

        Why isn't Zoho Books bill pay add-on not available for Zoho one customers not even as a purchasable option. I think this is very inconvenient for companies wanting to use this feature all in one system
      • Support - what am I doing wrong?

        Hi Everyone - I'm a new user and looking particularly for a replacement mail service. I'm just a home user not a professional but I do look after half a dozen domains. Zoho looks lovely and I'd like to switch but just want to get answers to a few 'easy'
      • Zoho Forms - Form Availability Redirect Option

        Hi Forms Team, It would be great if there was a redirect URL option on the Form Availability settings. For example, I would like to create a support form which is only available outside business hours and if the current data and time is not Mon-Fri 9-5
      • Consider Making Printing Easier (UI)

        I'm using Zoho Analytics in much the way that it was intended when it was "Zoho Reports" - as a way to pull together information across several apps in the ecosystem. I have a dashboard that I need to run each week for every employee (change the filter
      • Next Page