Hello everyone!
Welcome back to another edition of the Kaizen series, where we uncover powerful ways to extend and customize Zoho CRM.
In this Kaizen, let's take this further and see how the skill can help us build Zoho CRM Queries using natural language.
Queries provide a flexible way to retrieve data from Zoho CRM and transform the response before using it in CRM features such as Canvas, Kiosk, and other custom UI components. A Query can use a CRM module, COQL, or other supported sources, and its response can also be modified using a serializer.
In this Kaizen, we will cover:
- About Zoho CRM Skill
- How the Skill Helps with Queries
- Business Scenario
- Requirement 1 - Retrieving CRM Data Using Queries
- Requirement 2 -Transforming Query Responses with Serializers
- Requirement 3 -Calculating Derived Values with Query Serializers
- Summary
- Related Links
1. About Zoho CRM Skill
The zoho-crm skill acts as an orchestration layer across different Zoho CRM developer capabilities, including REST APIs, Deluge Functions, Client Scripts, Widgets, COQL, Queries, and Connections.
The skill follows a five-step approach:
- Understand the requirement.
- Identify the appropriate CRM capability.
- Load the relevant references.
- Generate the solution.
For Queries, you can describe the data you need in natural language, and the skill can help determine the appropriate Query configuration, source, fields, criteria, sorting, and serializer logic.
For example, instead of manually determining how to configure a Query, you can provide a requirement such as:
"Fetch all upcoming events that are currently open for registration and sort them by event date."
The skill can then help build the corresponding Query.
2. How the Skill Helps with Queries
The zoho-crm skill simplifies Query development by helping you translate a natural-language requirement into the appropriate Query configuration. It can help with:
- Identifying the Query source - such as Module, COQL, or other supported data sources.
- Building the Query - defining the fields, criteria, sorting, and other required configurations.
- Configuring variables - identifying values that need to be passed dynamically to the Query.
- Defining the schema - structuring the Query response based on the required output.
- Creating serializers - transforming the Query response and performing calculations or deriving additional values.
- Following Zoho CRM Query guidelines - using the relevant Query and CRM references while generating the solution.
- Validating the implementation - helping identify missing fields, incorrect configurations, and potential edge cases.
- Associating Queries - help you understand how a Query should be associated with the appropriate CRM component based on the requirement.
This allows developers to focus on describing what data they need and how it should be processed, while the skill helps determine how to implement the Query.
The user needs to:
Verify the CRM setup → Create/configure the Query → Associate it with the required component → Test and validate the result
3. Business Scenario
Zylker Events, an event management company that conducts workshops, conferences, and training programs, uses a custom module called Programs to manage its events.
The event management team wants to use Queries to display useful event information in CRM. Let's consider three requirements using the same Programs module, with each requirement introducing an additional level of Query configuration and complexity.
4. Retrieving CRM Data Using Queries
Let's start with a straightforward requirement.
Requirement 1
The event manager wants to see all upcoming events for which registration is currently open in a Kiosk.
The results should contain:
- Program Name
- Event Type
- Event Date
- Location
- Capacity
- Registration Count
The events should be displayed in ascending order of the Event Date.
Prompt
/zoho-crm
Create a Zoho CRM Query for the Programs custom module. Fetch events where Event Status is "Registration Opened".Return the following fields: Program Name, Event Type, Event Date, Location, Capacity, and Registration Count. Sort the results by Event Date in ascending order and associate with Kiosk.
The API names may differ, so we need to verify them against our API names as this is a custom module.
What did the skill do?
- Read the Query documentation: Reviewed Query sources, configuration, and Kiosk association guidance.
- Analyzed the requirement:
- Fetch Programs with Event Status = Registration Open.
- Sort by Event Date ascending.
- Retrieve the required programme and event fields.
- Use the Query in a Kiosk.
- Selected the Query source: Chose the Module source since the requirement involves retrieving and filtering records from a single CRM module.
- Configured the Query: Mapped the requirement to the module, criteria, sort order, and required fields.
- Considered Kiosk association: Identified that the Query should be associated with a Kiosk screen to display multiple Program records.
- Verified assumptions: Noted that the API names should be verified against the actual CRM setup before implementation.

5. Transforming Query Responses Using a Serializer
Now let's make the requirement slightly more useful.
Requirement 2
The event manager wants to know:
- How many seats are remaining?
- What percentage of the capacity has already been filled?
- Is the event nearly full?
Instead of storing these values as additional fields in CRM, we can calculate them when the Query executes.
Prompt
/zoho-crm
For the custom module "Programs", using Queries, help me understand the current registration status of events that are open for registration.
For each event, I want to know:
How many seats are remaining?
What percentage of the event capacity has been filled?
Is the event Nearly Full, Filling Up, or Available?
Also show the Program Name, Event Type, Event Date, Location, Capacity, and Registration Count.
Show the earliest events first.

