Kaizen #182 - Queries in Canvas List View

Kaizen #182 - Queries in Canvas List View



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:
  1. CRM Module type query to retrieve data from CRM modules.
  2. COQL type query to construct a query using the COQL API.
  3. 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

  1. Go to Setup > Developer Hub > Queries > Sources > Add Source.
  2. Under Information,
    1. 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.
    2. Specify any default parameters and headers for this base URL.
  3. Under Connection, choose the connection you have created with Zoho Desk with the necessary scopes. If you haven't, create one.
  4. Click Save.

Notes
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

  1. Go to Setup > Developer Hub > Queries > Add Query.
  2. Under Source, choose the source you created in step 1.
  3. Under Information,
    1. Enter the Name, API Name, and the Endpoint of the query.
    2. 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.
    3. Specify Headers, if any.
  4. You can serialize the output to fit your needs using JavaScript in the Serializer.

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

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

  8. Click Next.
  9. 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.
  10. 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.

The Custom List view in Canvas enables you to stack records horizontally, one above the other.
Follow the steps in the How to Work with Canvas? guide to create a Custom List View Canvas for the Contacts module.
  1. On the Canvas, click the database icon for the Queries component.
  2. Click Associate Query.
  3. Give an Association Name and select the Source(added in step 1) for the query.
  4. Under Query, select the query you created.
  5. The Variables section will contain the variables in the query. The drop-down displays all fields in the Contacts module. Select the Email field.
  6. 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.
  7. Click Done to associate the query with the canvas.

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

  9. 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.
Info
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.

Let us know your thoughts in the comments or write to us at support@zohocrm.com.
Topic suggestions are welcome! See you all next week!


Cheers!


