Queries
On this page:
Introduction
In today’s fast-paced business environment, immediate access to relevant data is essential for informed decision-making.
Queries is a powerful feature that allows you to dynamically retrieve data from CRM as well as third-party services directly within our platform. With Queries, you can streamline your workflow, gain deeper insights, and make data-driven decisions without leaving the product.
Whether you fetch records from CRM or data from any other third-party services, the Queries feature gives you the power to present that data the way you want. For example, displaying only closed deals of a contact on a canvas or displaying the details of a ticket from Zoho Desk on a screen(Kiosk) in Zoho CRM.
All you have to do is write a query that solves your business need and associate that query with the relevant CRM feature like Canvas, Kiosk etc. This helps you leverage the power of data retrieval using REST API and COQL, along with schema management, serialization of responses, and other functionalities in data handling.
For example, consider that Deals is a related list in the Contacts module. A contact can have multiple associated deals, but you want to display only those that are won on your canvas. To achieve this, you can use the Queries feature and write a Module type or COQL type query to fetch data from the Deals module , and associate that query with Canvas' Detail View.
If your data resides on a third-party service, you can use the REST API type query to fetch data from that external service.
So, Queries acts a hub to fetch data with advanced configurations and display data from within CRM and third-party applications, and use them at various places.
Query Workbench
The Query Workbench provides a unified interface for constructing and executing queries in Zoho CRM. It brings together all the essential components of query building in a single window for convenience and clarity.

Features of the Workbench
- Module and related module selection – Choose the source module and include related modules for more comprehensive queries.
- Field Selection – Select the fields you want to retrieve from the module and related modules.
- Criteria Definition - Apply filters and criteria patterns to refine your results.
- Schema View – Explore the available fields and their types through an integrated schema panel.
- Output Panel – Execute the query and view the results instantly within the same workspace.
- Variables Panel – Manage and substitute variables for dynamic query execution.
The Workbench ensures all steps of query construction from selecting modules, defining fields, applying filters, to validating results are available in a streamlined, cohesive environment.
Key Highlights
- Unified workspace – Build queries without switching between multiple screens. All modules, fields, criteria, variables, response, and schema are consolidated in one place.
- Real-time output preview – Execute your query on the go and instantly see the structure of your query results while fine-tuning criteria.
- Schema integration – Explore available fields and confirm data types directly in the same interface, ensuring precise queries.
- Guided, intuitive flow – The workbench’s modern design groups related options, making the query-building process more intuitive, especially for first-time users.
Components of Queries
Sources
A source is the data provider. Zoho CRM provides pre-configured sources like Module and COQL in Queries. Apart from this, you can also create your own source to fetch data from third-party as well as other Zoho services.
Currently, Queries supports REST API standard while creating a source.
Note
Currently, you can add a source as a REST API. Future enhancements will allow you to have sources like GraphQL, Databases like MYSQL & PostgreSQL, Cloud Databases from AWS, Azure and Google Cloud, OData Protocols, etc. This broadens the range of services you can connect with Zoho CRM and simplifies data handling.
Follow the steps to add a source.
- Go to Setup -> Developer Hub -> Queries. The Queries window opens.
- Click the Sources tab.
- Click Add Source.
- Under Information, enter the following:
- The name of the resource.
- The Base URL of the resource. This will be the URL of the other Zoho service or third-party, which Queries will make API calls to fetch data from. This URL must be available in the Trusted Domain.
- The default parameters and headers of the request.
- Under Connection, you can choose the connection of the data provider. You can also create a connection from here. For more details on creating connections, refer to this page.
Click Save.
Queries
Queries allow you to fetch data from various sources and use them as necessary at various places. Query configuration depends on the type of source. For example, if you choose the Source as Module, your query can fetch data from that module. If your Source type is COQL, you must write a query using COQL(CRM Object Query Language) to fetch data, and for the REST API Source type, you can use endpoints, headers, and other parameters to fetch data from a third-party service.
You can also sort the response based on a field.
For more information on different types of queries, go to the Query Types page.
Variables
Queries supports variables at various places like the criteria, COQL statement, values, endpoints, etc. While associating the Queries query in components like Canvas, the variables should be mapped to the required fields.
These variables allow you to pass dynamic values to the query during execution(runtime).
You must declare a variable in curly braces in the format {{VARIABLE_NAME}}.

Refer to our Kaizen posts on Handling Query Variables in Zoho CRM and Optimizing the Use of Record ID Variables in Zoho CRM Queries for added insights.
Schema
For every query, the schema will be generated and will be available in the result path.
Schema contains the path of each field, its CRM field type, and the label. You can traverse through this result to get to each field in the query. You can edit the field type and the label to suit your needs in the response of your query.

You can change the schema while creating or updating a query, or later. Hover over a query in the Queries tab. Click the three-dot icon and click Manage Schema.
We have discussed Serialization and Schema Management in Queries in one of our Kaizen posts.
Create a Query
Let us see how to create a query for the Source type CRM - Module. The criteria for the query is to fetch all deals of a contact, whose "Stage" is not "Closed Lost" or "Closed Lost to Competition".
- Go to Setup -> Developer Hub -> Queries. The Queries window opens.
- Click Add Query.
- In the "Create Query" pop up, enter the following details:
- Enter Query Name and API Name. Click Next.
- Under Configuration, the default query type will be Zoho CRM Module. To change the type, click Change.
- Choose the module in CRM for which you want to create the query. You can also create queries for Subforms.
- If your module has lookup fields, you can also include them in your query. Choose the required lookups in the Related Module drop down. Note that you can choose a maximum of two fields in this drop down.
Select the required fields for your query from the Fields drop down. Note that you can choose a maximum of 50 fields here.
- Under Criteria, you can choose to get all records, or filter the response by the record ID or apply criteria.
- None - This option does not apply any criteria.
Criteria - You can apply criteria over different fields for which you are creating the query. Criteria supports various comparators and you can also group the conditions using AND or OR operators. You can also choose to give the value for the criterion or choose a dynamic value. Dynamic value means that the value will be taken for this field when the query is used at some place. In this example, we are assigning a variable to get the ID of the contact record that is associated with the deal that meets the criteria.
- Record ID - Choose this option if you want to apply the query to a specific record. You can assign a variable to this field and pass the record ID during execution.
Under Serializer, click Add Serializer to modify the response through JavaScript. You can then use this modified response for further processing. The following image shows an example of a serialized response. Click Save.
- You can also sort the response based on a field either in the ascending or descending order. Under Advanced, choose the field to be sorted on in the Order by drop down and the order in which it has to be sorted.
- Click Execute Query. If your query has a dynamic value in criteria, you will get a pop up asking for its value. Specify the value and click Next. You will see the response of the query you created.
After the query executes, you can see the Schema at the bottom of the screen. Path indicates the JSON path in the response that the field is available in, CRM Field Type indicates it's field type in CRM such as long int, int, and the Label indicates the label/name of the field. You can edit these values based on what you need in the query's response.
- Click Save to save your query.
View Associations of a Query
You can associate a query with Canvas - Record Detail and List views, Kiosk - Screen and Decision components, and custom related list.
The View Associations option allows you to easily see the places or components the query is associated at.
To view the associations of a query, click the three-dot icon near the query and click View Associations. The pop up displays where the query is associated.
