Client Script Support for List Page (Canvas)

Client Script Support for List Page (Canvas)

Hello everyone!

Welcome to another week of Kaizen. In today's post lets see how Client Script can be used in Canvas List Page to mask sensitive information from specific roles and add colors to Canvas List Page records based on custom criteria.This use case solves the question raised in this post.


In this Kaizen post,

  1. About Canvas List Page
  2. Supported Events for List Page(Canvas)
  3. Supported ZDKs for List Page(Canvas)
  4. Use Case
  5. Solution
  6. Summary
  7. Related Links


1. About Canvas List Page

The Canvas List Page provides ways to customize the record display in the module list. You can add record images, use custom buttons to represent fields, use specific font style or size for the field labels, change the alignment of field types and more. 

2. Supported Events for List Page(Canvas)

You can write Client Script for three different views of the Canvas List page.
  1. Custom List view
  2. Tile view
  3. Table view
You can trigger Client Script on your List Page (Canvas) using the following events.


Click here to know more about the Events.

3. Supported ZDKs for List Page(Canvas)

Client Script enables you  to customize List Views using the following list of ZDKs and Client Script functions.

  1. freezeColumns(option) - You can freeze list view and disable modifying columns.
  2. maskField(field_name, (length,character,reverse)) - You can mask fields in the List View
  3. sortByField(field_name, option) - You can sort field in the List View
  4. getRecords() - You can get Records in the List View
  5. selectRecords(criteria) - You can select Records in the List view by criteria
  6. selectRecordsByID(ids) - You can select Records in the List view by record ID
  7. clearSelection() - You can clear selected Records in the List view
  8. style(style_config, criteria) - You can style Records in the List View.

4. Use Case

Zylker uses Zoho CRM to manage high-volume orders where customer phone numbers are sensitive data. The CRM Admin wants role-based phone number masking on the Orders List Page (Canvas). To improve visibility and speed, the Admin also wants color-coded order cards in the List View based on order status.

Role-Based Phone Number Visibility



Order Status Color Coding




5. Solution

  1. Go to Setup > Developer Space > 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. // Mask phone number based on user role
  2. if ($Crm.user.role.name === "Sales Executive") {

  3.     // Mask 7 digits for Sales Executive
  4.     ZDK.Page.getList().maskField("Phone_Number", {
  5.         length: 7,
  6.         character: "#",
  7.         reverse: true
  8.     });

  9. } else if ($Crm.user.role.name === "Support Agent") {

  10.     // Mask 10 digits for Support Agent
  11.     ZDK.Page.getList().maskField("Phone_Number", {
  12.         length: 10,
  13.         character: "#",
  14.         reverse: true
  15.     });
    }

  16. // Highlight cancelled orders in light red
  17. ZDK.Page.getList().style({
  18.         record: {
  19.             backgroundColor: "#FFD6D6"
  20.         }
  21.     },
  22.     "(Status:equals:Cancelled)"
  23. );

  24. // Highlight delivered orders in light green
  25. ZDK.Page.getList().style({
  26.         record: {
  27.             backgroundColor: "#D3F9D8"
  28.         }
  29.     },
  30.     "(Status:equals:Delivered)"
  31. );
  1. Use $Crm.user.role.name to retrieve the role of the currently logged-in user.
  2. When the role is Sales Executive, use ZDK.Page.getList().maskField() on the Phone_Number field to mask the first 7 digits, where 
    1. length defines how many characters should be hidden
    2. character: '#' specifies the masking symbol
    3. reverse: false ensures masking starts from the beginning, allowing partial visibility.
  3. When the role is Support Agent, use ZDK.Page.getList().maskField() on the Phone_Number field to mask all 10 digits, fully hiding the phone number using the same masking parameters.
  4. Use ZDK.Page.getList().style() to apply conditional styling to list records by configuring the record parameter to set the row backgroundColor.
  5. Apply the condition (Status:equals:Cancelled) to highlight cancelled records in light red, and (Status:equals:Delivered) to highlight delivered records in light green, enabling quick visual identification.

  6. Here is how the Client Script works for a "Sales Executive".



  7. Here is how the Client Script works for a "Support Agent".



  8. Here is how the Client Script works for a for other roles like, Manager and Admin.



6. Summary

  1. Mask sensitive fields dynamically in List Page Canvas
  2. Apply role-based logic using current user context
  3. Improve list view readability with conditional record styling

