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 #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
    • Recent Topics

    • Marketing Tip #36: Optimize your online store for AI search

      Search is changing fast. Along with traditional search engines, AI-powered search and recommendation experiences are becoming a bigger part of how customers discover products online. Stores that are well-organized, descriptive, and consistent are more
    • Zoho Marketing Automation is upgrading its security standards: Here's what you need to know

      Hello, The Zoho Marketing Automation team here with an important security update. Keeping your data safe is something we take seriously, and as part of our ongoing efforts to strengthen platform security, Zoho Marketing Automation will stop supporting
    • Zoho developer edition does not work for us

      Hi Is anyone else having this problem? I'm signed in with our admin/super user account. When I click on the link on this page: https://www.zoho.com/crm/developer/docs/dev-edition.html I am asked to agree to Terms and Conditions. Clicking Agree to Terms
    • Zoho Campaigns is upgrading its security standards: Here's what you need to know

      Hello, The Zoho Campaigns team here with an important security update. Keeping your data safe is something we take seriously, and as part of our ongoing efforts to strengthen platform security, Zoho Campaigns will stop supporting older browsers and API
    • 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
    • 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
    • Automation Series: Schedule Function for repetitive tasks

      Many organizations that run multiple projects need the same activities happening at regular intervals. Activities may range between monthly maintenance, calibration, upkeep, or compliance checks. In this article, we shall discuss how to automate the process
    • Get item's custom field data for a custom button/function

      Hi, I’m working on a custom button for the Invoice details page in Zoho Books. I need to calculate a Tourism Levy only on some items. I already created an Item custom checkbox field: cf_tourism_levy In Zoho UI, the field is there and I can see it on the
    • Use Secure Public Links for Sharing Transactions

      Public links are the quickest way to send invoices or quotes to your customers. You can drop the link in an email, SMS, or WhatsApp message. But, links can be forwarded, and once they leave your customer's inbox, you can no longer control who sees your
    • Process large CSV file | forach limit

      Hello there, given is a CSV file that usually has between 500 and 1000 rows and consists of 31 columns. I would like to change the file uploaded by a user, a certain value must always be set in one column and only under certain circumstances in another
    • Zoho Apptics is now on Apple TV

      Zoho Apptics is now available on Apple TV, bringing your app’s insights to the big screen. With the Apptics tvOS app, you can: Monitor your app’s metrics like sessions, screens, crashes, active devices and new devices on a larger screen. Stay updated
    • Email Routing: Manage how emails are delivered across your organization

      Organizations often operate across multiple mail systems, whether during a phased migration from a legacy server, while maintaining backup servers, or when integrating with third-party archival solutions. In these scenarios, standard email delivery may
    • 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
    • Updating Zoho Books UI when a field is changed

      I have this script to update Quotes Expiry date. estimateID = estimate.get("estimate_id"); numberDaysTobeExtended = 14; estimatedate = estimate.get("date").toDate(); organizationID = organization.get("organization_id"); estDate = estimate.get("date");
    • ZOHO FSM - Dispatch Console Drive time

      Is there a way to view drive time on a tech or estimate drive time from location to location? I need to see this on the Dispatch Console
    • Use Secure Public Links for Sharing Transactions

      Public links are the quickest way to send invoices or quotes to your customers. You can drop the link in an email, SMS, or WhatsApp message. But, links can be forwarded, and once they leave your customer's inbox, you can no longer control who sees your
    • 【参加無料】7月開催|Discover Zoho(金沢 /札幌)・AI and DX Summit(大阪)のご案内

      Zohoユーザーの皆さま 7月に開催予定のイベントを2つご紹介します。 どちらも参加無料で、Zohoをご利用中の方はもちろん、導入をご検討中の方もご参加いただけます。 ━━━━━━━━━━━━━━━━━━ 📍 Discover Zoho セミナー(金沢 / 札幌 / 福岡 / 仙台) ━━━━━━━━━━━━━━━━━━ Zohoの主要サービスをまとめてご紹介するセミナーです。 営業管理、人事、社内コミュニケーション、業務アプリ開発など、さまざまな業務課題に対して Zohoがどのように活用できるのかを、実際の業務シーンを交えながらご紹介します。
    • Function #62: Display associated Quote on Invoice details screen

      Hello everyone! Today, we are sharing a Related List script that makes it easy to view and access the quote from which an invoice was created right from the invoice details screen. This Related List displays the Quote number and Amount, allowing you to
    • Ability to select the attachment of a record when sending an email from FSM

      Hello FSM Team, FSM allows us to add attachments to any record (Estimate, Work Order, etc.). However, when we're sending an email from FSM, it is currently not possible to choose from the attachment in FSM to add to the email. When sending an estimate,
    • Temporary Telegram Messaging Restriction in India

      The Government of India has temporarily restricted access to Telegram in India. This action has been communicated by the National Testing Agency (NTA) through an official public notice. Read the full notice here. Impact As a result, Telegram messaging
    • Zoho Creator + LLMs using Zoho MCP: Bring contextual AI into your apps

      Hello everyone, We're excited to share that Zoho Creator can now be integrated with leading AI models(like Claude) using Zoho MCP. As you know, Zoho Creator has been a pioneering low-code platform with a razor-sharp focus on making it easy to build business
    • The 3.1 biggest problems with Kiosk right now

      I can see a lot of promise in Kiosk, but it currently has limited functionality that makes it a bit of an ugly duckling. It's great at some things, but woeful at others, meaning people must rely on multiple tools within CRM for their business processes.
    • Use Secure Public Links for Sharing Transactions

      Public links are the quickest way to send invoices or quotes to your customers. You can drop the link in an email, SMS, or WhatsApp message. But, links can be forwarded, and once they leave your customer's inbox, you can no longer control who sees your
    • 【開催報告】大阪 Zoho ユーザー交流会 NEXUS 2026/6/4(木)ZendeskからZoho Deskへ移行しコスト削減

      ユーザーの皆さま、こんにちは。コミュニティGの中野です。 6月4日(木)に、大阪 Zoho ユーザー交流会を開催しました。 本投稿では、その様子をお届けします。 当日の登壇資料などもこちらに共有しますので、参加できなかった皆さまもぜひご参照ください。 今回の大阪 ユーザー交流会では、ビープラスシステムズ株式会社 石井さんによるユーザー活用事例セッションのほか、 「Zohoで"これだけは外せない"ルーティーン」をテーマにしたグループワークを実施しました。 登壇いただいた石井さん、そしてご参加いただいたZohoユーザーの皆さま、ありがとうございました!
    • When will Zoho Books offer native NFS-e issuing, now with Brazil's National Standard?

      Hello Zoho Team and Community, I'd like to follow up on my previous suggestion regarding the critical need for Zoho Books to natively issue Brazilian Service Invoices (NFS-e). My original idea was that this could be achieved by extending the same integration
    • Zoho CRM custom button function, how to add line breaks/ new lines in the return message

      When creating button function in CRM it requires a `return "";` Then when the button is client by the user a message pops up with what ever is returned from the function. But I want to have a message with multiple lines, meaning I need to add a line break
    • Is there a way to update the forecast category independently from the deal's stage through an API?

      Hello, We're experimenting with the Forecast module and we've created custom categories to signal the top 10/50/100 deals currently in the pipeline. We would like to assign these categories automatically using custom functions but I found that the only
    • Small one person business needs everything in one place

      I just purchased a business and have a couple of your services. I would like to get everything in one place. I am a state trainer. I would like to get my invoices, payments, online classes, calendar for scheduling, maintenance, etc. in one place. can
    • Super Admin Logging in as another User

      How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Latest Update (27th April 2026): With the early
    • Re-Apply SLA When Ticket Reopened from Closed Status?

      If you have an SLA applied, timers are deactivated when going to "On Hold" status type and reactivated when going back to an Open status type. What we discovered is when a customer replies to a closed case and it reopens, the SLA is not applied and timers
    • Conditional Drop Downs

      Am I the only one that has a problem when setting up the same project for multiple customers - resulting in a HUGE number of projects (e.g. Project A - customer 1, Project A - customer 2, Project A - customer 3 etc.). OR, am I doing it wrong? What results
    • Automating CRM backup storage?

      Hi there, We've recently set up automatic backups for our Zoho CRM account. We were hoping that the backup functionality would not require any manual work on our end, but it seems that we are always required to download the backups ourselves, store them,
    • Lead score decay timing and excluding specific campaigns from scoring

      Hi team, I have two quick questions about lead scoring: 1. When does a lead's score start going down? Like, after how many days of no activity does the score begin to drop? 2. Is there a way to stop certain campaigns from adding points to a lead's score?
    • Summer release '26 should be called Enterprise Summer Release '26

      Summer release '26 should be called Enterprise Summer Release '26 because almost all updates or the more useful ones, are limited for Enterprise subscriptions. us with Basic or Premium susbcriptions are basically left in the cold.
    • ZoHo Mail & MCP connectors

      Is ZoHo working an MCP connector for mail?? I find it very useful in Gmail to have Claude summarize messages for me. Thanks Jim P.S. Sorry if this is the incorrect forum. Mods please adjust as necessary.
    • FINALLY! 100% Responsive iFrame for HTML Page Snippet

      For the past two years or so I have been battling with Page Snippets' responsiveness (HTML, Embed, and ZML). Furthermore, if you use the native embedded reports, especially more than one report on a page, you have to set a static height because they're
    • Associate project with timer on iPhone

      When I start the timer without first associating a project (on my iPhone), its starts fine but now when I need to associate a project, and click on the link, I get a list of EVERY project I've ever put into Zoho Books. It used to just show active projects.
    • Import and Export of website.

      Hi, i have raised this ticket regarding challenges i am facing while importing a website on zoho sites. I have created my website on Squarespace and now i want to move it to zoho sites so i want to know what i am supposed to do whats the correct step
    • Add multiple users to a task

      When I´m assigning a task it is almost always related to more than one person. Practical situation: When a client request some improvement the related department opens the task with the situation and people related to it as the client itself, the salesman
    • Important update on our transition to the new video platform framework

      As part of our ongoing platform changes, users in select regions, including the United States and other supported data center locations, have been migrated to our new video platform framework. Due to this migration, some participants may notice changes
    • Next Page