Kaizen #91: Dynamic Lookup filters using Client Script

Kaizen #91: Dynamic Lookup filters using Client Script

Hello everyone!

Welcome back to another captivating Kaizen post.  In this post, we will explore the process of implementing lookup filters using Client Script. 

What is a dynamic lookup filter?

 A dynamic lookup filter is a feature that allows you to specify conditions or rules for filtering the options displayed in a lookup field based on the values of other fields or related data . It dynamically adjusts the available lookup options to provide a more targeted and relevant selection for users.  It enables a more intuitive user experience by presenting only relevant choices based on the user's selections. Not by just using the field value on that page, you can also filter the results of the lookup with current date/time, logged-in user, or any custom condition that you can handle using Client Script. You can achieve this in Create, Edit, Detail (Standard) and Clone pages.

You can apply dynamic filters to the following fields using Client Script.
  • lookup fields
  • sub-form lookup fields 

Use Case 1 -Lookup field filter in a form

Consider a Manufacturing company, ABC. The Admin wants to get the list of accounts that have the Account Type as Vendor for the lookup field name "Linked Account" in the Leads module only for standard layout.

Solution
  • Go to Setup > Developer Space > Client Script. Click +New Script.
  • Specify the details to create a script and click Next



 You can filter the list of Accounts visible in the lookup field using the ZDK setcriteria() , so that only the accounts of Account Type Vendor will be visible when the user clicks the lookup icon. 

  • Go to Setup > Developer Space > Client Script. Click +New Script.
  • Specify the details to create a script and click Next .
  • Enter the following script in the Client Script IDE and click save.

  var field_obj = ZDK.Page.getField('Linked_Account');
 field_obj.setCriteria("(Account_Type:equals:Vendor)", { filterOnSearch: true });

You should use the ZDK setCriteria  along with the filter condition, in order to apply filters.

setCriteria() ZDK


You can view the ZDK Documentations in the Library section of Client Script IDE

Here is how the Client Script works.




Use Case 2 - Dynamic lookup filter in a sub-form

Zylker is a health care company. The Admin wants to list the available instruments in the lookup field " Instrument Name " based on the type of Instrument that a service agent selects in the field "Type" only for standard layout. For example, if the service agent selects the Type as "Surgical Instruments", then he should be allowed to choose only instruments of such type in the subform.

Solution:

  • Go to Setup > Developer Space > Client Script. Click +New Script.
  • Specify the details to create a script and click Next .

  • Enter the following script in the Client Script IDE and click save .

var Product = ZDK.Page.getSubform("Product_list").getField("Product_Name");
Product.setCriteria("(Product_Category:equals:"+value+")", { filterOnSearch: true });

  • Here, based on the value the user selects in the "Product Category" , the Product Name will be displayed by picking the Instruments from Product module where the category is equal to the user selection.
  • Here is how the Client Script works.

You should use setCriteria ZDK in order to apply filters for lookup fields in Client Script.

Now, you may wonder what about Lookup filters of the field properties in layouts, when to use them and what is the difference.

Here is the comparison which shows when to use lookup filters in Client Script!
( Please note that this comparison holds good as on June 2023, there may be updates made to below features )

Lookup filters in field properties
Lookup filters in Client Script
 
Use this when you want to apply filters based on entity criteria.
Use this when you want to apply filter based on user selected field value.
 
The filter criteria is specific to the module . i.e The lookup  filter will be the same for all the layouts of the module.

The filter criteria is specific to the layout. i.e The lookup filter will be not be the same for all the layouts of the module. 

Sample use case

You can use this when you want to apply filters where you know the values involved in the criteria like 
Created Date is Today, List the Accounts where the account Type is 'Supplier', Modified by Logged in user.

Sample use case

You can use Client Script when the criteria depends on user selection like to list the available instruments in the lookup field "Instrument Name" based on the type of Instrument that user selects in the field "Type". 

We hope you found this post useful. We will meet you next week with another interesting topic!