7. Related Links

  1. List Page Canvas
  2. Client Script Overview
  3. ZDK Documentation
  4. Event dictionary
  5. Client Script related Kaizen posts








    • 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

    • Custom form - Duplicate Value Present

      I am new to Zoho People. I create a new form on Zoho People quite simple. A date (by default the current date) and a radio button with 3 options (Yes, No, Not applicable) I defined the date as ‘No duplicate’ as only one entry by date is allowed. I added:
    • Zoho API connection issues

      Hi, Today at around 1930 GMT our application started experiencing intermittent timeouts from the Zoho API. These intermittent timeouts are not enabling our app to work properly. The API connection was working just fine before. HTTPSConnectionPool(host='www.zohoapis.com',
    • Query Regarding our Partnership between AIC-JKLU and Zoho

      Dear Zoho Team, I am writing to raise a concern on behalf of AIC-JKLU, one of Zoho’s incubator partners. Recently, our startups have been facing difficulties while trying to get themselves onboarded on Zoho through our dedicated partner link. Unfortunately,
    • Getting events in the future

      Hi I am trying to get events in the future by calling this API Endpoint https://www.zohoapis.eu/crm/v8/Events?fields=Event_Title,Created_By,Created_Time,Start_DateTime But that gives me all events in the database. How do I make a query that returns all
    • Created Date/Invalid Fields

      Since Saturday we have suddenly had issues with our webhooks and data retrieval from CRM. Specifically how Created Date is handled. It appears there was some sort of change within CRM that broke a lot of our code that has been in place for several years.
    • Revenue Management: #9 Revenue Recognition in Media & Publishing

      Media & Publishing industry has evolved in recent times. It offers subscriptions, bundles digital and print access, runs sponsored content, and sometimes even sells ad spaces. If you run a media or publishing business, you will always get into a situation
    • Zoho CRM Community Digest - July 2025 | Part 2

      Hello, Everyone! We’re closing out July with a can’t-miss highlight: Zoholics Europe 2025! Happening from September to October, it’s your chance to level up your CRM skills, covering everything from automation and CPQ to dashboards and advanced workflows.
    • How can I trigger a flow action only once while updating contact?

      Hi, we have a trigger to merge&mail file when the field YYY is filled out. For this acion I used "Create or update module entry". But unfortunately we get tens of email on a day with this merged file, because the contact is being regularly updated. The
    • Copy a Record Template from one Form to another

      I have a Creator application with several forms.  I developed a record template for one of the reports/forms but want to use most of it for another of the form/report combinations in the application. Is there a way to copy the template (code or otherwise) to another form?
    • Tip of the Week #70 – Create common team signatures for your shared inboxes

      Did you know that a small detail, such as an email signature, can make a big difference in how your brand is perceived? One simple yet smart way to enhance your team’s communication is by creating common team signatures for your shared inboxes. Instead
    • Enhanced data export features: XLSX format, custom character encoding, and selective record export

      Greetings all, Here are a few enhancements related to exporting CRM data, including the ability to export data in XLSX file format now. The Export feature under Data Administration now offers new options that expand its flexibility and enable users to
    • Tip #42 – How to manage data security with Privacy Settings – 'Insider Insights'

      Data privacy is a cornerstone of trust in remote support. Through Privacy Settings in Zoho Assist, you can set up how data is gathered, stored, and handled in your organization. These settings ensure compliance, data protection for sensitive details,
    • Ticketbai! en el Pais Vasco

      Hola a todos, En enero de 2.022 se va a implantar en el país vasco un nuevo sistema de facturación, denominado ticketbai!, ¿hay alguna previsión de realizar las adaptaciones en zoho books o zoho invoices? Ignoro la cantidad de clientes que tienen estas
    • Zoho CRM mobile app feature update: home page widgets, field tooltips and user image upload

      Hello everyone! Your business doesn't pause when you're on the move, and neither should your CRM. That's why in our latest update, we've introduced a few new features to make your mobile CRM experience smoother and more efficient. Let's take a quick look
    • Zoho CRM Plain Text Template: Line Breaks and Formatting Issue

      Hello, I'm following the instructions to create email templates in Zoho CRM, but I'm having a problem with the plain text version. https://help.zoho.com/portal/en/kb/zoho-sign/integrations/zoho-apps/zoho-crm/articles/zoho-crm-email-templates#Steps_to_create_a_custom_email_template
    • Optimizing Task Handling: Auto-Remove Recurrence for cancelled Tasks.

      Hello Everyone, A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. Requirement:
    • Important updates to your connectors

      Hello everyone, Greeting from Zoho Creator! We're excited to announce that we'll be rolling out significant backend updates to Zoho Creator's built-in connectors to enhance security by following the latest frameworks. The existing version of some of the
    • Create, collaborate, and manage agreements with Zoho Sign

      Agreements drive business. We launched Zoho Sign in 2017 as a simple digital signature tool to sign agreements from anywhere, at any time. Over the years, we've learned that most agreements go through last-minute changes before they're signed. Our users
    • Function #25: Automatically generate purchase orders from a sales order

      We kicked off the "Function Fridays" series with the goal of helping you automate your everyday accounting tasks. As we delve into today's post, I'm delighted to announce that we're here to present the 25th custom function in this series. While it is
    • hiding a topic from all but one segment (or list)

      My organization sends out a number of newsletters using Zoho Campaigns. One of those newsletters is for volunteers. In order to become a volunteer, a person has to first go through our volunteer orientation (training). After that, they can receive newsletters
    • How do I set up this automation correctly?

      When contacts enter my Subscribers list, I want it to reference a custom field to see if it is empty. Then I want it to do two things: If empty: Assign a tag based on a different custom field. If that custom field is empty, assign a different tag. If
    • 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
    • Desk x CRM Integration

      Howdy! We currently use SalesIQ but we are considering moving across to Desk as it seems to have more functionality that we want. One of the pulls is the ability for our customers to self serve. But, I might be getting over excited and not actually need
    • Issue with Save & Share Link – Works for Others but Not Creator

      I’ve enabled the "Save and Share" feature in Zoho Forms, and it works correctly for all users accessing the public link—except for me (the form creator). Issue Details: When I save and share the link, recipients see a “no permission” error. The form is
    • Save the pdf report from a registration form in a Folder

      Through Zoho Forms I created a registration form with quite a lot of rules to handle different variables (TEAM types, payment in installments, etc.), and the result is pretty good. The automatic PDF that is sent to the respondent upon submission is already
    • zoho forms integration to zoho work drive

      Scenario: A user fills out a Zoho Form, entering details such as email, mobile number, and other required information, and uploads supporting documents like PAN, Aadhaar, etc. Upon submission, the data is available in Zoho Forms Reports. Requirement:
    • Zoho Forms to Zoho CRM Integration failed - can I restart it?

      The integration of Zoho Form to Zoho CRM has failed. Is there a way for me to restart it for the impacted entry?
    • insert an equation, but in document, it shows an image not available.

      I'm new to Zoho writer and used Zoho writer in desktop app version . When I inserted an equation, I got an image not available sign. Any help is appreciated. Thanks, Charles
    • Zoho Desk Android app update - Swipe action customization

      Hello everyone! We have brought in support for the swipe action customization in latest version(v2.9.13) of the Zoho Desk Android app update, enabling you to configure left and right swipe gestures on tickets to carry out the actions swiftly without opening
    • Arranging Ticket Templates

      Is there any way to arrange our ticket templates? It doesn't look very organised when it's just arranged according to when they were created. We want the list to look more organised, by arranging/grouping them by topics, or even just by alphabetical
    • What they mean with "Portal"?

      I just downloaded this app to take my personal notes on digital art studio because it seemed to me the most comfortable app to do it, I use it very often, what do they mean by “no activity on your portal”? I have about 1 year of work here and I don't
    • favorites no longer listed

      Hello, I can no longer navigate to my Favorites from the pulldown at the top of my grid view (see attached screenshot). I wasn't able to find it anywhere! Please help me display my Favorites. Thank you!
    • Notecards Disappeared

      Got a new phone. Downloaded and signed in Zoho Notebook. Not finding the Note cards. Just Empty Note books. Frustrating.
    • Table Errors

      Hello, I'm new to Zoho Notebook and using it on several Mac/Apple devices. My question is regarding tables: Why do they become broken, and how to fix the error without retyping all my data? (Please see the screenshot attached.)
    • Online Calculator with Zoho Forms?

      I'd like to build a custom calculator on my website. Zoho Forms seems to offer all the fields for basic calculations performed live without pressing any "Calculate" buttons. Unfortunately, there is still that "Submit" button at the bottom. There is nothing
    • Zoho Tables instead of Zoho Creator Spreadsheet reports <3

      That would make my day for sure. Zoho Creator is create, but miss data entering as AirTable/Spreadsheet can. Seeing Zoho putting effort in this makes me think maybe one day we could see a similar interface for Zoho Creator spreadsheet reports. B.
    • Notebook Stack

      Hi Everyone I Hope you´re fine, I´m sorry if this idea was posted before (I made a search but I haven´t find anything related). So, Having the possibility of stacking notebooks would be an interesting way to order notebooks that correspond to the same
    • Writing on sketch cards is bugged when zoomed in

      When zoomed in, it writes a noticeable distance above or to the side of where you're actually trying to write. The further you're zoomed in, the more noticeable it is. Zooming is also entirely absent on the desktop version.
    • Swipe between notes on iPhone

      It'd be convenient if I could move from one note to the next in a notebook simply by swiping left to right.
    • Sales IQ chat is not working in signed android apk

      I have integrated ZOHO sales IQ support chat and i have followed each step and its working fine in my development build but when i create signed APK for it. Chat does not work in it and showing awaiting for detail. I previously asked the same query but
    • Next Page