Managing Users Status across Zoho Services using a Unified Kiosk Interface in Zoho CRM

Managing Users Status across Zoho Services using a Unified Kiosk Interface in Zoho CRM

Requirement Overview

A custom UI within Zoho CRM to update the status of Zoho People, Zoho SalesIQ and Zoho Voice. To provide sales, support, or hybrid teams with a centralized interface inside Zoho CRM to update and reflect their current working status across Zoho People (attendance/availability), Zoho SalesIQ (live chat availability), and Zoho Voice (call availability) in real time — without switching between multiple applications.

Business Use Case

Sales teams frequently operate across multiple Zoho applications to manage their daily activities and customer interactions. These multi products could be:
  1. Zoho People is used for managing employee attendance and ensuring adherence to HR compliance policies.
  2. Zoho SalesIQ facilitates real-time engagement with website visitors through live chat, enhancing customer interaction and support.
  3. Zoho Voice is utilized to connect with potential customers through direct calls, enabling personalized engagement and real-time communication.
  4. Zoho CRM serves as the central platform for managing leads, customer relationships, and sales deals throughout the pipeline
  1. Problem Statement

      Organizations using Zoho’s suite of tools might experience:
  1. Employees may occasionally overlook marking their attendance in Zoho People.
  2. Sales representatives or agents may remain marked as 'Online' in SalesIQ even when unavailable, potentially resulting in missed customer chats.
  3. When support agents do not update their status in Zoho Voice, they may appear as 'Available' while unavailable, leading to misrouted calls.
  4. They need to navigate across multiple platforms can hinder productivity and introduce inconsistencies.

Permissions & Availability

-> All the CRM users can use and manage Kiosk if either the permission to Manage Automation or Module Customization is enabled.
-> Users with the Manage Extensibility permission can create connections and write custom functions.
-> Users with the Manage Sandbox permission can manage the sandbox.

Solution

We can leverage Kiosk Studio feature along with custom functions to fulfill the requirement of updating the statuses in Zoho People, SalesIQ, and Voice from a single interface within Zoho CRM. The Kiosk Studio can be embedded as a button or configured on the CRM Home page for convenient access, enabling users to update their status seamlessly.

Alert
To test your kiosks safely, please create them in the sandbox and then deploy them to the production environment.
  1. Step-by-Step Implementation Guide

Step 1: Begin by creating a Kiosk in Zoho CRM

Navigate to Setup (⚙️) in Zoho CRM → Customization → Kiosk Studio → Create Kiosk


Step 2: Add a new screen to the Kiosk Builder page.

Within the screen, insert a 'Text' element to provide users with a hint for updating their status.


Step 3: Once you have added the 'Text' element to provide instructions or context, proceed to add buttons for each Zoho application.

For example
  1. Add a button to update the chat availability status in Zoho SalesIQ.
  2. Add a button to manage check-in/check-out actions in Zoho People.
  3. Add a button to change the call availability status in Zoho Voice.
Each button should be configured to trigger the relevant action for the respective application.


Idea
You could also add a Cancel button to the screen to allow users to exit the process without updating their status. This provides users the flexibility to cancel midway if they choose not to proceed with the update.
Each button on the screen creates a separate path in the Kiosk. Based on the button selected on the initial screen, the Kiosk will follow the corresponding path and perform the appropriate actions. Now that a dedicated path is created for each flow, you could proceed with configuring the specific actions for each application. For example, set the appropriate status updates for Zoho SalesIQ, Zoho People, and Zoho Voice based on the path selected by the user.
  1. Zoho SalesIQ Path in Kiosk

1. Configure Screens and Elements

Add a new screen to the SalesIQ path. Within this screen, insert a 'Text' element to provide clear instructions to the user. For example, explaining how their status will be updated in Zoho SalesIQ. This helps ensure users understand the action they are about to perform.


2. Placing Buttons on the Screen

Add SalesIQ status options as buttons in this Kiosk screen. In Zoho SalesIQ, the available statuses are:
  1. Available
  2. Busy
Add two separate buttons labeled as 'Available' and 'Busy' to the screen. This allows users to easily select the appropriate status based on their current availability.


3. Configuring Actions for Status Buttons

Now, proceed with adding actions to the SalesIQ status buttons. To update the status from the Kiosk, you need to configure a custom function using the SalesIQ API. This function will be triggered based on the user's button selection, i.e., Available or Busy


Idea
You could also add a screen with a 'Text' element after the custom function to confirm that the status has been successfully updated.
This serves as an end screen, providing clear feedback to the user.

For example, displaying a message like 'Your SalesIQ status has been updated successfully'.