What Did the Skill Do?
- Selected COQL as the Query source based on the filtering, sorting, and field requirements.
- Created the COQL query to fetch registration-open programs sorted by Event Date.
- Mapped the required fields such as Program Name, Event Type, Event Date, Location, Capacity, and Registration Count.
- Designed the serializer to calculate Remaining Capacity, Registration Percentage, and Registration Status.
- Handled edge cases, including zero capacity and division-by-zero errors.
- Defined the response schema to include both CRM and calculated fields.
- Identified API-name dependencies that must be verified in the target CRM.
- Considered Query association with components such as Canvas, Kiosk, or Custom Related List.
In short: The skill converted the requirement into a COQL Query → Serializer → Schema → Component association workflow.
6. Calculating Derived Values with Query Serializers
Let's take the same scenario one step further.
The event manager now wants to analyze events that have already been completed.
Requirement 3: Completed Event Analysis
For each completed event:
- Expected Revenue = Registration Count × Registration Fee
- Attendance Rate = Actual Attendees / Registration Count × 100
- Capacity Utilization = Actual Attendees / Capacity × 100
- No-show Count = Registration Count − Actual Attendees
- No-show Rate = No-show Count / Registration Count × 100
- Attendance Classification:
- Excellent: ≥ 90%
- Good: 70–89%
- Needs Attention: < 70%
Prompt
/zoho-crm
For the custom module "Programs", using Queries, help me understand how completed
events performed.
For each completed event, I want to know:
How much revenue was expected from registrations?
What percentage of registered participants attended?
What percentage of the event capacity was utilized?
How many registered participants did not attend?
Was the attendance Excellent, Good, or in Need of Attention?
Also show the Program Name, Event Type, Capacity, Registration Count and Actual Attendees.
What did the skill do?
The skill converted the requirement into a COQL-based Query with a Serializer and worked through the complete configuration.
- Loaded the relevant Query references for structure, sources, and serializers.
- Selected the Module source with Event_Status = Completed.
- Identified the required CRM fields such as Event Type, Event Date, Capacity, Registration Count, Registration Fee, and Actual Attendees.
- Designed the serializer to calculate Expected Revenue, Attendance Rate, Capacity Utilization, No-show Count, No-show Rate, and Attendance Performance.
- Added zero-value checks and error handling to prevent calculation errors.
- Defined the schema to expose both CRM and calculated fields.
- Prepared the implementation steps for Query creation, source, schema, serializer, and associating to Kiosk.
- Noted that API names must be verified against the actual CRM setup.
In short:Module Query → Filter → Retrieve data → Serializer calculates derived values → Schema exposes the results.

This is how it looks after implementing it through Kiosk:

