Hello everyone!
Welcome to another week of Kaizen!
We're back with another post in this series on Queries in Canvas List View.
Queries in Zoho CRM allow you to dynamically retrieve data from CRM as well as third-party services directly within the CRM platform.
You can construct a query of one of the following types:
- CRM Module type query to retrieve data from CRM modules.
- COQL type query to construct a query using the COQL API.
- REST API type query to fetch data from an external service and use it in Zoho CRM.
You can associate a query with the 'Decision' component of Kiosk, Canvas Detail View, or Canvas List View.
In this post, we will take up a use case and see how you can associate a query with Canvas List View.
Use case
Sales and support teams often need quick access to Zoho Desk tickets related to a contact in Zoho CRM. To avoid switching between apps to check ticket statuses, we can use the Queries feature to fetch the latest Zoho Desk ticket's details of a contact dynamically and display them on the Canvas List View page of the Contacts module.
This ensures that CRM users can instantly view the most recent ticket linked to a contact without leaving Zoho CRM.
Follow along to see how you can achieve this!
Step 1 - Add a Source
- Go to Setup > Developer Hub > Queries > Sources > Add Source.
- Under Information,
- Give a name for the source and its Base URL. Queries will make API calls to this URL to fetch data. Ensure to add this to Trusted Domain.
- Specify any default parameters and headers for this base URL.
- Under Connection, choose the connection you have created with Zoho Desk with the necessary scopes. If you haven't, create one.
- Click Save.


Note
Queries will make API calls to the URL you add in the Source and consume credits that are applicable in that service. Ensure you monitor your API usage in your source provider.
Step 2 - Create a REST API Query
- Go to Setup > Developer Hub > Queries > Add Query.
- Under Source, choose the source you created in step 1.
- Under Information,
- Enter the Name, API Name, and the Endpoint of the query.
- Specify the parameter email that takes the dynamic variable {{Contact_Email}} as its value. This is to fetch the latest ticket from Zoho Desk for a contact with the email in this variable during runtime. Refer to our Kaizen post on Handling Query Variables in Zoho CRM for additional details.
- Specify Headers, if any.
- You can serialize the output to fit your needs using JavaScript in the Serializer.

- Click Next.
- Enter an email address in the box to test the query.

- Click Save. You can see the response of the query and the serialized response if you had serialized the output.

- Click Next.
You can see the Schema of the query. The Schema acts as a bridge/mapping layer between external API responses and Zoho CRM's internal data structure. For example, the response of the Desk API returns result[].assignee.firstName, which is mapped to CRM as Assignee > FirstName. Schema ensures that the CRM UI knows how to display the field correctly.
With the right mapping in the schema, you can avoid manual data entry or syncing, and use the API data in workflows, reports, and dashboards.
You can change the CRM Field Type and Label to suit your needs. Refer to our Kaizen post on Serialization and Schema Management for more details. - Click Save to save the query.
Now that our query and fetching data from Zoho Desk is sorted, let's move on to the Canvas.
- On the Canvas, click the database icon for the Queries component.
- Click Associate Query.
- Give an Association Name and select the Source(added in step 1) for the query.
- Under Query, select the query you created.
- The Variables section will contain the variables in the query. The drop-down displays all fields in the Contacts module. Select the Email field.
- Under Result Mapping, choose Email as the Source Record Field and Contact > Email as the Query Response Path. The Query Response Path is populated from the schema of the query.
- Click Done to associate the query with the canvas.

- You can see all the fields of the query on the left. Drag and drop the required fields on the canvas.

- Save the canvas.
Time for the big reveal!
The following GIF shows how the ticket details from Zoho Desk are populated on the Canvas List View of the Contacts module.

Note that every time you reload the canvas, the query underneath makes an API call to the source provider to fetch data for the contacts in Zoho CRM. Ensure your API calls are monitored to avoid exhasuting your credits.

We hope you liked this post.
Topic suggestions are welcome! See you all next week!
Cheers!
----------------------------------------------------------------------------------------------------------------------------------------

