Kaizen #262 - Using Zoho CRM Skill to build Queries

Kaizen #262 - Using Zoho CRM Skill to build Queries



Hello everyone!

Welcome back to another edition of the Kaizen series, where we uncover powerful ways to extend and customize Zoho CRM.

In the previous Kaizens, we explored how the zoho-crm skill can help developers work with Zoho CRM APIs, Client Scripts and COQL.

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:

  1. About Zoho CRM Skill
  2. How the Skill Helps with Queries
  3. Business Scenario
  4. Requirement 1 - Retrieving CRM Data Using Queries
  5. Requirement 2 -Transforming Query Responses with Serializers
  6. Requirement 3 -Calculating Derived Values with Query Serializers
  7. Summary
  8. 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:
  1. Understand the requirement.
  2. Identify the appropriate CRM capability.
  3. Load the relevant references.
  4. 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:
  1. Identifying the Query source - such as Module, COQL, or other supported data sources. 
  2. Building the Query - defining the fields, criteria, sorting, and other required configurations. 
  3. Configuring variables - identifying values that need to be passed dynamically to the Query. 
  4. Defining the schema - structuring the Query response based on the required output. 
  5. Creating serializers - transforming the Query response and performing calculations or deriving additional values. 
  6. Following Zoho CRM Query guidelines - using the relevant Query and CRM references while generating the solution. 
  7. Validating the implementation - helping identify missing fields, incorrect configurations, and potential edge cases. 
  8. 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
Quote
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:
  1. Program Name
  2. Event Type
  3. Event Date
  4. Location
  5. Capacity
  6. Registration Count
The events should be displayed in ascending order of the Event Date.
InfoIdea
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.



Notes
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?
  1. Read the Query documentation: Reviewed Query sources, configuration, and Kiosk association guidance.
  2. Analyzed the requirement:
    1.  Fetch Programs with Event Status = Registration Open. 
    2.  Sort by Event Date ascending. 
    3.  Retrieve the required programme and event fields. 
    4.  Use the Query in a Kiosk. 
  3. Selected the Query source: Chose the Module source since the requirement involves retrieving and filtering records from a single CRM module. 
  4. Configured the Query: Mapped the requirement to the module, criteria, sort order, and required fields. 
  5. Considered Kiosk association: Identified that the Query should be associated with a Kiosk screen to display multiple Program records. 
  6. 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:
  1. How many seats are remaining?
  2. What percentage of the capacity has already been filled?
  3. Is the event nearly full?
Instead of storing these values as additional fields in CRM, we can calculate them when the Query executes.

Info

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?

  1. Selected COQL as the Query source based on the filtering, sorting, and field requirements.
  2. Created the COQL query to fetch registration-open programs sorted by Event Date.
  3. Mapped the required fields such as Program Name, Event Type, Event Date, Location, Capacity, and Registration Count.
  4. Designed the serializer to calculate Remaining Capacity, Registration Percentage, and Registration Status.
  5. Handled edge cases, including zero capacity and division-by-zero errors.
  6. Defined the response schema to include both CRM and calculated fields.
  7. Identified API-name dependencies that must be verified in the target CRM.
  8. 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:

  1. Expected Revenue = Registration Count × Registration Fee 
  2. Attendance Rate = Actual Attendees / Registration Count × 100 
  3. Capacity Utilization = Actual Attendees / Capacity × 100 
  4. No-show Count = Registration Count − Actual Attendees 
  5. No-show Rate = No-show Count / Registration Count × 100 
  6. Attendance Classification: 
    1. Excellent: ≥ 90% 
    2. Good: 70–89% 
    3. Needs Attention: < 70%

Info
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.
  1. Loaded the relevant Query references for structure, sources, and serializers. 
  2. Selected the Module source with Event_Status = Completed. 
  3. Identified the required CRM fields such as Event Type, Event Date, Capacity, Registration Count, Registration Fee, and Actual Attendees. 
  4. Designed the serializer to calculate Expected Revenue, Attendance Rate, Capacity Utilization, No-show Count, No-show Rate, and Attendance Performance. 
  5. Added zero-value checks and error handling to prevent calculation errors. 
  6. Defined the schema to expose both CRM and calculated fields. 
  7. Prepared the implementation steps for Query creation, source, schema, serializer, and associating to Kiosk. 
  8. 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
  1. Define the requirement: Specify the data, source/module, fields, filters, sorting, and target component.
  2. 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.
  3. Review the Query configuration: Verify the source, fields, criteria, sorting, variables, and other configuration.
  4. Review the serializer: If needed, provide the expected transformation logic and verify the serializer's filtering, formatting, renaming, or calculations.
  5. Verify CRM details: Confirm the actual module names, field API names, and field types in the target CRM organization.
  6. Configure the Query in Zoho CRM: Create and validate the Query using the reviewed source, schema, serializer, and other configuration.
  7. Associate the Query: Add the Query to the required component, such as a Kiosk, Canvas, or related list.
  8. 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!

Info
Related Links
Kaizen #258 – Getting Started with zoho-crm SKILL.md - Introduction to the zoho-crm skill and how it works across Zoho CRM developer capabilities.
Kaizen #259 – Working with Zoho CRM APIs using the zoho-crm skill - Using the skill to work with Zoho CRM APIs.
Kaizen #260 – Using Zoho CRM Skill to generate Client Script - Using the skill to generate Client Scripts.
Zoho CRM Queries – Developer Documentation - Learn more about Query sources, variables, serializers, and schema management.