7. Summary
In this Kaizen, we used a single Event Management scenario to explore three levels of Query development with the zoho-crm skill.
What the User Does
- Define the requirement: Specify the data, source/module, fields, filters, sorting, and target component.
- Provide the requirement to the AI coding agent: Give the requirement to an AI coding agent with the zoho-crm skill enabled. The skill analyzes it and suggests a Query implementation.
- Review the Query configuration: Verify the source, fields, criteria, sorting, variables, and other configuration.
- Review the serializer: If needed, provide the expected transformation logic and verify the serializer's filtering, formatting, renaming, or calculations.
- Verify CRM details: Confirm the actual module names, field API names, and field types in the target CRM organization.
- Configure the Query in Zoho CRM: Create and validate the Query using the reviewed source, schema, serializer, and other configuration.
- Associate the Query: Add the Query to the required component, such as a Kiosk, Canvas, or related list.
- Test and validate: Verify the data, filtering, sorting, serialized output, and displayed fields against the original requirement.
The zoho-crm skill simplifies this workflow by helping developers turn natural-language requirements into appropriate Query configurations and implementations.
Have an advanced scenario you’d like to see solved using the skill? Drop it in the comments or write to us at support@zohocrm.com.
Happy Querying!
Recent Topics
In ZOHO Books, it appears that there is a maximum of 200 Shipping addresses.
I am using ZOHO Books and what you call a shipping address, we use as a Service address. I have a couple of customers that have Many Many service addresses, I am starting to get an error saying too many shipping addresses. Additionally, is there a way
How can I add a Custom Field (or Customer_name) to a picklist?
Our workflow is Shopify-->SO -->Picklist-->Package-->Shipment. We would like to have the Picklist template to include a custom field "Customer_Notes" (we have created this field already). This way we get alerted when a customer has notes on their account.
Can't copy and paste from email in Zoho email client
I don't know what happened, but I have lost the ability to cut and paste information from an email.
Which Zoho CRM tasks would you want an AI assistant to handle?
I’ve started delegating my Zoho CRM work to AI – and many tasks now take me half the time. It has been so useful that we’re now working to make it available to everyone. Instead of clicking through records and tabs, I simply describe what needs to be
What's New in Zoho Inventory | July & August 2026
Hello users, The July and August 2026 releases bring a range of new features and improvements across the product. From the Nigeria Edition and Super Admin enhancements to Sri Lanka IRD-compliant invoicing, Loyalty Program Management, and improvements
Hide Inactive Social Sign-In Providers from Login Screen
Hello Zoho Team, We hope you are doing well. Currently, Zoho One allows admins to configure security policies and enable or disable Social Sign-In options for third-party providers such as Apple, Google, Microsoft, LinkedIn, Yahoo, Twitter, Facebook,
Forms data export bug
The export csv with a password has changed for the worst. It is less secure by not allowing complex passwords. Just last week and the last year (at least) I was able to use a complex, secure password. Export CSV moreover doesn't even work if I use a simple
How does Zoho handle the daylight savings time change in Alberta?
Alberta has just made the decision to get rid of daylight savings. This means that as of November 1, 2026 we remain on UTC-6 year-round. We have timing errors in meetings scheduled after that For example, we scheduled meetings in late November at 9:00
Zoho Projects - Linking CRM Deals to Projects via API without sending customer contact email invitation to project portal
We are using the Zoho CRM and Zoho Projects APIs to automatically create a project in Zoho Projects and then associate that project with the relevant Deal in Zoho CRM. The API process is working in that the project is created successfully and appears
Need to set workflow or journey wait time (time delay) in minutes, not hours
Minimum wait time for both Campaigns workflows and Marketing Automation journeys is one hour. I need one or the other to be set to several minutes (fraction of the hour). I tried to solve this by entering a fraction but the wait time data type is an integer
Shared Mailbox in iOS app
Hi, On the desktop I am using a Shared mailbox for our company's general mailbox that somebody else should be able to view. In the iOS app however I can't find it? Old sources on the internet says this isn't possible but that can't be right? Somebody
Issues with Zoho Insights and email template web links
Is anyone else out there having the same issue we're experiencing? When we send out an email template, Zoho insights is converting the URLs from the URL we insert in to the template in to one of the form https://mailer1.zohoinsights.com/ocgeturl/2d6f.327230a?l=0ed7f050-5b31-11eb-a1a...
UCP: Why We Killed the Multi-Portal Mess and Simplified Customer Self-Service
Let's talk about the multi-portal mess nobody wants to admit that it exists. Your customer needs an invoice from one app, wants a ticket update from another, and has a project waiting in a third, each behind its own login, its own UI, its own "was it
Object-level edit permissions
Hi, we are currently running into a limitation with permissions inside larger workspaces. Our use case is a central Analytics workspace that contains many tables, Query Tables, reports and dashboards used by different teams. We would like to allow certain
inventory removal at packing list or shipment.
currently our system is set to remove inventory at invoice. This is creating an inventory nightmare? Is it possible to change the settings to remove the item from inventory at either the packing slip stage or shipping the item.
Item description is not displayed
I added the item description while importing the new item through the bulk item Excel sheet, and the import was completed successfully. However, I cannot see the description in the item details under Inventory. Could anyone please advise how to make the
Shared inbox unable to see replies
Hi we are a small company me and someone else, we have a shared inbox for our sale@ and contact@ however we have this issue where by if i reply to an email or the other person reply to the email, it does not show it to them and therefore we end up replying
Record Payment - Auto Populate Amount as payments are selected
When recording payments you have the option of clicking on "Pay in Full" next to the bill which automatically adds the total at the bottom of the page next to "Amount used for payments" but this should also auto populate / update the total at the top
Can't set conditional layout rule on lookup field in Zoho CRM
Namaskaram Zoho CRM team, Usually any fields of module except mandatory fields can be hide using conditional layout rules. But that can't be set on lookup fields event that is not a mandatory fields. Many users are in need of that. Crafted with ❤️ Zoho
[Request] Pivot filter date option : from set date to relative value ie from 01Jan to LastMonth
I don't think I can currently do this... but it's worth asking if it's possible. My use case is concerning annual leave which is calculated from the beginning of the calendar year (01Jan) then each month I want to have details of leave taken etc... In
Need to be able to apply layout rules to 'Multi Pick List'
Currently, we are unable to apply layout rules to fields that are 'Multi Pick List'. This means we have to instead use checkbox fields, but they are inefficient. For example, we use the Multi Pick List to list our products. However, we're unable to apply
Announcing the new SKILL.md for Zoho CRM and the updated OAS repository!
We are introducing a new zoho-crm skill to make working with Zoho CRM Developer tools (like APIs, functions, widgets, client scripts, queries etc) easier and faster, with the help of AI in your preferred AI harness like Claude Code, Codex, Cursor, VSCode
My "trigger" panel disappear from my workflow ...
Hello, I want to add a trigger to an email sequence, but the "trigger" panel has disappeared when I want to modify ...I used a predefined template to create this sequence, is that because of that? Thank you. I have attached a screenshot to you
Workflow Automation Not Triggering
My Zoho CRM workflow sometimes doesn’t trigger when a record is updated, even though the workflow criteria appear to be met. What should I check to find out why the workflow is being skipped?
AI Calling
Hi, does anyone have experience or any thoughts on AI Calling. Getting AI to make calls on behalf of your company. We are looking into it, but are finding it difficult to get info and providers that can assist.
Zoho Sheet as KB Document
It would be nice if Zia Agents could take Zoho Sheets as part of the knowledge base. The use case here is that it's infinitely easier for humans to maintain a spreadsheet table than any .md / TAML / JSON document. For situations where humans are responsible
Ask the Experts: Five-hour live Q&A session with Zoho WorkDrive product experts
Have questions about WorkDrive 5.0? Let’s talk! We recently launched Zoho WorkDrive 5.0, packed with powerful updates to help your team work smarter, stay secure, and get more value from your business content. From content-centric workflows and AI-powered
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,
Zoho Community Digest - September 2026 | Part 3
Hi everyone, and welcome back! Zoho CRM launches PRM for partner management, Bigin builds this year's Apple AI updates into the app, and Snapchat is now a connected channel in Zoho Social. There are also three notices worth reading, including WhatsApp
Change from OST to PST on Windows 10/11 Using Free Method
There is an advantage in converting OST files to PST format if you need to access your Outlook data on a different computer, want to keep a local copy, or are trying to recover items from an old Outlook profile. The good point is that users of Windows
ERROR: This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details
I can add new user for mail, i received message error about; This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details Try creating user name; instagram@eficaztecnologia.com.br
Support for Custom Fonts in Zoho Recruit Career Site and Candidate Portal
Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to use custom fonts in the Zoho Recruit Career Site and Candidate Portal. Currently only the default fonts (Roboto, Lato, and Montserrat) are available. While these
Ability to filter services and parts based on a field in the Work Order
Hell FSM team, We have a customer with 2 value streams using Zoho FSM. Each value stream uses different products, at different price point. Currently, all of the products are accessible when creating a work order and modifying a service appointment, which
SubTotaks for Item Headers in Estimates
Hi, Apparently, one can add Item Headers in Estimates in Zoho Books. Is this feature like an Estimate section with a SubTotals for each Item Header/Section? Or is the Item Header just a Title and cannot be SubTotalized? Thank You
Sync of products and orders between Zoho Inventory, Zoho Books and Shopify
Good Day I migrated from QuickBooks to Zoho Books and Zoho Inventory at the beginning of this year. The migration team assisted with importing my data, but I am currently experiencing multiple issues affecting syncing between Shopify and Zoho. 1. SKU
Best practices for importing phone numbers
I've recently found a problem with my phone provider, integrated with Zoho CRM, where a phone number that starts with 00 instead of + won't work. The problem has no solution: they tell me to replace all 00 with + I've always preferred using 00 instead
Copy + Paste in Notes: Text color and text background are not retained
I've recently started using Zoho Notebook as an Evernote replacement. When copying and pasting text within Zoho Notes, I notice that the formatting of the text (text color and background color) is not retained when pasting. Only the attributes "Bold"
Add Comprehensive Accessibility Features to Zoho Writer
Hello Zoho Writer Team, We hope you are doing well. We would like to submit a feature request to enhance Zoho Writer with a full set of accessibility tools, similar to the accessibility options already available in the Zoho Desk agent interface. 🚧 Current
MAKING ENTRY TIME MORE USER FRIENDLY AND FASTER O PREVENT TAB TIME
I AM CURIOUS TO KNOW IF WE CAN MAKE IT MORE USER FRIENDLY WHILE MAKING BILLS , I MAJORLY USE OVER DESKTOP SO I AM SUGGESTING TO REMOVE TAB TIME WHILE ENTERING BILL OR MAKING INVOICE DIRECT JUMP TO ONLY REGULAR PARTS OF THE BILL . YOURS RAKESH 782866
Email Forwarding to Zoho Desk Failing After Migration from Gmail to Outlook (Microsoft)
We recently migrated from Gmail to Microsoft Outlook. Since the migration date, emails sent by our customers are no longer being received by Zoho Desk. I tried setting up the email forwarding rules in Outlook similar to what we had in Gmail, but it still
Next Page