If you have any questions let us know in the comment section.
Cheers!



    • Recent Topics

    • Domain Transfer

      Hello there! I wanted to know if I can transfer my domain from Zoho to other hosting providers or use a different hosting provider instead of zoho's services.
    • Select CRM Custom Module in Zoho Creator

      I have a custom module added in Zoho CRM that I would like to link in Zoho creator.  When I add the Zoho CRM field it does not show the new module.  Is this possible?  Do i need to change something in CRM to make it accesible in Creator?
    • New User - Opening Stock Aging Report

      I am setting up new client and am entering Opening Stock - created items and entered quantity/price details. Now the aging report is showing all the opening stock as new. How do I enter the Purchase Dates of these items so that I get accurate Inventory
    • Bulk Receive Multiple Purchase Orders

      Is there a feature or function that will allow you to bulk receive issued purchase orders? I have about 100 that need to be received from 5 years ago.
    • Manual Invoice

      How to create a Manual invoice, I need to enter Amount directly instead of (qty*Rate). our company is a service sector
    • Effective Inbox Organization: Folders vs Tags in Zoho Mail?

      I'm exploring the best ways to organize a busy inbox, especially when managing multiple clients or project using Zoho Mail. I’d love to know what works best for others: 1. Do you prefer **folders** (possibly with sub-folders) for each client or project?
    • Merging contacts and or accounts

      Hello, In a prior CRM we were able to merge contacts and or accounts.  We have turned on the function to stop multiple contacts with the same email, so we can prevent multiple contacts from happening, however, we now have multiple contacts that have the
    • Capture Reason for absence next to Campaign Member Status. Is there a reasonable workaround?

      I've reviewed the topics I could find to do with this but still couldn't find anything that satisfies our requirements: We would like to track a *reason* (picklist or text, doesn't matter which) why a Campaign Member (Lead or Contact associated with a
    • Zoho Learning Management System - Certificate Upload by Employees

      We are planning to enroll employees in courses which are hosted by coursera or similar sites. I want to share the links of those courses and also want employees to upload their completion certificate once they are done. Is this function possible in
    • Add RTL and Hebrew Support for Candidate Portal (and Other Zoho Recruit Portals)

      Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to set the Candidate Portal to be Right-to-Left (RTL) and in Hebrew, similar to the existing functionality for the Career Site. Currently, when we set the Career Site
    • Button or Links order

      Is there a way to re-order the buttons or links that are created?
    • 'Pin' notes, so that specific ones are always visible at the top of the 'notes' tab.

      It doesn't appear Bigin has the functionality to 'pin' a note to then have it always show at the top of the notes tab section of a record. Often times we have a large number of records, but key information we may want to have easily visible to all at
    • Request for Subform Support in Zoho CRM Webforms

      Hi Team, I hope you're doing well. I would like to bring to your attention that currently, Zoho CRM Webforms do not support Subforms, which limits our ability to send forms that mirror the actual structure used within Zoho CRM. This feature is extremely
    • Formatting Mailing Labels

      I want to use the "Print Mailing Labels" function on the drop down list, but I am not seeing a way to change the formatting on the mailing labels. At the moment, the information that appears on the mailing labels ARE NOT mailing addresses, but random
    • Maxima Address on FSM Customer

      Im trying to add probably 50 customers from one company but couldn't make it since it has limit..how do i add the limit?
    • How to Track Inventory Usage from Zoho FSM to Zoho Inventory?

      Hi everyone, We’re currently working on integrating Zoho FSM with Zoho Inventory, and we’ve encountered a challenge we’re hoping the community can help us understand better. Here’s the context: When we create a Work Order in Zoho FSM that involves parts
    • View subform entries without viewing a record in Zoho CRM | Kiosk Studio Session #8

      In a nutshell Have you ever wanted to take a quick peek at a record's subform? Examples might be invoiced items in an invoice, ordered items in a sales order, or purchased items in a purchase order. Let's say you're viewing your list of invoices in Zoho
    • Transforma tu Inventario: Control Inteligente y Funciones Clave en Zoho Inventory (Spanish Webinar)

      ¿Tu empresa necesita mayor trazabilidad y control en almacenes? Conoce cómo gestionar tu inventario con eficiencia y automatización... ¡y descubre las sorpresas que trae Zoho Analytics! Participa en nuestro webinar gratuito en español, este 19 de agosto
    • Dashlane discontinued its free plan: Here's why Zoho Vault's free plan is worth the switch

      Hey everyone, Dashlane password manager has officially announced that its free plan will be discontinued starting September 16, 2025. This change means that current free users will need to either upgrade to a paid subscription or export their data and
    • Mails are not being sent from custom Deluge function

      We are having troubles to implement sending Invoices / Sales_Orders etc. automatically using following deluge script: attachment_template_id = "aaaa"; record_id = "bbbb"; mail_template_id = "cccc"; //NEW aproach fileUrl = "https://www.zohoapis.com/crm/v8/settings/inventory_templates/"
    • Currency transition

      We are using Zoho CRM in Curacao, Dutch Caribbean. Our currency is currently the ANG. Curacao will be transition ing from using the ANG (Antillean Guilder) to using the XCG currency (Caribbean Guilder) on March 31st 2025, see: https://www.mcb-bank.com/caribbean-guilder.
    • Notes and Attachments visibility can now be restricted based on profiles

      Dear All, We hope you're well! We are here with a quick update about Notes and Attachments profile permissions. In the past, a record's Notes and Attachments were visible by default to all users with record access. However, as notes and attachments can
    • Zoho webinar--hard for agencies

      So, this is just a dive into our use case, and why we've been disappointed in Zoho webinar. We are a small marketing agency, and we wanted to add webinars to the services we provide, as many of our clients want to learn to use them as part of their content
    • Celebrating Raksha Bandhan with Zoho Desk: A Bond of Trust, Protection, and Service

      Raksha Bandhan, celebrated across India, symbolizes the sacred bond of protection and affection between siblings. “Raksha” means protection, “Bandhan” means bond or knot: together, it represents a knot of care and security. On this occasion, we'd like
    • Banking > Import statements with a csv file

      Good morning, I am regularly using the "import statement" option to match my transactions. I've been using csv files produced by my bank online and was able to import my transactions. Until now. Thank you for your help for fixing this ! Alex.
    • ZOHO BOOKS - RECEIVING MORE ITEMS THAN ORDERED

      Hello, When trying to enter a vendor's bill that contains items with bigger quantity than ordered in the PO (it happens quite often) - The system would not let us save the bill and show this error: "Quantity recorded cannot be more than quantity ordered." 
    • Has anyone successfully added Microsoft Graph API Oauth2 as a connection?

      I'm having trouble getting Microsoft Graph API created as a connection in zoho crm. Has anyone successfully added Microsoft Graph API Oauth2 as a connection? My issue is not necessarily on the Zoho side, but understanding how to set up the Microsoft side
    • Syncing Timesheets between Projects and Desk

      All users able to see their own timelog entries from all apps in one place, synced immediately. All managers able to view total/all time entries from one place. This is something that has come up for us and multiple clients. Example: we have a client
    • Spell Check default language

      Hello All, Is it possible to set the Spell Check default language? I can't find it in the settings. Thanks a lot! Levente
    • Zoho Backstage 3.0 - Boostez vos événements avec des outils malins

      Zoho Backstage vous accompagne dans l’organisation d’événements réussis, avec des outils qui simplifient la planification, optimisent l’exécution et renforcent la connexion avec votre public. La version 2.0 a apporté une nouvelle interface, plus de flexibilité
    • Portal user activity reporting

      Aside from the metrics section in the admin dashboard, is there a way to view/create reports for portal user activity? Im looking for a more granular option to see exactly what users are utilizing the portal. Thanks!
    • Automation #11 - Auto Update Custom Fields with Values from Emails

      This is a monthly series designed to help you get the best out of Desk. We take our cue from what's being discussed or asked about the most in our community. Then we find the right use cases that specifically highlight solutions, ideas and tips to optimize
    • Admins to set Agents Picture

      Admins should not have to rely on agents to set a nice profile picture for them. Admins get the headshot pictures from HR and should be able to upload and set their picture, not rely on them to: 1) upload a picture at all 2) upload a good picture 3) upload
    • Time Tracking Reporting and Billing

      I wish for the time tracking module to be enhanced further. Currently it is independent of Support Plans and Contracts. Support Plans and Contracts are also mostly separate. We need a better dashboard of this with the ability to natively mark billed or
    • Enhanced Email Signature Folding

      We have departmental signatures setup which are great, however, when viewing ticket details, it gets very overwhelming when scrolling though threads and conversations where you scroll past ten different signatures of your own team, then ten signatures
    • How to add formatting in zoho.cliq.postToUser(...) message?

      In a CRM Deluge function, I'm trying to use the message formatting guidelines given here: https://www.zoho.com/deluge/help/cliq/posting-to-zoho-cliq.html#message-formats My message is: message: #Title text. The result in Cliq is: #Title text. (no large
    • How to add line breaks in zoho.cliq.postToUser(...) message?

      In a CRM function using Deluge I'm sending this message and attempting to add some line breaks but they are ignored. Is there another way to add these breaks? My message: message: New urgent task\nDescription \nThis is a fake description.\n A new line?
    • Zia Agents/End of Day Reports

      As a manager or owner it would be nice if Zia analyzed today's (or this week's tickets) and gave an end of the day report to management team. - what important tickets were worked on or submitted today? - what agents were unproductive today and answered
    • Project Cost Tracking

      I see there are questions/concerns that Zoho doesn't track costs to a tasks in a project. We are a manufacturer and are in the early stages of tracking costs to project. I would like to expand out the COGS Chart of accounts in Books and record costs via
    • How to record if the payment made is return due to transaction failed.

      So there is Bill of $2000, and a payments made transaction to clear the bill. The amount is actually deducted from bank account. However, a few days later, I found the bank returned only $1750 cause there are $250 bank service charge for this failed transaction.
    • Next Page