Kaizen #100 - A Special Q & A for Our 100th Post

Kaizen #100 - A Special Q & A for Our 100th Post

Hello Everyone! 

Today marks a significant milestone – our 100th Kaizen post! We are beyond thrilled to have shared this journey with you!  Your engagement, feedback, and support have been pushing us forward. Thank you! 

We recently asked you for your feedback on our Kaizen series through this form, and we are so grateful for the thoughtful responses we received. We asked, and you answered! We are excited to share our answers to some of your questions in our 100th Kaizen post.

1. Please add a function to get the API Name of the field that caused the onChange in the page processing. For example, if I want to do an automatic string modification process, I cannot get the field name changed by the user, so I have to do the process for all fields, which is slow. That said, setting it up in "Item Processing" is difficult if there are a lot of items and is not very maintainable. 
To get the API Name of the field that cause onChange event in a page, you can simply use the field_name argument.

To get the API Name of the field that cause onChange event in a page, you can simply use the field_name argument.



In Client Script, based on the event that you configure, you can use the appropriate arguments while you code the script. Click here to know the arguments available for various event types. 

Now let us execute the above log script for create page of Leads module using the Run component.



In the below gif, you can see that for every field that the user enters data, the log statement will give the api name of the corresponding field updated by the user.



Note:
The field_name argument for onChange Page event is available for Create, Clone, Edit, Create(Wizard), Edit(Wizard), Detail Page(Canvas)

For a scenario where there are requirements for multiple fields present in the same page, let us see how to write a single Client Script efficiently. Check the Best Practices of Client Script documentation for more details.

At Zylker, a manufacturing company, consider that you want to achieve the following using Client Script. In the create page of Orders module, whenever the field Product is Ignition box, Category should get auto-populated as Ignition System. If the Product is Voltmeter then Category should get auto-populated as Gauges and meters.
Whenever the user edits or adds the Phone Number with length less than 10, display an error message near the field. If the field Country is India, the maximum number of digits that the user can enter the field Phone Number should be limited to 10. 