----------------------------------------------------------------------------------------------------------------------------------------










    • 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
    • Recent Topics

    • How do I automatically assign the project owner for all tasks in Zoho Projects?

      I have been researching for days on how to automatically assign all the tasks to the project owner on creation of the project in Zoho Projects. I have been having to go in and manually change all the task owner from 'unassigned' to the owner of the project
    • CRM Kiosk - Action for GetRecords

      I have a Kiosk screen with GetRecords and want to use the selected records in a custom function. My particular case is to set a lookup value on the selected records. Generally speaking though, I want to work with the selected records in a function. I
    • Email for customer to provide payment information

      Is there a way for customers when you set up a subscription to get an email that prompts them to put in their billing information to start their subscription? Also, can you show the subscription in their portal?
    • Unable to display field label from a hidden Single Line Textbox in Description

      Hi folks, I'm unable to display my hidden field, e.g. ${zf:SingleLine4} , in my description. I'm pre-filling this hidden Single Line Text box via "Field Alias - Pre-fill URL" settings. I noticed that my decimal form fields work, e.g. ${zf:Decimal}, and
    • Lookup fields

      Is there any way to add Lookup fields to Zoho FSM -- I do not see the option but I see default lookup fields in different modules
    • Zoho Analytics - Bill Table

      Hi I am new to Zoho and mainly work in Books. Recently learned of Zoho Analytics and am exploring it to create reports that would be useful for me. For example, I want to create a bills cash forecast by week for cash flow planning. When I start to create
    • Creating a tax - amount table in Analytics

      Hi everyone, I would like to create a report in Zoho Anayltics that creates the tax and amounts in a table. I have been able to create a report that shows me all the tax accounts, but I can't get it combined with the amounts of the accounts. Is there
    • Is it possible to do custom domains on test accounts that use saml setups?

      In Zoho Billing, Is it possible to do custom domains on test accounts that use saml setups for the customer portal?
    • I’m facing an issue while trying to upload a PDF file to a custom file upload field within the Leads module via the Zoho CRM API.

      Hi Zoho Team, I’m facing an issue while trying to upload a PDF file to a custom file upload field within the Leads module via the Zoho CRM API. I am able to manually upload a PDF into this field through the UI. I am also able to upload files as attachments
    • No chat option

      Chat option is not available in Android app.
    • How to add custom templates in zoho sheets mobile

      How can I add custom templates in Zoho spreadsheet mobile?
    • Order Items

      Hi .. We have to implement orders with line but each line should have a separate record and not as a subform, does anyone have experience with that kind of solution what is the best practice for that kind of thing Thanks
    • Trello: Invalid Client - Client ID passed does not exist

      Hello, I am trying to authorize the Zoho CRM power-up in Trello but always land on the following page: I tried adding a trello client to the Zoho API console but this generated a different client ID to the one in the link of the page in the above picture.
    • Zoho Sprints - Q2 updates for 2025

      Hello everyone! We’re excited to share the latest updates from Zoho Sprints for Q2 2025! This quarter, we rolled out a few highly-requested features designed to enhance collaboration and time management across your projects. Here's a look back at the
    • CRM Email Insights Not Working - Status not Changing

      I used to be able to see if a customer opened/read an email in CRM, but I no longer get those status changes inside their record. I have everything enabled and I am sending the email from CRM. The experience center has the status' enabled as well. Any
    • The use of Ticket statuses

      When your support team mark a ticket "Closed" before I had a time to check what your team has done on the ticket - I have to consider this as you consider the ticket closed even if I dont consider it closed. Which automatically produce a negative sentiment.
    • "Replace" an existing version of CRM

      Hi all, I have a question, I saw an article about this once, but I now cannot find it. I am working with a client who has had their CRM in Zoho One built and extensively modified. But it is non-functional now, and rather than try and unpick the system,
    • Data Import From a private PostgreSQL RDS Instance

      Hello All, I feel like the problem I am experiencing has been seen before; however, I am having a difficult time finding any solutions. Hoping the community has some insights. I am trying to import data from a PostgreSQL RDS instance that is behind an
    • Assistance Required: Authentication Error When Sending Credit Application Form

      Hi, I'm encountering an error message that states: "Authentication unsuccessful – the user credentials were incorrect." This occurs when I attempt to send the credit application form to our customers. I've attached the form I’m trying to send for your
    • Missing Fields in Lead Conversion Mapping

      I’ve been using Zoho CRM since 2013 to manage leads and convert them into contacts and jobs. When I convert a lead to a customer, I create a new contact and a job. Previously, this process automatically transferred key information from the lead to the
    • Allow selection of select inactive users in User data fields

      Hello, We sometimes need to select a previous employee that has an inactive account in the User data field. For example, when doing database cleanup and indicating actions are done by a certain employee that weren't filled out when they were part of the
    • Connection to Zoho One

      My org has a Zoho One account, which includes Zoho Social. We are wanting to try linkthread. However, I want to make sure it is set up properly from an account perspective, as I have accidentally created Zoho accounts separate from Zoho One when I didn't
    • Ticket Automatically Created from Closed Chat

      Is there a way to prevent a ticket being create for every chat.... or at the very least have it automatically closed.
    • IMPORT INVOICES CSV

      Hi, Impossible to import invoices in Zoho books with a csv file. I have also tried with the template. My topic keeps getting closed but I did not get any answer Is there an issue with this fonctionnality ?
    • Related Lists in Email Templates

      Hi Zoho team, I would love to see a feature where related list information can easily be added to an email template (instead of mail merge). I have a client who books flights for their customers. They do this through a Flights module so all booked flights
    • Outlook plugin funktioniert nicht.

      DAs Outlook Plugin funktioniert nicht mehr. Ich werde aufgefordert, mich mit der App "OneAuth" anzumelden Intelligente Anmeldung per OneAuth funktioniert nicht zufreidenstellend. Nach erfolgreicher Anmeldungung mittels QR Code lande ich wieder beim QR
    • iOS App Version 3.0 - Customer list gone?

      Not sure when this changed, but I seem to have been updated to 3.0 for the phone app (on iOS). I'm pretty sure that I used to have a Customers button that allowed me, for example, to see what appointments a customer has. Has this disappeared or am I just
    • Zoho Signature, "For Demo Purpose Only Powered by Zoho Sign"

      How to disable this text on the documents for signature. "For Demo Purpose Only Powered by Zoho Sign"
    • Add Resource variable to notification email customisation for Event Type

      The notification email customisation feature for Event Type does not include a variable for the Resource field. Without this field, Zoho Bookings cannot be used by any business for resource-based services or event types e.g. room bookings, equipment bookings.
    • Can't find add role button, is iet st because I have the free subscription

      Trying to add my accountant in Zoho Books if I press the add accountant button, I get stuck as it says no such role exists, and won't let me continue, I can't find the add roles button, so I am stuck. Is it because I have the free subscription? Also can't
    • Calendar view all appointments in workspace

      In the Calendar page, add the ability to view all appointments in the Workspace. The Manage Calendars filter requires me to select at least one user or resource, and it only lets me select up to five of them. There's no filter option to view the entire
    • Tip #13: Identify where your bookings come from with Source Tracking

      Source tracking is the practice of identifying where your bookings originated. This is important, because online bookings come from a wide variety of sources like social media platforms, your website, email and ad campaigns, partner websites, organic
    • Unable to Add Notes

      I've had a user report that they are unable to add notes to account records. I attempted and found the same issue. There is no option to save the note.
    • Workflow Rule Alert Not Working

      I have a workflow rule set (that I've been using for years) that suddenly stopped working. Module - Leads Execute on - Create Alerts - Email Active - Yes When I create my lead I no longer receive my email notification. 
    • Can zoho sign collect data feeding Zoho Sign?

      I m sending contracts to client who are not in my zoho CRM database yet. Can the data they enter in Zoho sign contract I send them, (that includes...) official company name address first name second name etc, ...Create or update a contact / account
    • IMAP ACCOUNT ACCESS PROBLEM

      Hi! I moved from Gmail some time ago to ZOHO. It works fine and it worked till yesterday. I found out that on my MAC OSX mail client I can not receive emails from ZOHO using IMAP. Gmail is set to IMAP and works OK. My company email account uses POP and works good as well. Is there anybody else who has such problem or this might be something with my email client...? I didi check for the settings but everything is as it was from the beginning. Honestly, I didn't change anything recently. It just stopped.
    • Modified approved time log

      I can’t seem to find a way to make change to approve time log entry. The case is the following. We pay the employees every 2 weeks, so employe A enter is time for the 2 weeks and then submit his timesheet. Now is superior approve the time he worked via
    • I want to Show the product list based on the drop Down

      in quotation app , amc form form i have Department drop down field and in subform i have loop up field item description taken from the anothe app PRO I want to show the product list look up based on the deparment selected example if they selected deparment
    • Inventory Barcode Creation - Add Picture of Item

      Hi I am trying to set up bar code labels and include a picture of the item on the label - any idea on how to add that field to the barcode generator?
    • Shared Snippets Everyone

      Hi, Now that the Shared Snippets have been released and I think will be the most used feature implemented in 2023 :) Creating and Using Snippets in Ticket Responses - Online Help | Zoho Desk Maintain consistency in ticket responses with shared snippets
    • Next Page