Kaizen #166 - Handling Query Variables in Zoho CRM

Kaizen #166 - Handling Query Variables in Zoho CRM


Hello, Code Enthusiasts! 

Welcome to another week of Kaizen!

This week, we'll dive into handling variables in Zoho CRM Queries and see how they can be deployed in Kiosk to dynamically retrieve data. This technique is especially useful for integrating data from third-party applications or CRM itself into your custom interface, such as Canvas and Kiosk. 

Variables

Variables are placeholders in Queries that are replaced with real values at runtime. Instead of hard coding data, you can use variables to make your Queries flexible and reusable.

Syntax: {{Variable_Name}}

Query variables in Zoho CRM function differently from conventional Zoho CRM variables. While CRM variables act as containers for dynamic values that can be stored and reused anywhere within the organization, query variables are designed to receive their values at runtime.

Query variables enhance flexibility and are specifically used in:
  • COQL: To dynamically filter and retrieve data.
  • REST API: For runtime data fetching based on specific parameters.
  • Query Criteria: To define conditions dynamically for fetching records.

How to Use a Variable?

To use variables, ensure the fields providing the variable values are available in the context where the Query is executed.

Let’s say you want to evaluate a marketing campaign's performance. For this, you need to fetch all leads with a specific lead source. Since each campaign is associated with a different lead source, you can define the lead source as a variable. When viewing a campaign's details, the lead source will be passed dynamically to the Query.

Business Scenario : Nearby Delivery Hubs

Imagine a telecommerce platform using Zoho CRM to manage sales and deliveries. When a customer provides their PIN code, the salesperson must confirm with the customer for a nearby post office for package pick-ups and drop-offs in Kiosk.

With Zoho CRM Queries, you can achieve this by dynamically fetching the nearby post offices list based on the customer's PIN code and displaying it on the Contact record’s detail page. Here's how to set it up using the Kiosk feature.

Setting Up the Query in Kiosk

1. Access Kiosk Studio

  • Log in to Zoho CRM.
  • Go to Setup > Customization > Kiosk Studio and click Create Kiosk.

2. Configure the Current Module

  • Choose the module where the Kiosk will be deployed.
    For this example, select Contacts to use the PIN code from the Contact record.

  • Configuring this Current Module is mandatory to use variables from the current record. 

3. Add a Screen

  • Click the + icon on the flowchart and select Screen.
  • Name the screen and click Add.

4. Add a Query

  • Under Display Elements, choose Get Data Via Queries.
  • Click New Query and then Add Query to create a new one.

5. Set Up the Data Source

  • Any custom source has to be enrolled either in the Trusted Domains or in the Connections. For demo, 
  • In the Add Query pop-up, click Source and create a new source.
    For this demo, we’ll add India Post to fetch post offices based on PIN codes.
  • Add default Headers and Parameters to the source if any. This will be added by default whenever the source is used in a query. 

6. Define the Query

  • In the Information section, provide the query’s Name and API Name to refer to the query wherever needed.
  • Use the endpoint URL with a variable, e.g., https://api.example.com/post_offices/{{Mailing_Zip}}.
  • You can add headers and parameters specific to the query, but let us skip that for the demo. 
  • Add a JavaScript serializer to process the Query response. For our case, we will serialize the response with return result[0].PostOffice;
  • You can test your serializer with the help of Preview. Once finished, provide a test value to the variable for generating Schema for the Query Response.
    The test value you provide is temporary and not permanent. The value of a variable will be declared using merge fields when you associate the query with a component. Check Step 7 to know how it is used in our demo. 

    You can also manipulate the response by changing data types of keys in the raw response. To keep the demo simple, let's go with the raw response. 

