Client Script Support for Notes Related List

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 to prevent unwanted changes to notes by specific profiles based on custom criteria. With Client Script, you can enforce rules that control edits based on user profile and deal stage, ensuring critical notes remain accurate and protected. This use case was taken from the context discussed in this post.

In this Kaizen post, 


  1. Supported Events for Notes Related List
  2.  Supported ZDKs for Notes Related List
  3. Use Case
  4. Solution
  5. Summary
  6. Related Links



1. Supported Events for Notes Related List

onBeforeAdd

This event occurs just before a new note is added to the Notes Related List. Use this event to validate the data or modify note content automatically before the note is created.

onBeforeUpdate

This event occurs just before an existing note in the Notes Related List is updated. It allows you to enforce validation or make changes to the note data before the update is saved.

Click here to know more about the supported events.

2.  Supported ZDKs for Notes Related List

The following Client Script ZDKs can be used to perform actions in Notes Related List.

Retrieves the current value of a field in Notes Related List.

Sets or updates the value of a field in Notes Related List.

3. Use Case: Stage-Based Notes Lock for Specific User Profiles based on Deal stage

Quote
At Zylker, when a Deal is in Proposal/Price Quote, Negotiation/Review, or Closed Won/Closed Lost, a Sales Representative should not edit existing notes. This ensures that critical approval comments, pricing details, and final decisions remain unaltered, maintaining clarity and audit compliance.
Preventing edits ensures critical approval comments, pricing details, and final decisions remain accurate.

4. Solution

  1. Go to Setup > Developer Hub > Client Script. Click +New Script.

  2. Specify the details to create a script and click Next.


  3. Enter the following script and click Save.
  1. var dealStage = ZDK.Page.getField("Stage").getValue();
  2. // Stages where notes should not be editable by Sales Reps
  3. var restrictedStages = [
  4.     "Proposal/Price Quote",
  5.     "Negotiation/Review",
  6.     "Closed Won",
  7.     "Closed Lost"
  8. ];
  9. // Get current user profile
  10. var currentUserProfile = $Crm.user.profile;
  11. // Profiles allowed to edit notes
  12. var allowedProfiles = ["Manager", "Admin"];
  13. // If the stage is restricted and user is not allowed
  14. if (restrictedStages.includes(dealStage) && !allowedProfiles.includes(currentUserProfile)) {
  15.     // Log original note (optional)
  16.     log("Original Note:", ZDK.Page.getComponent("notes-editor").getValue());
  17.     // Show alert
  18.     ZDK.Client.showAlert("Your profile is *not authorized* to edit notes of a deal in " + dealStage +" stage.");
  19.     // Prevent further action
  20.     return false;
  21. }
  1. Define a variable restrictedStages that contains all the deal stages where notes should not be editable.

  2. Get the current deal stage using ZDK.Page.getField("Stage").getValue(), you fetch the stage of the deal currently being viewed.

  3. Get the profile of the current user using $Crm.user.profile. This helps you to find out the profile of the person trying to edit the note.

  4. Create an array allowedProfiles for profiles that are always allowed to edit notes.

  5. If the deal is in a restricted stage and the current user is not in the allowed profiles, show an alert to the user explaining they cannot edit the note.

  6. Stop the note from getting saved using return false.

  7. This way, the script protects important notes from being edited by unauthorized users during critical deal stages.

  8. Here is how the Client Script works.


5. Summary

In this post we have discussed,
  1. The Client Script events supported in Notes
  2. The ZDKs available for use in Notes Related List
  3. How to prevent a note from being saved with custom criteria


