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 #197: Frequently Asked Questions on GraphQL APIs

        🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
      • Kaizen #198: Using Client Script for Custom Validation in Blueprint

        Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
      • Celebrating 200 posts of Kaizen! Share your ideas for the milestone post

        Hello Developers, We launched the Kaizen series in 2019 to share helpful content to support your Zoho CRM development journey. Staying true to its spirit—Kaizen Series: Continuous Improvement for Developer Experience—we've shared everything from FAQs
      • Kaizen #193: Creating different fields in Zoho CRM through API

        🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
      • Client Script | Update - Introducing Commands in Client Script!

        Have you ever wished you could trigger Client Script from contexts other than just the supported pages and events? Have you ever wanted to leverage the advantage of Client Script at your finger tip? Discover the power of Client Script - Commands! Commands

        • Recent Topics

        • Lets enable business to choose the default payment mode

          Lets enable business to choose the default payment mode so that we do not have choose payment mode again and again for each and every transsctions
        • Add Attachment Support to Zoho Flow Mailhook / Email Trigger Module

          Dear Zoho Support Team, We hope you are well. We would like to kindly request a feature enhancement for the Mailhook module in Zoho Flow. Currently, the email trigger in Zoho Flow provides access to the message body, subject, from address, and to address,
        • South African Payment Gateways

          Since the "Demise" of Wave many South African users have moved over to Zoho and yet for years users have been requesting Integration with a South African Payment Gateway to no avail. Payfast was the most commonly requested gateway as it supports recurring
        • Has anyone verified if Zoho is PCI compliant?

          We are planning on using Zoho to process payments via Authorize.net. We have everything set up and are attempting to complete the PCI DSS SAQ-A requirement for our merchant account. This requires us to prove Zoho has completed the SAQ-D for Service Providers. We need a way to verify compliance, or a copy of an attestation of compliance signed by the appropriate officer at Zoho. I assume I'm not the first person to use Zoho to process payment, and therefore not the first to require this information
        • Bigin Plugin for Outlook

          Could we get this added? The Gmail version already exists, and I would like to avoid having to make a switch.
        • Date does not fit the field

          Hi There. I am having fun learning zoho sign API. Today I noticed the "Signed Date" field does not fit, or alternatively the font is to large for the auto field space. See screenshot below. The signed date field is created by putting {{Signdate}} on the
        • Tip of the Week #69 – Automate your Zoho TeamInbox tasks with n8n integration.

          Don’t waste time repeating the same tasks—like sending follow-up emails or adding new contacts. Let automation save the day. With n8n, an open-source automation tool, you can connect your favorite apps and let them handle the busywork for you. You don’t
        • Multi Page/Step Forms in creator

          Greetings i was wondering if it's possible to create multipage/step forms on creator similar to what we have on zoho forms. is that possbile? Thanks
        • Package Geometry

          how can i add the dimensions and weight capacity of the available boxes to be default in the system everytime we use it ?
        • How to create a Master Kanban Board that syncs with Child Projects?

          Hello, We're currently using Zoho Sprints for managing our interdepartmental teams, and we're looking to enhance our workflow using Kanban boards as part of a company-wide productivity improvement initiative. Our goal is to implement a project structure
        • Writer.. Broken?

          Hello,  Writer has been really good to me during the months I've used it, up until now.  I usually launch the app by tapping the icon and I could immediately pick up where I left off.  Now I'm greeted by a loading circle not reaching 100% and I only have the option to create a new account.  By pressing that button it now switches to a login screen and I can access my account. However, it seems (only speculating ofc) to be stuck in cell-phone mode? everything looks scrambled.  I can't access any of
        • How to access Recruit Variables in a Deluge function?

          I have set up Recruit Variables in Zoho Recruit, and I would like to know how to retrieve these variables from within a Recruit custom function (Deluge). Could someone please explain the correct way to access them? I tried the following code, but it did
        • Upon De activate a user what name doe sthe contacts candidates go under?

          When deactivating a user, does the user name remain the same, as the candidate owner? If not what/who, does it change to? Do I need to change the user name in contacts and candidates before I deactivate the user?
        • Weekly Tips: Customize alerts from your Priority Users

          You might receive hundreds of emails daily, but messages from your manager, clients, or team leads often require immediate attention, as they may contain urgent requests or critical updates. How would you ensure you never miss important messages from
        • Maximum 100 records in Sheet View is limiting. How can I increase this?

          Thanks in advance for any help with this. There was a similar post that showed answered but it did not help with increasing the number of records you see in a Sheet View. Editing in the Sheet View is fast and efficient but I have 3500 records and I need
        • Revenue Management: #3 Revenue Recognition Simplified

          In continuation of the previous post on how to compute revenue recognition, let's explore a solution that helps businesses handle real-world complexities. While the Accounting Standards provide a clear framework for recognizing revenue, the real challenge
        • Tip #40- Strengthen Remote Support with IP-based Restrictions in Zoho Assist– ‘Insider Insights’

          Protecting sensitive data and preventing unauthorized access is a top priority for any organization. With IP-based restrictions in Zoho Assist, you can ensure that only users from trusted networks can initiate remote support sessions. Say your IT team
        • Push Invoices to Xero Manually

          Hi guys, I'm wondering if anyone has wanted to do this and has a workaround or knows of an app that may be able to help with this. I sell B2B and B2C. The customers can purchase on our website or through marketplace, all of which send sales to zoho. The
        • OpenAI error code: 1010 in a Zobot

          Please see short linked screen recording. Insights welcome. Please and thank you! https://workdrive.zohoexternal.com/external/f3247ba9c872639157b707700c0300c433c7664aea924a034f4da3c3ad2e355f
        • Ability to Create Sub-Modules in Zoho CRM

          We believe there needs to be a better, more native way to manage related records in Zoho CRM without creating clutter. Ideally, Zoho would support "sub-modules" that we can create and associate under a parent module. Our use case: We have a custom module
        • Installing EMAIL Setup in New Domain

          Respected Support team, I'm facing an issue with cloudflare in Pakistan, I want to setup Zoho Mail Setup but I Don't know how to enable Zoho mail setup without cloudflare. My Website https://stumbleguymod.com/ is using CF, and I want a different Zoho
        • Signature change

          I cannot see how to change signature or out of office details easily now in the new format.
        • Inventory API - Retrieve all uploaded product / item images

          I know that I can get the primary image for each product / item or composite item, by using the /image endpoint.  https://inventory.zoho.com/api/v1/compositeitems/<item-id>/image?authtoken=<TOKEN> This will return only one photo, even if the item has multiple images uploaded. Is there a way to retrieve all images stored for an item via the Zoho Inventory API?
        • Ebay Integration malfunction

          My eBay integration in Inventory has always worked well. It suddenly malfunctioned. It is creating its own parts in Inventory that are unavailable instead of selling the parts I've always sold. Tech help was unable to resolve this. The latest sale attempt
        • Introducing Bin Locations In Zoho Inventory

          Hello users, We are excited to let you know that your wait for the Bin Locations feature has now come to an end! Yes, you heard us right! We are here to introduce the much-awaited Bin Locations now in Zoho Inventory. But before we dive into the feature
        • how to get all the records in the custom View more than 200 records , Without using the page Concept

          how to get all the records in the custom View more than 200 records , Without giveing page as default in the Loop Concept Pls help how We can Achive this void schedule.Lead_Attempt_To_contact_schedule_10_30() { pages = {1,2}; for each pg in pages { query_map
        • The way that Users can view the ticket

          I have created users. What I would like to achieve is the following: All users under the same company account should be able to view each other’s tickets.
        • Zoho UAE SMS/WHATSAPP

          Hello everyone, so I have a question as regards DC and their impact on automation, integration and app usage. For example I am working with a UAE clientniw but each time I tried to connect their WhatsApp and sms then automate their process I tend to receive
        • Looking to Flag or Tag contacts/ accounts on Zoho Desk?

          I am looking for a way to flag certain accounts and make it obvious on the views pages. So for example if a has a certain package or needs extra attention it is clear before even clicking on the ticket. This could be via adding a tag or flag onto an account,
        • setting date-time field from string

          hello everyone, i hope someone could help me. i have a date-time field in a form that i want to fill in from two separate fields of date, and time. i need to combine the two fields to a one date-time field but can make it work. i tried to convert the
        • Calendars and CRM Contacts

          I'm finding having multiple calendars in Zoho One so confusing. I have a few questions so I can get this straight. We have a meeting room that we have set up as a resource in Calendar. Can this be set up in Bookings and the CRM Calendar? Using Zoho Calendar,
        • Announcing new features in Trident for Mac (v1.23.0)

          Hello everyone! Trident for macOS (v.1.23.0) is here with interesting features and thoughtful enhancements to elevate your workplace communication and productivity. Here's a quick look at what's new. Record your meetings. You can now record audio and
        • Applying a record template

          Hi all, I can't figure this out. I hope you can help. The scenario: We have learners who have to complete a 'digital' journal with tasks in order to qualify. Those tasks, once completed, need a final signature from their 'Mentor', which will trigger their
        • Quickbooks invoice with Zoho Creator

          Is it possible to push data from Zoho Creator directly to an invoice on QuickBooks? If so, where can I find information on how to do this?
        • Help: Capture full page URL in hidden field when same Zoho Form is embedded on multiple pages (iframe)

          Hi all, Goal Use one Zoho Form across multiple pages and record the exact page URL (incl. subdomain + path + hash) where the user submitted it. Example pages: https://www.example.com/cargo/ https://www.example.com/cargo/containers/#contact https://cargo.example.com/auto/
        • Automatically Populate fields - HELP!

          There have been many discussions on this but I still can't seem to get it to work for me. I am trying to create a lookup field and have other fields automatically populate. Based on the instructions in the Help Center, I should be using the "on user input". It's just not working, here is the layout...   Both forms are in the same application. Current form is called Add Note, form to fetch records from is called Add Client. Lookup field is called Select_Client_ID related field in fetch form is called
        • Push notifications to portal users

          Hi all, it is possible to send push notifications to portal users?
        • Rename the attachment from record template pdf in the sendmail deluge script

          Hello Zoho, I urgently need a feature to rename record templates that I send via the sendmail feature. The program I created sends emails to clients with an invoices that have been created in the invoice database. If the user selects 3 invoice numbers,
        • Alt Text On Multiple Images

          I'm using Zoho Social to post to a charity website. Often the posts have multiple images, but it seems there is only one field for Alt Text. Does that mean I can only include it for the first image? Or is there a way to add alt text for all the imag
        • [SOLVED] Getting 401 when trying to download ticket attachment via API

          I'm able to use the API just fine to access ticket content. But I cannot download ticket attachment, keep getting 401 Client Error. Example: https://desk.zoho.com.au/api/v1/tickets/{ticket_id}/attachments/{attachment_id}/content?orgId={org_id} For headers,
        • Next Page