Including this step enhances the user experience by confirming that the action was completed.

Sample Code

Below is a sample Deluge script that demonstrates how to update the status in Zoho SalesIQ
  1. Available status 
  1. void automation.availableSalesIQ()
  2. {
  3.     // Create an empty map for the GET request parameters (required by invokeurl syntax)
  4.     requestParams = Map();

  5.     // Fetch the list of operators from SalesIQ via GET API
  6.     operatorResponse = invokeurl
  7.     [
  8.         type :GET
  9.         parameters:requestParams
  10.         connection:"salesiq1"
  11.     ];

  12.     // Extract the 'data' array from the response, which contains the operators
  13.     operatorData = operatorResponse.get("data");
  14.     info operatorData;

  15.     // Get the email ID of the currently logged-in Zoho user
  16.     currentUserEmail = zoho.loginuserid;
  17.     info "Logged-in user email: " + currentUserEmail;

  18.     // Convert operator data to list to iterate through each operator
  19.     operatorList = operatorData.toList();

  20.     // Loop through each operator record
  21.     for each index operatorIndex in operatorList
  22.     {
  23.         // Extract the operator's email ID
  24.         operatorEmail = operatorList.get(operatorIndex).get("email_id");

  25.         // Check if the operator's email matches the current user's email
  26.         if(operatorEmail == currentUserEmail)
  27.         {
  28.             // If matched, get the operator's ID
  29.             operatorId = operatorList.get(operatorIndex).get("id");

  30.             // Prepare map to set the operator status to "Available"
  31.             updateStatusMap = Map();
  32.             updateStatusMap.put("status","Available");

  33.             // Make POST request to update the operator's status
  34.             updateResponse = invokeurl
  35.             [
  36.                 url :"https://salesiq.zoho.com/api/v2/harishtestacc/operators/" + operatorId + "/status"
  37.                 type :POST
  38.                 parameters:updateStatusMap.toString()
  39.                 connection:"salesiq1"
  40.             ];
  41.         }
  42.     }
  43. }
  1. Busy Status
  1. void automation.availableSalesIQ()
  2. {
  3.     // Create an empty map for the GET request parameters (required by invokeurl syntax)
  4.     requestParams = Map();

  5.     // Fetch the list of operators from SalesIQ via GET API
  6.     operatorResponse = invokeurl
  7.     [
  8.         url :"https://salesiq.zoho.com/api/v2/harishtestacc/operators"
  9.         type :GET
  10.         parameters:requestParams
  11.         connection:"salesiq1"
  12.     ];

  13.     // Extract the 'data' array from the response, which contains the operators
  14.     operatorData = operatorResponse.get("data");
  15.     info operatorData;

  16.     // Get the email ID of the currently logged-in Zoho user
  17.     currentUserEmail = zoho.loginuserid;
  18.     info "Logged-in user email: " + currentUserEmail;

  19.     // Convert operator data to list to iterate through each operator
  20.     operatorList = operatorData.toList();

  21.     // Loop through each operator record
  22.     for each index operatorIndex in operatorList
  23.     {
  24.         // Extract the operator's email ID
  25.         operatorEmail = operatorList.get(operatorIndex).get("email_id");

  26.         // Check if the operator's email matches the current user's email
  27.         if(operatorEmail == currentUserEmail)
  28.         {
  29.             // If matched, get the operator's ID
  30.             operatorId = operatorList.get(operatorIndex).get("id");

  31.             // Prepare map to set the operator status to "Available"
  32.             updateStatusMap = Map();
  33.             updateStatusMap.put("status","Busy");

  34.             // Make POST request to update the operator's status
  35.             updateResponse = invokeurl
  36.             [
  37.                 url :"https://salesiq.zoho.com/api/v2/harishtestacc/operators/" + operatorId + "/status"
  38.                 type :POST
  39.                 parameters:updateStatusMap.toString()
  40.                 connection:"salesiq1"
  41.             ];
  42.         }
  43.     }
  44. }

OAuth Scope for Connection:
SalesIQ.operators.UPDATE
SalesIQ.operators.READ
Info
Users need to use a connection with the scope mentioned above. Follow the steps below to create a connection in Zoho CRM.
Navigation: Setup >> Developer Hub >> Connections >> Create Connection
  1. Connection:

🎥 Working Screencast: Updating SalesIQ Status via CRM Kiosk: 



  1. Zoho People Path in Kiosk

1. Configure Screens and Elements

Add a new screen to the Zoho People path. Within this screen, insert a 'Text' element to provide clear instructions to the user. For example, explain how their check-in or check-out status will be updated in Zoho People. Providing this context helps ensure users understand the action they are about to perform before proceeding.