See Also
Recent Topics
System default SLA descriptions can't be modified
The system default SLAs have identical descriptions for all SLA levels, but their settings differ. However, I am facing an issue where I cannot modify these descriptions and save the changes. The content of the description box can be edited but the changes
Customising Help Center
Hi I don't think it is possible to add custom pages to help center? We'd like to use this as a customer portal with support tickets, FAQ/Guides, Billing and contracts. Is there any plans to add a feature like this or an alternative way to do it other
Replies sometimes creating separate ticket
Sometimes when a customer responds to an email coming from Zoho Desk, instead of adding a reply to the original ticket, a separate ticket is created. This happens even though the response subject line contained the ticket number, and the person responding
Ticket Approvals - External Users
The ticket approval option - we need to be able to select external users (Contacts) for approvals. Sometimes we are working with an end user and their boss needs to approve a purchase. For example, working with a cashier on a broken cash register and
Force Users to Ask Answer Bot a question... First
End users will always skip talking to a bot. It would be nice if Zoho adopted the standard and forced users to first ask a question to answer bot (or zia in some fashion) and then pass to the agent if it wasn't answered. Options to force the user to speak
View Answer Bot conversations?
We are trialing Zia and are experimenting with Answer Bot on our knowledge base. So far so good! Management asks me if it is possible to view Answer Bot conversations, the purpose being to look over its shoulder and confirm that it is working as des
Mass Email an Account
It would be nice to mass email an account stating there is an outage at their business or something specific to an account is needed to be mass communicated. Even if it makes a ticket for every Email Out to every contact in the Account. Think: the customer
Multiple Topics assigned to a single Campaign
Hello, is it possible to assign multiple Topics to a single Campaign? We frequently write a content to our subscribers that spans multiple Topics and we would like to send it to all Contacts that are subscribed to at least one of the Topics. But it looks
Zoho Projects Fonts and Accessibility missing
I cannot find any more the tab where I can change the font in Zoho Project. I also checked the knowledgebase and there they have accessibility tab which I am completely missing. Is there some setup I am missing or is it a problem with our account?
Zoho Books Custom Widgets Deprecation Error
I created a simple sample widget with zet and published it using sigma Both in the Sandbox and Production the Widgets are showing this error
Problems with PDF files in notebook
I'm evaluating Zoho Notebook as an alternative to Evernote and imported my Evernote account to Zoho Notebook. First issue is that notes in Evernote that comprise a PDF are turned into a 'group' with a single note page (that has the text from the Evernote
API (v3) Tasks sorting issue
We are using the v3 API for Projects. When we gat all tasks, per page of 100 tasks, we get the task info alright. But when we try to sort based on DESC(last_modified_time) we don't get the correct sort order. It is roughly sorted by the last_modified_time,
Assemblies make my stock go negative
I am sure this is just the way that we are using this feature, but we use assemblies, a lot. The issue for us is the way that the relive inventory and the fact that it makes our composite item stock go negative. I have added flows to auto assemble and
User Activity Reports
I'd like to get data related to user activity. For example, Login and logout times, emails sent/received, new records created , etc. Is that currently available. I just can't seem to find anything . Thanks, Dave
Help: Populate “Contact Owner” details into Customer custom fields (for email templates) in Zoho Books
We want to send invoices on behalf of our sales agents, and include the agent’s name, email, and phone in the email body using placeholders. Plan is to copy the Customer Owner details into three Customer custom fields, so they can be used as placeholders
Undocumented Books API error message - 1000 - The requested action could not be completed. Please try again. | Unexpected error
This code sometimes throws this error 1000 - The requested action could not be completed. Please try again. | Unexpected error What does it mean? result = zoho.books.updateRecord("salesorders",organization.get("organization_id"),salesorder_id,sales_
Partial payments for retainer invoices
When a customer does not pay the entire retainer invoice there is no way to apply a partial payment. PLEASE add this function.
Making Tags Mandatory
When creating an expense, is it possible to make the Tags field mandatory? I see the option in settings to make other fields mandatory, like Merchant, Description, Customer, etc, but nothing about Tags. Thanks! Kevin
Mass Update not trigger workflows
Hi, I have performed a mass update of all records in a custom module using a custom view. I have a dummy checkbox on my module that I turn on or off - hoping to trigger all the new workflows that have been created for that module. However, no workflows
Multi-Select lookup field has reached its maximum??
Hi there, I want to create a multi-select lookup field in a module but I can't select the model I want the relationship to be with from the list. From the help page on this I see that you can only create a max of 2 relationships per module? Is that true?
Generating CRM reports based on date moved in staged history
Hi everyone, I'm trying to generate CRM reports of jobs (I think these are called usually deals) based on when they were moved to a particular stage, ie all jobs that were moved to Proposal/Quote in the previous financial year. I can see from other similar
Modules for missed calls, emails, texts etc
Hi there. Is there a way to create a module that would automatically show a list of all inbound calls that were missed by our users, as well as any inbound SMS's, emails & WhatsApp messages. That way, a user who is available, can work through that list
Subforms and automation
If a user updates a field how do we create an automation etc. We have a field for returned parts and i want to get an email when that field is ticked. How please as Zoho tells me no automation on subforms. The Reason- Why having waited for ever for FSM
Conditional layouts - support for multi-select picklists
Hi, The documentation for conditional layouts says the following: "Layout Rules cannot be used on the following field types: Auto Number Lookup Multi Select Lookup User Lookup Formula File Upload Multi Line" I have a custom module with a multi-pick list
Ability to Set a General Email Signature for the Organization in Zoho Recruit
Dear Zoho Recruit Team, I hope you're doing well. We would like to request a feature that would allow us to set a general email signature at the organizational level within Zoho Recruit. Currently it is only possible for individual users to create their
Custom Buttons & Links Now Supported in Portals
We’ve just made portals in Zoho Recruit more powerful and customizable than ever! You can now bring the power of Custom Buttons and Links to your Candidate, Client, Vendor, and Custom Portals — enabling portal users to take direct action without recruiter
Is there a way to show contact emails in the Account?
I know I can see the emails I have sent and received on a Contact detail view, but I want to be able to see all the emails that have been sent and received between all an Accounts Contacts on the Account Detail view. That way when I see the Account detail
Live webinar: Transform data into impactful visuals with Zoho Show
Data is frequently a core part of a presentation, whether it’s a sales pitch, project update, research report, or performance review. But when it’s just numbers on a page, the message you’re trying to convey can get buried. The real magic happens when
File attachments not working - web version
Since Notebook announced better file attachments, I have experienced file attachments failing. When uploaded from my pc to the web version, notebook just spins. Acting like the attachment is very large. When it's 30k. If I cancel out of this, the notecard
API - Barebones Data for Send Doc For Signiture
I am learning how to use with Zoho Sign API. I am wondering if someone can give me a bare bones JSON data sample for "Send Document For Signature". Below is the blank data that is pre-populated in postman. Seems like there is more here than the bare minimum
Revenue Management: #2 How to compute revenue?
In our previous post, we discussed the revenue recognition standards under IFRS 15 and ASC 606 and the five-step model. Now, let's examine three distinct business scenarios to see how the standards and model work in practice. This will help you understand
External lookup in CRM (as in Books)
Hello Context: We have a CRM module, similar to Deals, but for Purchasing. Once the PO is created, a link to this PO should be updated in that "deal". In Books, you can add a custom 'external' field which can look up into CRM modules. I'm asked to have
"Undo Send" Feature
Would love it if TeamInbox had an "Undo Send" feature, that gives you 10 seconds or so to "undo" the sending of an email. Many other email clients already have this feature, and my clients really miss it, as it has saved them many times in the past when
Zoho Sites
Does anyone have experience building Zoho sites or know how I can find someone who does?
Zoho Crm Lagging
Hi Zoho Support Team, Starting from today, my Zoho CRM has been extremely slow and laggy when accessing any pages or modules. This is affecting my work and overall productivity. Could you please help to check if there are any ongoing issues or if there’s
Is there a way to reference/attach mails to deals/contacts when the mails haven't come through their contacts normal email and the mail comes through software / app who use their mail system
There are often system mails that come through systems or other software which use their email addresses since they use their own mail servers to mail. This causes an issue as it does not record the mail in the history of the CRM since the email is not
Recommendation
I give up on Zoho. It's never going to be an all in one solution, their own apps don't even connect. Can any one recommend an alternative at least for the crm / people.
CRM - Site/Location
Hi Zoho, One massive oversight of the Zoho CRM is the inability to add multiple sites or locations to one account. Many organisations have several (in some cases, hundreds) of sites across the country or even the globe. The workaround to this, of course,
An unknown error occurred. Please contact support
Whenever I visit this page I see this. I changed browser and still the same. Can someone from Zoho help me please?
How to Streamline Pick & Ship
Is there a way to streamline the built-in pick and ship process? I guess mostly on the ship side. Our current process allows us to choose shipping super fast. It's an EasyPost plugin for WooCommerce. You have to populate the boxes / weights / shipping
Next Page