Wishing you a joyful, successful, and inspiring New Year 2026 ! See you next week as we kick off an exciting New Year! 😄





    • Sticky Posts

    • Announcing the new SKILL.md for Zoho CRM and the updated OAS repository!

      We are introducing a new zoho-crm skill to make working with Zoho CRM Developer tools (like APIs, functions, widgets, client scripts, queries etc) easier and faster, with the help of AI in your preferred AI harness like Claude Code, Codex, Cursor, VSCode
    • Kaizen #261 : Using Zoho CRM Skill to generate complex COQL queries

      Hello everyone, In the previous Kaizen posts, we introduced the zoho-crm SKILL.md and discussed how it can help you when you are working with Zoho CRM APIs and Client Script. In this Kaizen, we will focus on using the Zoho CRM `SKILL.md` with GitHub Copilot
    • Kaizen #256 - Build an Arrival Readiness Web Tab in Zoho CRM

      Hi everyone! Welcome back to the Kaizen series! In the post, we discuss a use case in hospitality industry: how an Arrival Readiness web tab widget can be used to let reception staff identify and resolve issues before arrival of guests. Use case In the
    • 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
      • Recent Topics

      • I cannot add user to my account

        I have an account, I deleted a user from the account and I have one unused licence which lasts for 23 days, I tried adding a new user and it said This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details, please
      • Domain Activation Issue

        I purchased a domain through Zoho, and as I understand it, you were supposed to send me a domain activation link. However, I never received it. As a result, I was unable to activate the domain, and it is now suspended. Because of this, I am not receiving
      • Grouping by Stage *type* in widgets

        Hi Can I ask for a new feature? I'd like to be able to group by stage type in a Deal widget. That is by whether the Deal is in an Open Stage, a Closed Won Stage, or a Lost stage. Currently I can group by Stage, but if we have 10 open stages and one Closed
      • Please release domain bravovietnam.com from an old account

        Hello Zoho Support, I am trying to set up Zoho Mail with my domain bravovietnam.com on my account office@bravovietnam.com. Every time I add the domain, I get: "This domain is already associated with this account" — pointing to a DIFFERENT, older account
      • Creator -Dynamic addition of Customer Portal User Licenses

        Hi, We have a Creator App for B2C about to get released. We are experiencing the Portal User license challenge. Unable to predict the number of users who will download and Subscribe. When a User is about Subscribe and the portal licenses does not exists,
      • Migrate Mailbox between Microsoft 365 tenants - Safe, Fast & Easy

        Moving mailboxes between Microsoft 365 tenants is a difficult proposition when you've got a large number of user accounts, a lot of email data and a number of Microsoft 365 services to contend with. This is a common scenario when a business is undergoing
      • 👍 Zoho CRM's Notes now gets Reactions and a new look

        Available in SA and JP DCs. Rolling out to other DCs in phases. Hello everyone, Notes help users capture important updates, collaborate with teammates, and maintain context for records. Now with Note Reactions, users can quickly acknowledge updates, express
      • Widget Height were destroyed

        All widget heights in the Details Canvas view are broken. Moderation Update: This is a known issue with widget heights in Client Script popups and flyouts. A fix is in progress, and this post will be updated once it's released.
      • Introducing Incentives for Zoho CRM: Build, automate, and track sales commissions

        Dear Customers, We are here with an amazing news! We built a direct solution to help manage your commission provisioning activity in your business. From creating commission plans to issuing payouts, this application leverages your sales reps’ performance
      • Enhanced Zoho CRM and Office 365 calendar synchronization features!

        Dear customers, We're excited to share some significant improvements to our Office 365 calendar synchronization features, aimed at providing you with more control and a more personalized experience. What’s new Choose your Office 365 calendar: During the
      • Introducing Zoho Key Service, a simpler way to access LLMs without API keys

        Available in the Professional, Enterprise, and Ultimate editions in the US, IN, AU, JP, and CA DCs. Hello everyone, We are excited to bring Zoho Key Service (ZKS) in Zoho CRM, a simpler way for organizations to access and use third party LLMs. You can
      • Zoho Books Support

        Dear Team, Zoho Books offers a demo before you purchase zoho books. But after that when he actually purchases the product he has to rely on toll free number or help documents. But this might get frustrated in the initial period. Specially in initial period.
      • How to add a fee based on payment method

        I currently accept both ACH payments and credit card. I want to add a 3% fee to a number of my subscription plans if the customer chooses to use a credit card (and not ACH/checking). How do I do this? Is there an in-built feature, or would i have to create
      • Mirror Component in Zoho CRM: Access real-time related data without leaving your record

        Hi everyone, This feature is now available for the JP, CA, SA, UAE, and AU DCs. We're excited to bring to you Zoho CRM's mirror component, which presents relevant data on a record's details page and keeps everything users need in one place without having
      • What's New in Zoho Invoice | July – September 2026

        Hello everyone! We're back with the latest updates and enhancements we've rolled out in Zoho Invoice from July to September 2026. Here's what's new this quarter: Zoho Invoice is Now Available in Nigeria Introducing the Super Admin Privilege E-Invoicing
      • Convert MBOX to PDF Free on Mac and Windows

        MBOX files are widely used for storing email messages in email clients such as Thunderbird, Apple Mail, and other programs that support the MBOX format. Although this format is useful for handling emails, it can at times be inconvenient to access the
      • 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
      • ZohoBooks - "Account transactions" report doesn't have any "Desciptions"

        Hi, I'd like to push for this to be included in ZohoBooks: In a "account transactions" report all the numbers are right, but I'd really like to see the "Description" as part of this report, i.e. the line-item-description as I would see it in the bank statement. Essentially all you see is a list of numbers adding up to the total. It is very difficult to see if things are right without being able to see what exactly each transaction refers to. Going into each transaction one-by-one is not a workable
      • Address limits per customer by edition

        I’m on the Standard edition and have reached a limit of 30 addresses under a single customer. Before I move to an annual Professional subscription, I need to confirm the following: What is the maximum number of addresses allowed under one contact, and
      • Export from List view

        I'm constantly having the issue where my users are building lists in ListView for various objects and then realising they cant export the data, then they have to go and build the data set in reports to export. I would like to see the ability to export to excel/csv from ListView.
      • Cannot apply tags to multiple items at once

        It is very frustrating needing to apply tags to notes individually. Even worse that it takes multiple clicks to do it. Can there please be an update to: 1.) Allow us to apply tags to batches of notes in one go. 2.) Make it less clicks to add a tag 3.)
      • Get all hiring updates via Zoho Cliq bot notifications

        We’re introducing a new way to stay updated on recruitment activities: Cliq Bot notifications. Now you can receive Zoho Recruit notifications directly in Zoho Cliq—alongside your existing in-app alerts and emails. Whether it’s a candidate status change,
      • Notes Acknowledgement

        It would be great to have emojis that can be used for Notes. Emojis such as Thumbs Up to let someone know you agree with them or a emoji for thanks. It's a simple way to acknowledge that you read someone's note. Moderation update: Emoji reactions for
      • Is it possible to log text messages from iphone into Zoho CRM

        My team is more and more utilizing text messaging to communicate with clients. Does Zoho have a solution for logging these text messages when clicking "Send Text Message" from the Zoho app. Much like when you call, you get prompted to log a call, can
      • Project Finances: Fully Accessible within Projects

        Project finances and work items are now on the same screen and it transforms the way you run your project. Managing your project finances is now much easier and in the same screen as your work items. Access quotes, invoices, bills, sales orders, and purchase
      • zoho stream web notifications

        since im locked out of IMAP and cant use my mail app that lets my team collaborate and chat below emails, im trying out the zoho version of this... zoho streams. On the bottom of an email in the zoho mail web app, i "comment" and mention another user.
      • UI / UX Improvements

        Please consider changing the Dependency Details window from a column-based layout to a list-based layout, or allowing users to choose their preferred layout. The current column-based view uses screen space inefficiently and makes navigation difficult,
      • Zoho CRM and Desk sandboxes for testing native integration

        Hello team, We are evaluating the native integration between Zoho CRM and Zoho Desk, We have sandbox instances of both products and want to test the integration there, without any effect on our production CRM or production Desk data. While setting up
      • Function #24: Automatically display deal name from Zoho CRM on quotes in Zoho Books

        Deals allow businesses to organize and visualize their sales pipeline. This provides a clear overview of all potential opportunities and helps in making informed decisions. Zoho CRM empowers you to create deals or potentials for your clients and monitor
      • Zoho Books | Product updates | August 2026

        Hello users, July has been an exciting month for Zoho Books! This month, we're excited to introduce HTML PDF Templates, Placeholders as Pills, expanded approval workflows for Sales Returns and Journals, and significant compliance updates across the India,
      • Auto-Sync Field of Lookup Values When Parent Record Changes

        Hi Zoho Team, Currently, when you use a "Field of Lookup" in Zoho CRM, the value is captured as a snapshot at the time the lookup is set. If the parent record is later updated, the Field of Lookup value on the child record does NOT update and stays stale.
      • [Request] Pivot filter date option : from set date to relative value ie from 01Jan to LastMonth

        I don't think I can currently do this... but it's worth asking if it's possible. My use case is concerning annual leave which is calculated from the beginning of the calendar year (01Jan) then each month I want to have details of leave taken etc... In
      • Customer Statement Showing Incorrect Negative Balance Due to Unused Advance

        Dear Zoho Support Team, We are facing an issue with the Customer Statement in Zoho Invoice related to customer advances/mobilization advances. The issue is that when a customer has made an advance payment that has not yet been fully utilized against invoices,
      • Mois de la sensibilisation à la cybersécurité 2026 : faites de la sécurité un réflexe avec Zoho

        Imaginez : vos systèmes informatiques répondent aux normes de sécurité en vigueur et votre entreprise est assurée contre les cyberattaques. Pourtant, un matin, tout bascule. Vos données sont chiffrées et un message glaçant s’affiche à l’écran : « Si vous
      • Specifying time increments on a Date/Time field

        Hi all, Im using a Date/Time field in my CRM module. At the moment the increments are 30 minutes. How can I change these to be 15 minutes? Thanks
      • Read, View, Access, or Open an OST File Without Outlook

        Have you at any time needed to open an old OST file only to find that Microsoft Outlook is not installed on your computer? It is very annoying, particularly in the case where the file includes important emails, attachments, contacts, or calendar items.
      • What's new in Zoho Workplace | August 2026

        Hello Zoho Workplace community! Here's a roundup of all the new features and announcements that went live across Zoho Workplace applications in August. Zoho Mail Zoho Mail is now available in AWS Marketplace! AWS Marketplace users can access and subscribe
      • Read, View or Open MBOX File without Any Email Clients

        Since email messages are stored in a single file by MBOX files, they are useful for keeping email data in one location. Many email programmes, such as Thunderbird and other mail clients, support this format. However, if you have an old MBOX file and the
      • What's new in Zoho Social - Q3 recap

        Hello everyone, We've rolled out a bunch of exciting updates in Q3, and we're thrilled to walk you through them. Here's a quick look at everything we released in July, August, and September to help you experiment with content, automate engagement workflows,
      • The Social Wall: September 2026

        Hello everyone! This month, we’re bringing Snapchat to Zoho Social. You can now connect your Snapchat account and manage your content alongside your other social channels. Whether you want to reach a wider audience through Spotlights or share quick updates
      • Next Page