2. Placing Buttons on the Screen

Add People status options as buttons in this Kiosk screen. In Zoho People, the available actions are:
  1. Check-in
  2. Check-out
Add two separate buttons labeled 'Check-in' and 'Check-out' to the screen. This allows users to easily select the appropriate attendance action based on their current availability.


Idea
Ensure the button labels clearly reflect the action they trigger to avoid user confusion.

3. Configuring Actions for Status Buttons

Now, proceed with adding actions to the Zoho People status buttons. To update the status from the Kiosk, you need to configure a custom function using the Zoho People API. This function will be triggered based on the user's selection, i.e., Check-in or Check-out. For example, when the user clicks the Check-in button, the function should call the Zoho People API to mark the user as checked in. Similarly, clicking Check-out should mark the user as checked out.


Idea
To enhance the user experience, you could add a confirmation screen after the custom function is executed.
This screen should include a 'Text' element that clearly informs the user that the status update was successful.

For example, display a message like "Your Zoho People status has been updated successfully".

This final step provides reassurance that the intended action was completed and helps guide users through the process with confidence.

Sample Script

Below is a sample Deluge script that shows how to update the status in Zoho People.
  1. Check-In:
  1. // Function to check in the currently logged-in user into Zoho People attendance
  2.     // Get the email ID of the currently logged-in Zoho user
  3.     currentUserEmail = zoho.loginuserid;

  4.     // Make GET request to fetch the employee record from Zoho People by EmailID
  5.     employeeResponse = invokeurl
  6.     [
  7.         url :"https://people.zoho.com/api/forms/employee/getRecords?searchParams={searchField:'EmailID',searchOperator:'Is',searchText:" + currentUserEmail + "}"
  8.         type :GET
  9.         connection:"people1"
  10.     ];

  11.     // Get the current timestamp in system timezone
  12.     currentTime = now;

  13.     // Make POST request to Zoho People to mark attendance (check-in)
  14.     checkInResponse = invokeurl
  15.     [
  16.         url :"https://people.zoho.com/people/api/attendance?dateFormat=dd-MMM-yyyy HH:mm:ss&checkIn=" + currentTime + "&emailId=" + currentUserEmail
  17.         type :POST
  18.         connection:"people1"
  19.     ];
  1. Check-Out:
  1. // Function to check in the currently logged-in user into Zoho People attendance
  2.     // Get the email ID of the currently logged-in Zoho user
  3.     currentUserEmail = zoho.loginuserid;

  4.     // Make GET request to fetch the employee record from Zoho People by EmailID
  5.     employeeResponse = invokeurl
  6.     [
  7.         url :"https://people.zoho.com/api/forms/employee/getRecords?searchParams={searchField:'EmailID',searchOperator:'Is',searchText:" + currentUserEmail + "}"
  8.         type :GET
  9.         connection:"people1"
  10.     ];

  11.     // Get the current timestamp in system timezone
  12.     currentTime = now;

  13.     // Make POST request to Zoho People to mark attendance (check-Out)
  14.     checkInResponse = invokeurl
  15.     [
  16.         url :"https://people.zoho.com/people/api/attendance?dateFormat=dd-MMM-yyyy HH:mm:ss&checkOut=" + currentTime + "&emailId=" + currentUserEmail
  17.         type :POST
  18.         connection:"people1"
  19.     ];

OAuth Scope for Connection

ZOHOPEOPLE.forms.READ
ZOHOPEOPLE.attendance.all

Info

You need to use a connection with the scope mentioned above. Follow the steps below to create a connection in Zoho CRM.

Navigation: Setup >> Developer Hub >> Connections >> Create Connection

  1. Connection:

🎥 Working Screencast: Check-in/Check-out in Zoho People via Kiosk



                  
  1. Zoho Voice Path in Kiosk

1. Designing Screens and Adding Elements

Add a new screen to the Zoho Voice path in Kiosk. Within this screen, insert a 'Text' element to provide clear instructions to the user. For example, explain how their status—Available, Busy, On Break, or Offline—will be updated in Zoho Voice based on their selection. Providing this context helps ensure that users understand the action they are about to perform before proceeding.


2. Inserting Buttons for User Actions

Add Zoho Voice status options as buttons in the Kiosk screen. The available statuses in Zoho Voice are:
  1. Available
  2. On Break
  3. Busy
  4. Offline
Create four separate buttons on the screen—each labeled according to one of the statuses above. This allows users to easily select their current availability status with a single click.



