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

    • 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
    • Kaizen #152 - Client Script Support for the new Canvas Record Forms

      Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved
    • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

      Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
    • Recent Topics

    • Setting up property management in Zoho Books

      Hi, I run a property management business that manages property complexes. There are multiple owners, some owning more than one property on the same complex. My role is to manage the fees they pay for maintenance of common areas, such as the swimming pool
    • How to prevent users from switching price lists in an order?

      Hi, I have Zoho Finance integrated with Zoho CRM. My team will be placing orders through the CRM using the Finance module. When creating a new customer I will assign it a price list, I don't want the sales rep to switch to a different Price List, other
    • Zoho Learn and Zoho CRM integration

      I would like to see an integration between Zoho Learn and Zoho CRM. 1. To be able to add articles in a related list in all modules 2. Zia to suggest related articles in a Deal or Case or Lead 3. Ability to read / search articles during a call / follow
    • Transfer between two customers (Peters Rental account to Peters Private account)

      we are a Property Management company. Our customers have to accounts (registered as two customers - Peter Rental and Peter Private On the rental account all income and costs fron rental activities are noted. On the private account all private are noted
    • Mollie Connect in Zoho Books

      Have noticed that Zoho Books is missing the most popular payment provider in Europe: Mollie. Knowing that Mollie has a solid Java SDK, why is this not yet implemented in Zoho Books for European customers?  More info: https://docs.mollie.com/oauth/ov
    • Copy / Duplicate Workflow

      I have workflows setup that are very similar to each other. We have a monitoring system watching servers, and all notifications - no matter what client it is about - will come from a  noreply@ address which is not very helpful in having it auto assigned to the right account. I have setup a workflow that will change the contact name of the ticket (currently it would say noreply@) to the correct customer which is based on the subject line, as that mentions which server the alert it is about. I need
    • 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
    • Unable to change Lookup field from Multi Select to Single Select

      I am trying to change a Lookup field in my Zoho Creator form from Multi Select to Single Select, but I am unable to find any option to do this.
    • Automation#18: Automatically Fetch Values from Contacts to the Tickets Module

      Hello Everyone, Welcome to this week's edition, where you can seamlessly sync fields from the Contacts to the Tickets module. For efficient business operations, it's crucial to have details mapped across different modules. Zylker Secure offers antivirus
    • Cash payments before invoice date

      We have been using zoho books for our hospitality business for some time and have been very happy with the system. However in 2025 an update was pushed through and we are now not able to record payments for invoices before the invoice date. the case scenario
    • 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
    • Handling/tracking escalation management in Zoho

      Hi all, I am working on finding a tool to register and track our escalation management process. Specifically, this is about client escalations, typically related to project delivery issues. The idea is that we could have some sort of form with core questions
    • Zoho Learn Zapier Integration

      Hello all, Is there any plan to integrate Zoho Learn with Zapier? It seems almost all Zoho products are in Zapier, with the exception of Learn and Marketing Automation.
    • Simple Callback Notifications Needed

      My team are terrible at remembering their CRM callbacks, often due to how long in the future they are set for. Is there a way i can set an e-mail notification for when a callback is due? For example we set it for 9am one day and five minutes before they
    • Is it possible to transfer data from one related list to another within the same module ?

      In the Leads module, there is an existing default Product related list that already contains data. Recently, I added a custom multi-lookup field, which created a new related list in the same Leads module. Now, I need to move the existing data from the
    • Personal Data (RODO), Cookies / Trackers - ePrivacy

      I have noticed several issues that should be addressed on the customer support page. Zoho Desk provides the support portal, but it currently lacks the following options: A GDPR and personal data processing consent checkbox before logging in, located in
    • 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
    • How to set a multi-lookup field as mandatory?

    • Allow Multiple Scheduled Appointments with Zoho Support

      Dear Zoho Team, I hope you're doing well. First, thank you for introducing the option to schedule support calls via the Zoho CRM booking link. This has been a fantastic enhancement, eliminating the need for back-and-forth coordination when scheduling
    • Audit Log for Zoho One Admin Panel

      Dear Zoho One Team, We would like to request the addition of an Audit Log feature in the Zoho One Admin Panel. This log should provide visibility into any changes made within the Zoho One admin panel and directory, including but not limited to: Adding,
    • Can I re-send the Customer Satisfaction Survey after a ticket closure?

      Hello, Some customers does not answer the survey right after closure, is it possible to re-send after a few days or weeks? Best Regards!
    • Personalize your booking pages with Custom CSS

      Greetings from the Zoho Bookings team! We’re introducing Custom CSS for Zoho Bookings, designed to give you complete control over the look and feel of your booking pages. With this new feature, you can upload your own CSS file to customize colors, fonts,
    • Bug: OAuth 2.0 State Parameter fails with Pipe Delimiters (RFC 6749 Non-Compliance)

      I've discovered a bug in how Zoho's API Console handles the OAuth 2.0 authorization flow when the state parameter contains pipe characters (|), and I'm hoping the Zoho team can address this in a future update. The Issue Zoho's OAuth 2.0 implementation
    • Custom Function to increment a value by one

      Hi, I'm trying to find a solution to set up a counter on CRM records that tracks how many times certain actions have taken place. As a specific example: We have a field on Deals called "Times Close Updated". This starts at 0 on record creation. I'd like
    • Zoho Books Extension: What Happens If Custom Fields Already Exist?

      When developing Zoho Books extensions, what happens if the target Zoho Books organization already has a custom field with the same API name as one defined in the extension? I’m asking because we originally created an on-Books version of this functionality,
    • Access token generate from the refresh token not working for API

      Dear Sir/Madam, When I use my refresh token to obtain new access_token, that token return INVALID_TOKEN when the same API is called. I made sure that my api site is correct and match the auth web site. However the original access_token work fine.
    • To print Multiple delivery notes in batches

      In Zoho Books, we can print a Delivery Note from an Invoice using the Print Delivery Note option, but it is non-editable and always prints all line items from the invoice. Our requirement is to deliver invoiced items in batches and print delivery notes
    • Feature Request: Enable Custom PDF Layout Editor for All Modules (Including Package Slips)

      Hello Zoho Community and Product Team, I am writing to share a suggestion that would significantly enhance the customization capabilities within Zoho Books. We all appreciate the power of the Custom PDF Layouts (the "New" template engine) that allows
    • HEIC File Type Viewer

      Hi, It would be nice to be able to click on the images in the All Entries/Reports Tables which are HEIC the same as JPG, PNG, etc. so they open in a viewer from Zoho or the Attachment Service, today HEIC requires you to download each image and open it
    • why does my campaign move back to draft?

      Every time I try to send my email campaign, it reverts back to Draft status.. this has happened three times in a row..how do i find out what the problem is? Thanks
    • Integration with...

      Dear Zoho Commerce team, Please could you consider the integration within Zoho Commerce / Inventory and Qapla'? (https://www.qapla.it/en/) This app is better than Aftership in many ways: - Aftership integration require PRO plan and price start from more
    • Adding multiple Attendee email addresses when adding a Zoho Calendar event in Zoho Flow

      I am trying to integrate Notion and Zoho Calendar via Zoho Flow. However, the Attendee email address supported by Zoho Calendar - Create event only supports one email address, so I am having difficulty implementing automation to automatically register
    • Peppol: Accept Bill (Belgium)

      Hi, This topic might help you if you're facing the same in Belgium. We are facing an issue while accepting a supplier bill received by Peppol in Zoho Books. There is a popup with an error message: This bill acceptance could not be completed, so it was
    • Remove the “One Migration Per User” Limitation in Zoho WorkDrive

      Hi Zoho WorkDrive Team, Hope you are doing well. We would like to raise a critical feature request regarding the Google Drive → Zoho WorkDrive migration process. Current Limitation: Zoho WorkDrive currently enforces a hard limitation: A Zoho WorkDrive
    • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

      Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
    • Service and Parts Line Item Limitations

      Hi FSM Team, We work with clients who deliver large-scale field service projects. In many cases, a single work order can contain 200+ service and parts line items. Currently, Zoho FSM limits work orders to 30 service and parts line items. While this works
    • Critical Need for Global Search in Zoho FSM

      Hello Zoho FSM Team, We are currently in the process of deciding whether to fully transition to Zoho FSM for managing our field service operations. At present, our team actively uses Zoho Desk (with over 50 users) and Service Fusion, which we are considering
    • 【Zoho CRM】やりとりの要約機能リリースのお知らせ

      ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 今回は「Zoho CRM アップデート情報」の中から、新機能のやりとり要約機能をご紹介します。 Zoho CRMのやりとりの要約は、Ziaが生成する機能で、データに関連付けられた最近のやりとりを簡潔にまとめて提供します。 メール、通話、ミーティング、メモなどを1つの明確な要約にまとめ、重要なポイント、過去の話し合いの要点、結果、次のステップを表示することで、日常的な課題に対処します。 Ziaの強みは、単なる要約にとどまらず、内容の解釈も行える点です。やりとりの要約では、顧客との会話に潜む遅延、フォローアップ漏れ、約束、期限、感情、意図を特定します。
    • Recent post analytics not very useful

      Hi, I'm enjoying some aspects of the Zoho Social. like being able to schedule posts to multiple channels. However, the recent posts analytics is disappointing. For example, I put up a reel on Instagram and Facebook yesterday. Instagram insights shows
    • [Product Update] Locations module migration in Zoho Books integration with Zoho Analytics

      Dear Customers, As Zoho Books are starting to support an advance version of the Branches/Warehouses module called the Locations module, users who choose to migrate to the Locations module in Zoho Books will also be migrated in Zoho Analytics-Zoho Books
    • Next Page