7. Link the Query to Kiosk

  • Use Dynamic Parameters to map the variable to the Mailing Zip field from the Contact record. Enter # to merge the fields. 
  • In Choose Fields, select which data to display in the Kiosk.
  • You can further manipulate the query response in the Record Preferences section.
    Select your preference to view the response as a Single Record or Multiple Records.
    • For Single Record, choose the data that has to be displayed from the query response and click Save.
    • For Multiple Records, fill in the following details as shown in this image. 
    • The Selection Limit helps you with the maximum number of records that have to be chosen in the kiosk after publishing. 
    • Identifier field functions as the primary field to identify each record. 
    • In the fields section, choose the data that has to be displayed from the query response.

  • Customize the Kiosk button and click Done to save your configuration.
  • 8. Test and Publish

    Test the Kiosk using a sample Record ID from the Contacts module. If successful, the list of nearby post offices will display in an iframe as it would appear on the Contact detail page.


    Once satisfied, publish the Kiosk to make it live. 
    Let us check the Kiosk from the Contacts detail page. 

    Example Scenarios

    • Loan Approval: You can display a customer's CIBIL score using their Social Security Number (SSN) directly within a Canvas. The SSN serves as a runtime variable, allowing you to approve loans without manual data entry and shifting tabs.
    • Customer Support: In a Records Detail View kiosk, display all high priority tickets linked to an account. The current account's ID acts as a runtime variable, ensuring that support agents have immediate access to relevant queries and resolve issues faster.
    • Insurance Verification: In a Records Detail View kiosk, the customer's ID proof number can be used to verify their details on official government sites. The ID proof number dynamically functions as a variable, streamlining the insurance verification process.
    We hope you found this post informative and beneficial.

    If you have any queries or a topic to be discussed, reach out to us at support@zohocrm.com or drop your comments below. 

    Cheers!

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

      • Recent Topics

      • ePOD Devices

        Has anyone tried and tested and devices that deliver ePOD (electronic proof of delivery)? We would like our drivers to use an ePOD device to get the customer signature The app should then be capable of updating the sales order to show delivery.
      • API Integration

        Why are we unable to do API Integration for Job borads
      • Remind/Recall Document API

        When I recall a document through the Sign API, I would like to be able to specify the reason that gets sent in the user notification email. Same with including a unique message when sending a document reminder through the API. Is there a way to include
      • Zoho Books API Creating Invoice and Address API

        I'm trying to create an invoice with zoho books api and i get the following error: Error creating invoice in Zoho Books: { message: 'Request failed with status code 400', details: { code: 15, message: 'Please ensure that the "billing_address" has less
      • Convert Multiple PO in 1 Bill

        Does anyone know how to convert multiple POs in 1 Bill? Thank you
      • merge the Multiple POs to single PO if Vendor of PO"s --in Zoho Inventory

        HI Merge the Multiple POs to single PO if Vendor of PO"s are Same ----in Zoho inventory Please provide any work around to achive this .
      • How to add categories to community

        In my Community, I would like to add several Categories but I don't readily see how this is accomplished. Currently, I have one category in my community with several forums. But I would like to add more categories. Thanks.
      • Knowledgeable Image Quality is very poor, any recommendations how to improve this?

        Hi All, We are looking at migrating our current knowledge base to Zoho so it can be kept in one location. Our current KB utilises a lot of images to try and make it easier for users and less wordy. Unfortunately, when I upload an image within an article,
      • Assistance Required: Displaying Dynamic HTML Table in Zoho Creator Dashboard Page

        I am currently stuck while creating a custom dashboard page in Zoho Creator. I want to display a designed HTML table showing Teacher Registration data with this condition: If Total Allowed Leaves < 10, display those teachers in the table. Page Scripts
      • Visibility of Custom Questions in the Question Pool

        A colleague is adding our own questions in the question pool for our Employee Engagement survey, but I can't see the questions she has entered, even after refreshing the webpage. Are the custom questions in the question pool only visible to the one who
      • campaigns contact lists not exporting

        I'm trying to export a specific lead source from my contract list in 'campaigns'. Every time I have to do this the contacts won't export. I have done a search and selected the specific contacts I want to export. The box appears to choose the file type,
      • Recipient Field on replies doesn't update with Contact change

        Some emails that come into our system come from an online form and the sender address is a noreply@whateverthedomainis.org So in order to reply to the original sender, we need to update/change the contact for the tickets. However, after we change the
      • Multicolumns fields for native forms

        It would be nice to be able to create forms with multiple columns. Currently, each field occupies a single column, which makes a fairly complex form seem too long.
      • Assign values to hidden fields in native forms

        It would be great to be able to assign values (static or dynamic) to hidden fields in a form. Currently, I can only assign a value via the URL. I currently have a form integrated with a webhook, but I don't have a way to send useful form data as parameters,
      • Migrating Email Content to a Shared Mailbox Address

        I am moving my email to Zoho Mail (currently hosted through GoDaddy). I have created a user (me) and I have also created a "Shared Mailbox" Group (through the admin panel) with an email address I will be using as an organization address. My personal email
      • Calendly One-way sync- Beta Access

        Hello Community, Many of our Zoho Calendar users have expressed their interests in Zoho Calendar and Calendly integration. We've been tightly working on with Calendly team to provide a two-way sync between Calendly and Zoho Calendar. However, there have
      • Live webinar: Mastering financial presentations with Zoho Show

        Hey there finance professionals! We know many of you are currently knee-deep in report creation mode to wrap up the fiscal year for your organization. Creating a presentation to communicate essential financial data isn’t simple, with all the calculations,
      • Zoho Desk Android app update: Accessing the guided conversation bots in the IM module

        Hello everyone! In the latest version(v2.9.8) of the Zoho Desk Android app update, we have brought in support for Guided conversation bots within the IM Module. These bots use predefined conversation flows to automate initial responses, handle routine
      • Zoho Analytics Embed - Zoomed Right In?

        Hey all, I am using the Zoho Show app on an android TV and cannot figure out why, but the Zoho Analytics embed is zoomed right in. When I preview on my laptop it looks fine, when I go in and edit the code, it looks zoomed? Then when it displays on the
      • Assistance with Image File Upload in Zoho Creator

        Hi , I'm building an application for storyboard creation using Zoho Creator, integrating Gemini AI for automated image generation. In the "Generate Frame" form, user inputs are collected to construct image prompts. Current Workflow: On Validation (Form
      • Migrating all email accounts from cpanel shared hosting and email boxes to zoho

        I have already read previous articles posted on this forum but none of them suit my needs.So i am currently working for a small company. The company website runs on cPanel shared hosting and the company page is a WordPress website. I recently redesigned
      • Domain Change from apkbark.com to apkbark.io – Do I Need to Setup Zoho Mail Again?

        I recently migrated my website from the old domain https://apkbark.com to the new domain https://apkbark.io. The Zoho Mail setup was previously configured and working perfectly on the old domain. Now I would like to know: Will my Zoho Mail setup automatically
      • How to add different type of revenue under sales ?

        How to add different type of revenue under sales ?
      • Types of Revenue

        i have different types of revenue , I want to see under sales in different categories , while preparing invoice I want to allocated if possible
      • Zoho books account recovery

        I had submitted a request to restore zohobooks account, but I am yet to get a feedback till now. The email addresses used to access the zohobooks can not access it again. I don't know what went wrong. I need quick attention to this. More details are provided
      • Payments calendar for receivables and liabilities by due dates

        Hello guys! What method can you recommend for tracking and planning future payments against expected income? We operate on the principle - we expect some income this month, then we look at what expenses are due this month and pay accordingly. I've seen
      • Email Search

        Has search stopped working for people? Searched on Zoho email content, I get nothing back. Signed out and back in, still same issues
      • Zoholics Europe 2025: Your Ultimate Data Analysis (Zoho Analytics) Workshop Experience

        Why should you attend? This year, Zoholics Europe 2025 is putting data analysis centre stage. With a dedicated workshop designed to answer all your data-related questions, you’ll gain practical skills, real-time solutions, and expert insights that you
      • how i can update client_secret or refresh_token in case if my was stolen?

        i want to know how i can protect my data on this case
      • [Webinar] CoCreator – Generative AI-Assisted Application Development in Zoho Creator

        Hello Creators! The Zoho Developer Community is hosting a webinar on CoCreator – Generative AI-Assisted Application Development to showcase our latest AI capabilities. What's this about? It's all about our latest AI capabilities in Zoho Creator. Instead
      • custom fields not populating from deluge script into invoice

        Hello, I've created some Deluge script that is meant to take a few inputted invoice custom fields and calculate a few others. I can see when I execute the function that my inputted custom fields are being passed, yet im still ending up with all "null"
      • Using English But Dropdowns in Thai

        We have selected English in Settings but all of the dropdown boxes are in Thai. How do i change this? The organization is based in Thailand and we are using the THB as our currency, but need the dropdowns to be in English. Please help! 🙏
      • Introducing Import Contract API

        We are excited to introduce the Import Contract API in Zoho Contracts. Here's a brief overview: Import Contract API The Import Contract API allows you to import contracts directly into Zoho Contracts in any of the following states: Draft Signed Active
      • Cambio de Plane

        Tenia un plan gratuito, hice una actualización a un plan de pago, salí por completo y entre nuevamente, pero no me deja corregir, pagar o modificar las facturas que había realizado en el modo de prueba. Me da el siguiente error: Factura de proveedor se
      • Better integration between Zoho CRM and Zoho Bookings

        I've noticed that when a meeting which was created in Zoho Bookings is updated by a sales person in Zoho CRM, the change is not reflected back into Zoho Bookings. I have raised this with support who advised that meetings created in Bookings need to be
      • Why is there a limit to JSONString of less 100 characters

        having this problem.
      • Enhanced crash reporting in Zoho Apptics

        All app crashes have the same sad ending: The app dies while the user still wants to use it. But the reason behind each crash? They vary every time. Identifying the root cause and fixing it is already hard work for your dev team. What makes it harder?
      • Description column in the "all expenses" overview page?

        Hi! I'm new to Zoho Books and accounting. I'm surprised there doesn't seem to have a proper "description" field for the expenses, only "notes", and that I can't have such a description visible on the overview page. So that I can quickly visualize my expenses...
      • Only Default Administrator Profile can Convert Estimates Zoho Finance

        In Zoho Finance Only the Default Administrator Profile can convert the Estimates A different Profile with the Admin level permission cannot convert the Estimate of someone else to a Sales Order, Only and only the default Administrator Profile Why is that
      • Zoho Notebook suddenly running very slow on long notes

        I have been a longtime user of Zoho Notebook. Historically, it has run quite well, but I've noticed over the last few days that it has begun to run unbearably slow when typing in large notes, to the point where I can type four words and have to wait for
      • Next Page