Instead of creating 3 separate Client Scripts with field event , you can create a single Client Script with onChange Page event.
You can use the "field_name" argument to check which field was changed by the user.
Here is the Script.


 switch (field_name) {
    case 'Product':
        var product_name = ZDK.Page.getField('Product').getValue();
        var category_field = ZDK.Page.getField('Category');
        // requirement - 1
        if (['Ignition box', 'Ignition coil', 'Spark plug'].includes(product_name)) {
            // Populate value for picklist field 'Category' based on the condition
            category_field.setValue("Ignition system");
            ZDK.Page.getField('Number_of_Boxes').setMandatory(true); // requirement - 2
        } else if (['Speedometer', 'Odometer', 'Voltmeter','].includes(product_name)) {
            // Populate value for  picklist field 'Category' based on the condition
            category_field.setValue('Gauges and meters');
        }
        break;

  case 'Phone_Number':
        var phone_field = ZDK.Page.getField('Phone_Number');
        if (phone_field.getValue().length < 10) {
            phone_field.showError('Enter a valid phone number'); // requirement - 4
        }
        break;

 case 'Country':
       ZDK.Page.getField('Phone_Number').setMaxLength(10);
       break;
    case 'Category':
        if (ZDK.Page.getField('Category').getValue() === 'Ignition system') {
            ZDK.Page.getField('Number_of_Boxes').setMandatory(true); // requirement - 2 when category is changed in ui
        }
        break;
}


In the above script, based on the field updated by the user, execution will happen.



2. I would like to be able to retrieve sub-form records with COQL.

Subform is a data section embedded in the primary form to collect details related to the parent record. It  helps in maintaining multiple records under a single parent record. These subform records cannot be fetched via the parent module in the Query API. Since subforms are treated as individual modules, you should state their API names to access their records or fields. Consider a manufacturing company, Zylker, which uses Zoho CRM for effective maintenance of customer relationships. The suggestions and feedback from each of their clients are tracked with the help of a subform called Client Review in the Accounts module.
Consider a manufacturing company, Zylker, which uses Zoho CRM for effective maintenance of customer relationship. The suggestions and feedback of each of their clients is tracked with the help of a subform called Client Review in the Accounts module. 
Now the Manager wants to fetch the suggestions from all the Accounts. Let us see how he can achieve this using COQL API. 
Step 1: Make a GET Modules metadata API call to get the api_name of the subform.
Step 2: Using the api_name of the subform, make a GET Fields metadata API call to get the api_name of the fields in the subform. 
Step 3: Use the api_name of subform and subform fields to construct a query. 

{
    "select_query": "select Suggestions from Client_Review where Suggestions is not null"

Step 4: Use this query in the COQL API. 

Request URL: {api-domain}/crm/{version}/coql

Request Method: POST

Scope: To access COQL API, you need to pass two scopes - ZohoCRM.coql.READ and ZohoCRM.modules.all. You can also use ZohoCRM.modules.{module_name}.{operation_type} in the place of ZohoCRM.modules.all. 

Request Body : 

{
    "select_query": "select Suggestions from Client_Review where Suggestions is not null"
}


Response :



Using the parent record id, you can fetch the subform records related to a particular Account.  Following is the request body to fetch the subform details particular to a parent record, 

{
    "select_query": "select Suggestions, Feedback from Client_Review where ((Parent_Id=5545974000003933016) and ((Suggestions is not null) and (Feedback is not null)))"
}

This query will fetch all the subform records of the specified record whose Suggestions and Feedback fields are not null as shown below. 





3. I want to discuss Subform in Zoho CRM.  Can the user filter subform record in Deal or Lead?

We can filter the records that have subform fields in them using COQL. Consider the example of the above manufacturing company, Zylker. The manager wants to fetch the details of those records in the Accounts modules that have Client Review details. This can be achieved by the following COQL query.

{
    "select_query":"select Parent_Id.Account_Name from Client_Review where id is not null  group by Parent_Id.Account_Name "
}

Response : 

In case you missed out our newsletter and announcement and could not fill out the feedback form, it is not too late to do it now. We invite you to take a few minutes, fill out the feedback form and share your queries and thoughts. We will continue to reply to your questions in our upcoming Kaizen posts.

Cheers!

    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • 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.
                                                            • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

                                                              Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner







                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources

                                                                                              Zoho Writer

                                                                                              Get Started. Write Away!

                                                                                              Writer is a powerful online word processor, designed for collaborative work.

                                                                                                Zoho CRM コンテンツ




                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方







                                                                                                              • Recent Topics

                                                                                                              • due date on cheue

                                                                                                                how to handle cheque in zoho books for customers and vendors including due date
                                                                                                              • Zoho CRM Portal Field Level Permission Issue

                                                                                                                Hi Support Team, I am using the Zoho CRM Portal and configuring field-level editing permissions. However, we are unable to restrict portal users from editing certain fields. We have created a portal and provided View and Edit (Shared Only) access for
                                                                                                              • WebDAV / FTP / SFTP protocols for syncing

                                                                                                                I believe the Zoho for Desktop app is built using a proprietary protocol. For the growing number of people using services such as odrive to sync multiple accounts from various providers (Google, Dropbox, Box, OneDrive, etc.) it would be really helpful if you implemented standard protocols such as WebDAV / FTP / SFTP so that alternative inc clients can be used.
                                                                                                              • 'Statement of Accounts does not exist' error received, when creating PO using api in Zoho Inventory

                                                                                                                Here is request json -- JSONString = { "date": "2019-09-24", "purchaseorder_number": "PO-6-1", "delivery_date": null, "delivery_org_address_id": 36221200000056XXX, "vendor_id": 362212000000564XXX, "attention": "Testing", "line_items": [{ "unit": "Pieces", "account_id": 36221200000003XXX, "quantity": 1, "item_id": 362212000000049XXX, "tax_type": "", "tax_name": "", "name": "One HD", "purchase_rate": 85, "tax_percentage": 0, "item_total": 85.00, "tax_id": "", "warehouse_id": 362212000000564XXX }] }
                                                                                                              • Zoho Projects API 100 requests/2 min. Limit

                                                                                                                Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
                                                                                                              • Unveiling Zoho Sites 2.0 - A new dimension in website building

                                                                                                                Dear Zoho Sites Users, We are thrilled to announce the launch of Zoho Sites 2.0 today! This refresh represents a significant step forward in the capabilities of Zoho Sites and is crucial for creating a lasting and positive impact on our customers' businesses.
                                                                                                              • Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API

                                                                                                                Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
                                                                                                              • Zoho Projects - Attachments added to Task and Bug emails are not saved

                                                                                                                Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
                                                                                                              • Zoho Inventory's latest shipping integration updates at a glance.

                                                                                                                Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
                                                                                                              • Sorting a list of record acquired from the zoho.crm.searchRecords function.

                                                                                                                This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record.  As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
                                                                                                              • Zoho Inventory Custom Field Update

                                                                                                                Hello All, In this post I am describing how can we Update the Custom Field Value in Zoho Inventory. // Get Org ID orgid = organization.get("organization_id"); // Field Value resvp = ifnull(item.get("purchase_rate"),null); // Record ID iid = item.get("item_id");
                                                                                                              • Deprecation of the Zoho OAuth connector

                                                                                                                Hello everyone, At Zoho, we continuously evaluate our integrations to ensure they meet the highest standards of security, reliability, and compliance. As part of these ongoing efforts, we've made the decision to deprecate the Zoho OAuth default connector
                                                                                                              • Alphabetically

                                                                                                                How can i arrange alphabetically - (Manage Manufacturer) Field in Item Master 
                                                                                                              • Spotlight series #6: The Show app for Android TV has a new look!

                                                                                                                Hello everyone! We are delighted to introduce our revamped and redesigned Show app for Android TV.  Smart TVs are exploding in popularity. Android TV alone has over 110 million active monthly devices. Zoho Show, as part of a constant effort to improve
                                                                                                              • Can i set a default value for country and state in address field in zoho creator?

                                                                                                                Can i set a default value for country and state in address field in zoho creator?
                                                                                                              • Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)

                                                                                                                This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input customerName = input.Customer_Name1; orderID = input.ID; customerEmail = input.Email_Address; //
                                                                                                              • Redirect after submission is not working after a few submission

                                                                                                                I have setup redirect url correctly and everything works as expected. However, it seems that there's a limit to the number of submissions before the redirect stops working. After the "limit" is reached, the page redirects to a seemingly zoho hosted page,
                                                                                                              • Enhancement Request for Multi-Asset Work Order Feature

                                                                                                                Hello Latha, Thank you for your continued support. The multi-asset Work Order feature is extremely helpful. I did some testing based on our requirements, and during the process, I noticed a few areas where we need your team’s support to improve the feature
                                                                                                              • Marketing Tip #8: Run limited-time offers

                                                                                                                Exclusive offers that don't last long make shoppers purchase right away instead of waiting. Run a flash sale or limited-time discount to convert interest into sales. Try this today: Set up a "Buy X Get Y" coupon in Zoho Commerce valid for a limited time
                                                                                                              • Add Option to Mass Dispatch by User

                                                                                                                Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
                                                                                                              • Free webinar: Zoho Sign unwrapped – 2025 in review

                                                                                                                Hey there! 2025 is coming to an end, and this year has been all about AI. Join our exclusive year-end webinar, where we'll walk you through the features that went live in 2025, provide answers to your questions, and give you a sneak peek on what to expect
                                                                                                              • Zoho Projects - Email notification relabelling of modules not present on default templates

                                                                                                                Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
                                                                                                              • Publish to LinkedIn via API

                                                                                                                Hi, Is it possible to publish a job opening to LinkedIn (paid job slots) if creating a job opening via api / deluge function? Or is the user required to manually publish via the job boards process? Many Thanks Adrian
                                                                                                              • Include the "Added Email ID" to the Filters of a Report

                                                                                                                Hi, With a Report and lots of entries, a normal thing is to filter entries by the submitter, but that is not included in the Auto Filter of Reports and you can't add a custom filter to a Report without specifying the actual value. I would like to be able
                                                                                                              • Loops in Deluge

                                                                                                                Hi, Can someone tell me how I do a simple loop in deluge? For example, if i have a variable "X" containing a number of loops to perform, i would like to perform an action X amount of times. X = 10; do while (Y < X){       // ... do something } to further explain, the equivalent in PHP of what i am trying to acheive would be: $X = 20; for($Y = 1; $Y < $X; $Y++ ){       // ... do something } Thanks
                                                                                                              • I am facing a problem with an if-else condition

                                                                                                                If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
                                                                                                              • Zoho Projects - Reply by email to @ mentions posted on the Feed.

                                                                                                                When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
                                                                                                              • Zoho Analytics Bulk Api Import json Data

                                                                                                                HI, I’m trying to bulk-update rows in Zoho Analytics, and below are the request and response details. I’d like to understand the required parameters for constructing a bulk API request to import or update data in a table using Deluge. Any guidance on
                                                                                                              • Record Overseas Transactions Along with CC charges

                                                                                                                Hi All, We receive payments via stripe in multiple currencies and stripe takes around 2.5% fees. The amount is settled in INR into our local bank. What should be the currency of the income account used for Stripe payments? Here is a sample flow that we
                                                                                                              • Product Updates in Zoho Workplace applications | October 2025

                                                                                                                Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this October. Zoho Mail Create Signature from Compose window You can now effortlessly create a Signature using the Create
                                                                                                              • Subform data to Sheets

                                                                                                                I have been trying to setup a Zoho Flow automation to bring any Subform input to a Zoho Sheets but it seems impossible to post the subform entries to a Zoho Sheet. Is there any way to do it via Zoho Sheet API? https://www.zoho.com/sheet/help/api/v2/#CONTENT-Insert-row-with-JSON-data
                                                                                                              • Edit Contact Roles in the Potentials Mod

                                                                                                                New to ZOHO so I need some help. I work the same people on different projects concurrency. Their contact info remains the same but their role changes from project to project. In the Potential Mod you can pick contacts and assign a Role to them. I know
                                                                                                              • Is there a way to disable the Activity Reminders Pop-Up Window every time I log in?

                                                                                                                Just wondering if there is a setting to disable the window from opening every time I open my CRM? Thanks Chris
                                                                                                              • Auto-sync field of lookup value

                                                                                                                This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
                                                                                                              • Hide fields only for creation

                                                                                                                Hello, I'd like to hide some fields only during the creation of a contact in Zoho CRM. In fact I have some fields that are automatically calculated thanks to an automation, so when my users create a contact I don't want them to fill those fields. I know
                                                                                                              • Rich-text fields in Zoho CRM

                                                                                                                Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
                                                                                                              • Font Size 11 - Zoho CRM Email Templates

                                                                                                                Our company communicates with our vendors exclusively using Calibri Font Size 11, as this is the standard formatting for professional emails. Since the CRM only allows for the selection of font sizes 10 & 12, we have been unable to utilize the CRM email
                                                                                                              • Error 400 Booking

                                                                                                                Added a custom domain to Booking. Am Getting a SSL Error that has some other domain on the SSL and giving a 400 error. Followed instructions and it stated it verified our domain.. However it is not working. Please Help!
                                                                                                              • Error AS101 when adding new email alias

                                                                                                                Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
                                                                                                              • New feature request: Allow copy of email message to another folder

                                                                                                                Hello Zoho team, This is a suggested new feature to allow copy an email message to either another folder or the same folder. Within the same Zoho account. This is not a support request about "label". This is a suggested new feature to allow copies of
                                                                                                              • Next Page