Idea
Ensure that each button is clearly labeled to reflect the action it performs. This helps avoid user confusion and ensures a smooth experience.

3. Implementing Status Updates via Button Actions

Next, proceed with adding actions to the Zoho Voice status buttons. To update the user’s status from the Kiosk, you will need to configure a custom function using the Zoho Voice API. This function should be triggered based on the status selected by the user—i.e., Available, On Break, Busy, or Offline. Each button should call the appropriate API request to reflect the selected status in Zoho Voice.


Idea
To improve the user experience, add a confirmation screen immediately after the custom function is executed.
Include a 'Text' element on this screen to notify the user that their Zoho Voice status has been successfully updated.

For example, display a message such as, "Your Zoho Voice status has been updated successfully."  

This final step provides clear feedback, confirming that the action was completed, and helps users move through the process with confidence.


Sample Script

Use the sample Deluge script below to update the Zoho Voice status from the Kiosk.
  1. Available:
  1. // Initialize a Map to hold the data payload
  2. data = Map();
  3. data.put("status", "Available"); // Set the agent status to 'Available'

  4. // Make an HTTP PUT request to update the agent's online status in Zoho Voice
  5. response = invokeurl
  6. [
  7. url : "https://voice.zoho.com/rest/json/zv/api/agents/onlineStatus" // Zoho Voice API endpoint
  8. type : PUT // HTTP method
  9. parameters : data // Data payload
  10. connection : "voice1" // Preconfigured connection name in your Zoho account
  11. ];

  12. // Log the API response for debugging
  13. info response;
  1. On break:
  1. // Initialize a Map to hold the data payload
  2. data = Map();
  3. data.put("status", "On Break"); // Set the agent status to 'Available'

  4. // Make an HTTP PUT request to update the agent's online status in Zoho Voice
  5. response = invokeurl
  6. [
  7. url : "https://voice.zoho.com/rest/json/zv/api/agents/onlineStatus" // Zoho Voice API endpoint
  8. type : PUT // HTTP method
  9. parameters : data // Data payload
  10. connection : "voice1" // Preconfigured connection name in your Zoho account
  11. ];

  12. // Log the API response for debugging
  13. info response;
  1. Busy:
  1. // Initialize a Map to hold the data payload
  2. data = Map();
  3. data.put("status", "Busy"); // Set the agent status to 'Available'

  4. // Make an HTTP PUT request to update the agent's online status in Zoho Voice
  5. response = invokeurl
  6. [
  7. url : "https://voice.zoho.com/rest/json/zv/api/agents/onlineStatus" // Zoho Voice API endpoint
  8. type : PUT // HTTP method
  9. parameters : data // Data payload
  10. connection : "voice1" // Preconfigured connection name in your Zoho account
  11. ];

  12. // Log the API response for debugging
  13. info response;
  1. Offline:
  1. // Initialize a Map to hold the data payload
  2. data = Map();
  3. data.put("status", "Offline"); // Set the agent status to 'Available'

  4. // Make an HTTP PUT request to update the agent's online status in Zoho Voice
  5. response = invokeurl
  6. [
  7. url : "https://voice.zoho.com/rest/json/zv/api/agents/onlineStatus" // Zoho Voice API endpoint
  8. type : PUT // HTTP method
  9. parameters : data // Data payload
  10. connection : "voice1" // Preconfigured connection name in your Zoho account
  11. ];

  12. // Log the API response for debugging
  13. info response;

OAuth Scope for Connection:
ZohoVoice.agents.READ
ZohoVoice.agents.UPDATE
Info
You need to use a connection with the scope mentioned above. Follow the steps below to create a connection in Zoho CRM.
Navigation: Setup >> Developer Hub >> Connections >> Create Connection
  1. Connection:

Notes
Note : This sample function (Zoho Voice) uses the credentials of the logged-in user to perform actions. Currently the option to enable 'Credential of login user' is not available in the UI and must be enabled from the backend. To request this, please send an email to partner-support@zohocorp.com.

🎥 Working Screencast: Zoho Voice Status Management Using Kiosk Interface



Deploying the Kiosk in Zoho CRM

You can now deploy the Kiosk as a widget component on the CRM homepage/dashboard or add it as a button within any module, based on your preference. When configured as a widget on the homepage, users can instantly access the Kiosk upon opening Zoho CRM. This allows them to quickly click on the relevant application button (e.g., Zoho People, SalesIQ, or Zoho Voice) and update their status without navigating to other sections.
Idea
Placing the Kiosk widget on the homepage improves visibility and encourages regular status updates.
Alert
When you click Test Run, you are accessing the kiosk from within the Kiosk Studio. All actions will be executed as specified in Production. To test your kiosks safely, please create them in the sandbox and then deploy them to the Production environment.




Quote
Custom Solution Created by Harish K & Shalik Ahmed

If you need any further clarifications, please don’t hesitate to contact partner-support@zohocorp.com.

Additionally, we kindly ask all Europe and UK Partners to reach out to partner-support@eu.zohocorp.com.

      Create. Review. Publish.

      Write, edit, collaborate on, and publish documents to different content management platforms.

      Get Started Now


        Access your files securely from anywhere

          Zoho CRM Training Programs

          Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

          Zoho CRM Training
            Redefine the way you work
            with Zoho Workplace

              Zoho DataPrep Personalized Demo

              If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

              Zoho CRM Training

                Create, share, and deliver

                beautiful slides from anywhere.

                Get Started Now


                  Zoho Sign now offers specialized one-on-one training for both administrators and developers.

                  BOOK A SESSION







                              Quick LinksWorkflow AutomationData Collection
                              Web FormsRetailOnline Data Collection Tool
                              Embeddable FormsBankingBegin Data Collection
                              Interactive FormsWorkplaceData Collection App
                              CRM FormsCustomer ServiceForms for Solopreneurs
                              Digital FormsMarketingForms for Small Business
                              HTML FormsEducationForms for Enterprise
                              Contact FormsE-commerceForms for any business
                              Lead Generation FormsHealthcareForms for Startups
                              Wordpress FormsCustomer onboardingForms for Small Business
                              No Code FormsConstructionRSVP tool for holidays
                              Free FormsTravelFeatures for Order Forms
                              Prefill FormsNon-Profit
                              Forms for Government
                              Intake FormsLegal
                              Mobile App
                              Form DesignerHR
                              Mobile Forms
                              Card FormsFoodOffline Forms
                              Assign FormsPhotographyMobile Forms Features
                              Translate FormsReal EstateKiosk in Mobile Forms
                              Electronic FormsInsurance
                              Drag & drop form builder

                              Notification Emails for FormsAlternativesSecurity & Compliance
                              Holiday FormsGoogle Forms alternative GDPR
                              Form to PDFJotform alternativeHIPAA Forms
                              Email FormsWufoo alternativeEncrypted Forms
                              Accessible FormsTypeform alternativeSecure Forms

                              WCAG

                                          Create. Review. Publish.

                                          Write, edit, collaborate on, and publish documents to different content management platforms.

                                          Get Started Now






                                                            You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.




                                                                Manage your brands on social media

                                                                  Use cases

                                                                  Make the most of Zoho Desk with the use cases.

                                                                   
                                                                    

                                                                  eBooks

                                                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho Desk.

                                                                   
                                                                    

                                                                  Videos

                                                                  Watch comprehensive videos on features and other important topics that will help you master Zoho Desk.

                                                                   
                                                                    

                                                                  Webinar

                                                                  Sign up for our webinars and learn the Zoho Desk basics, from customization to automation and more

                                                                   
                                                                    
                                                                  • Desk Community Learning Series


                                                                  • Meetups


                                                                  • Ask the Experts


                                                                  • Kbase


                                                                  • Resources


                                                                  • Glossary


                                                                  • Desk Marketplace


                                                                  • MVP Corner



                                                                    Zoho Sheet Resources

                                                                     

                                                                        Zoho Forms Resources


                                                                          Secure your business
                                                                          communication with Zoho Mail


                                                                          Mail on the move with
                                                                          Zoho Mail mobile application

                                                                            Stay on top of your schedule
                                                                            at all times


                                                                            Carry your calendar with you
                                                                            Anytime, anywhere




                                                                                  Zoho Sign Resources

                                                                                    Sign, Paperless!

                                                                                    Sign and send business documents on the go!

                                                                                    Get Started Now




                                                                                            Zoho TeamInbox Resources





                                                                                                      Zoho DataPrep Demo

                                                                                                      Get a personalized demo or POC

                                                                                                      REGISTER NOW


                                                                                                        Design. Discuss. Deliver.

                                                                                                        Create visually engaging stories with Zoho Show.

                                                                                                        Get Started Now










                                                                                                                              Wherever you are is as good as
                                                                                                                              your workplace

                                                                                                                                Resources

                                                                                                                                Videos

                                                                                                                                Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                                                                                                                eBooks

                                                                                                                                Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                                                                                                                Webinars

                                                                                                                                Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                                                                                                                CRM Tips

                                                                                                                                Make the most of Zoho CRM with these useful tips.



                                                                                                                                  Zoho Show Resources