Simplify Ticket Management (Zoho Desk) with Chatbots | Zoho SalesIQ

Simplify Ticket Management (Zoho Desk) with Chatbots | Zoho SalesIQ

Hi everyone! 

We're here with another simple yet effective plug for your chatbot to integrate with Zoho Desk. 

When a customer reports an issue/request during chat, it's logged as a ticket on Desk. When they return for updates, you end up searching through past tickets, reading conversations, and updating them manually. Imagine if your bot could automate this, retrieving ticket details and providing updates effortlessly.


Are you new to SalesIQ? Wondering what plugs and bots are?

SalesIQ offers chatbots to automate customer interactions. Using the Codeless bot builder, you can build chatbots by using cards in the bot-builder gallery. However, at times, businesses would require unique actions from the bot and for those instances, we have plugs. With plugs, you can create any specific action and bring it as a card inside the codeless bot builder, like the rest of the cards. 

In this post, we will learn how to create a plug and list the customer's recent support tickets from Zoho desk.

How does this Plug work?
  • The bot will get the email address of the visitor (Email card)
  • Next, the bot will search and get a list of tickets associated with the respective email from Desk (Plug 1). 
  • Then, this ticket list will be displayed to the visitor (Single choice card). 
  • When the visitor selects one of the displayed tickets, the bot will fetch the neccessary ticket details. (Plug 2)
  • And these details will be displayed to the visitor (Any response/input card).

Note:
  • There are two plugs involved in this process, one is to display the ticket list and another is to display the ticket details. 
  • In this post, we will look at the plug to display the ticket list. 
  • The plug sample to display the ticket details is already available, click here to know more. 

Plug output
 


How to build this Plug?

Step 1 - Create connection with Zoho Desk
  • On your SalesIQ dashboard, navigate to Settings > Developers > Plugs > click on Add.
  • Provide your plug a name, and description, select the Platform as SalesIQ Scripts, and finally, click on Connection to your left bottom. You will be redirected to the connection interface.
  • Click on Create connection at the top right corner. 
  • Under Default connection, select Zoho OAuth service

  • Provide your connection name, connection link name, and choose the scopes below.
    • Desk.search.READ
    • Desk.contacts.READ
    • Desk.tickets.READ

Note: The Connection Link Name will be used in the scripts to invoke URL tasks.
  • Click on Create And Connect to connect Zoho SalesIQ and Zoho Desk.

  • Upon successful authentication,  Zoho SalesIQ will be connected with Zoho Desk.

  • The connection is successfully established. 

Step 2 - Build the Plug

As we have created a connection between SalesIQ and Desk successfully, it's time to build the plug. The first step in building the plug is defining the parameters. 

Input Parameters
  • Name : email | Type : Email
Output Parameters
  • Name : ticketList | Type : Option List


Script to get the list of tickets
  • Copy the code below and paste it into your plug builder. Then, make the following changes. 
  • In line #8, get your Desk org ID (Settings > Developer Space > API > Scroll down to find the "OrgId").
  1. if(session.containsKey("email"))
  2. {
  3. email = session.get("email").get("value");
  4. }
  5. // Getting the contact ID from the email - https://desk.zoho.com/DeskAPIDocument#Search#Search_SearchContacts
  6. url = "https://desk.zoho.com/api/v1/contacts/search?email=" + email;
  7. header = Map();
  8. header.put("orgId","012345");
  9. //Change your org ID (Settings > Developer Space > API > Scroll down > "OrgId")
  10. getcontact = invokeurl
  11. [
  12. url :url
  13. type :GET
  14. headers:header
  15. connection:"zohodesk3"
  16. ];
  17. info getcontact;
  18. contact_id = getcontact.get("data").getJSON("id");
  19. info contact_id;
  20. url_ticket = "https://desk.zoho.com/api/v1/contacts/" + contact_id + "/tickets?sortBy=-createdTime&limit=3";
  21. // Get associate ticket of a contact - https://desk.zoho.com/DeskAPIDocument#Contacts#Contacts_ListContactsByIds
  22. get_tickets = invokeurl
  23. [
  24. url :url_ticket
  25. type :GET
  26. headers:header
  27. connection:"zohodesk3"
  28. ];
  29. info get_tickets;
  30. array = get_tickets.get("data");
  31. optionList = List();
  32. for each  entry in array
  33. {
  34. subject = entry.get("subject");
  35. status = entry.get("status");
  36. display_text = subject + " - (" + status + ")";
  37. ticketNumber = entry.get("ticketNumber");
  38. optionList.add({"id":ticketNumber,"text":display_text});
  39. }
  40. response = Map();
  41. response.put("ticketList",optionList);
  42. return response;
  • Then, click Save, preview the plug and Publish it. 
 
Step 3 - Adding the plug to the Codeless bot builder
  • Navigate to Settings > Bot > Add, provide the necessary information, and select Codeless Bot as the bot platform. You can also open an existing bot.
  • Click on Plugs under Action cards, select the plug you have created and provide the input values for the parameters defined in the plug builder.
  • Choose the %visitor.email% variable for the name.
  • Provide a variable name for the ticket list.

  • Use a single choice card, click on Save in bot context, give a variable name and select the context variable under dynamic suggestion

  • Then, use this plug to show the ticket details.


I hope this was helpful. Please feel free to comment if you have any questions. I'll be happy to help you. 



Best regards
Sasidar Thandapani

      • Recent Topics

      • way to change the interface language (e.g. to English) in the whole Zoho One ecosystem at once

        Hi everyone. I had a need to create a new Zoho One account for a new company. However, since I did it from Germany, I have defaulted to German language in Zoho One interface (in all apps). Can you please tell me if there is a way to change the interface
      • Create custom rollup summary fields in Zoho CRM

        Hello everyone, In Zoho CRM, rollup summary fields have been essential tools for summarizing data across related records and enabling users to gain quick insights without having to jump across modules. Previously, only predefined summary functions were
      • Holidays and celebrations: Unveiling SalesIQ's seasonal theme!

        The holiday season is upon us, and we are feeling all the more merrier at SalesIQ while we unveil this seasonal update. Get ready to sprinkle some holiday magic onto your websites with SalesIQ's new seasonal theme. This new festive theme will provide
      • Allocate emails to user in a shared mailbox

        Hi, This might be obvious, but I cannot find the answer. I have 3 shared mailboxes so any team member can see the emails. Is there a way of allocating a specific email to a user so that it is their responsibility to deal with it? Thanks in advance.
      • Function not working if more then 1 Record is selected

        Hi there! I have a function like this: string button.PCS_TempDruck_Rechnungen(string Modul, int ID) { //Do some stuff here return "finish" } I linked this function to a button in the List View and Mass/Multi-Action of the Quote Module. Arguments: Module
      • Incoming call logging in Bigin

        Request support on how can we log calls on bigin which are incoming. This is one of the very critical requirements for us
      • Totals on Pivot Table

        Is there a way to change the way the subtotal calculates? In this example I have a formula to give me the average monthly attendance ....but I want the grand total of the month to be the sum of all the average attendances...any ideas? Thank you!@
      • Assistance with Setting Default Values for Zoho Chat Custom Fields

        I am currently using the Zoho Chat JavaScript API to successfully add custom fields to the chat interface. While the implementation of these fields has been smooth, I am now looking to set default values for these custom fields. However, I couldn't find
      • Unable to delete Junk Lead and Not Qualified from the Lead Status field

        Are Junk Lead and Not Qualified default fields or something that cannot be deleted? I have gone into the Leads module and made sure there are no records using these values. Other values have a minus sign that allows me to remove them, but these two fields do not have that option.
      • Modules are continuously loading

        Hi! We are not able to open the task modules, it keeps continuously loading
      • Customer Happiness not clickable when using API

        Is there a way to automatically add the Customer Feedback links when generating email drafts via the API? Currently, the feedback links are only added when generating an email draft using the UI. I tried using the endpoint described in https://desk.zoho.com/DeskAPIDocument#CustomerFeedback#CustomerFeedback_Getthecustomerfeedbackplaceholderlink
      • Emmanuel Katto : Zoho Meetings Outlook Plugin Authentication Issue - Help Needed

        Hi everyone, I'm Emmanuel Katto, We’ve been facing an issue with the Zoho Meetings Outlook plugin for the last couple of weeks. When we try to sign in via the plugin, it redirects to the authentication page, and after successfully authenticating, it shows
      • Transitioning FESCO Bill Project to Zoho Sheets and Integration Options

        Hello Zoho Support, I'm considering transitioning my FESCO bill project from Google Sheets to Zoho Sheets and wanted to know if there are integration options to seamlessly migrate our existing work. You can view our platform here, any guidance would be
      • Email Alerts for New Audit Log Entries in Zoho Desk

        Dear Zoho Desk Team, The Audit Log feature in Zoho Desk is a fantastic tool for tracking changes and ensuring transparency in the helpdesk. However, to make this tool even more effective, I’d like to request an enhancement. Currently, there is no option
      • Zoho Desk Validation Rule Using Custom Function

        Hi all, I tried to find the way to validate fields using custom function just like in Zoho CRM but to no avail. Is there a way to do this?
      • Free user licenses across all Portal user types

        Greetings everyone, We're here with some exciting and extensive changes to the availability of free user licenses in CRM Portals. This update provides users with access to all Portal user types for free to help them diversify their user licenses and explore
      • How to easy change layout in existing records in Deals?

        Hello, So far i have used only 1 layout in Deals. I have about 1000 records. Now i want to make new layout. So i have 2 layouts: Layout Old (1000 records) Layout New (0 records) How to easy change layout from Layout Old into Layout New for existing records?
      • What is the Desk API?

        I'm trying to fetch a lookup field data from desk to our creator application and it doesn't work. I'm guessing that my search parameter is wrong? On my trial function fetch if I use these: tickets = invokeurl [ url :"https://desk.zoho.com/api/v1/tickets/351081000145244764"
      • Changing Color Theme of Guided Conversations

        Hello, We have recently added Guided Conversations to one of our websites, but I am wondering if there is a way to customize the color scheme so it matches the appearance of the website? Thank you in advance!
      • Length of Call

        Whenever we place a call from the CRM and we click to log it, the duration / length is not automatically populated. Can you set this up to occur? Thanks!
      • Tip #10: Automatically add tags to Zoho CRM records using form responses

        You may be using tags to filter records, create reports based on specific tags, or let your sales team to know which clients to give priority to. Don't skip tagging for the crm records added via forms. The tags can be set to be automatically captured during the form submission. How it works When you set up a configuration to push form entries into CRM, you can add a tag to them automatically. The tag value can vary based on the respondent's input (captured using form fields), or you can include a
      • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

        Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
      • Using AVG in SQL Query

        My current SQL Query is: SELECT "Client Info", avg("Revenue") FROM "Funded Deals" GROUP BY "Client Info" The current table that this is creating: Client Info avg(Revenue) Previous 4175 1st - New 3411 1st - Old 3013 Renew 3069 While this works as I had
      • Pay Contractor Timesheets

        I have contractors that fill out a timesheet. Each hour must be assigned to a current client. I need the easiest way to get the contracts paid. They are paid on an hourly bases. How can this be done?
      • OAuth with Bubble.io API Connector does not work although it is working in Postman

        Hi, I am new to API programming but have successfully connected Google and Asana with the Bubble.io API connector. Also I have setup Postman and can access Zoho APIs successfully e.g. Projects. Scope used is: ZohoProjects.tasks.CREATE ZohoProjects.tasks.READ
      • How to Parse XML Data Returned by API?

        I have several APIs integrated with my CRM and they work great. I am having some trouble though parsing data out of a large string/array in Funtions? I need to be able to pull the DeviceId and the WebSiteDeviceName from each PanelDevice. I would appreciate
      • Foreign Currency Bank Account

        I have a bank account in USD zero balance but when i run the bank ledger in my company currency in AED it was shown small balance 1.31 AED , how to make it zero also ,Thanks
      • How do you handle existing customers/contacts?

        Hi, We just integrated MA 2.0 with our CRM and we chose to only import our existing customers contacts. In MA they are all "Raw leads" by default and we would like to mass update these to a stage called "already customers" but the last default stage "Sales
      • Quick editing of fields in a report view...

        I've created a report that unites my advertiser accounts with corresponding contact accounts (which are not a subset of Adv. accounts, contacts are their own section). I want to know if there is a way to edit certain fields while viewing my report so
      • Notes from Custom Modules linked to Account Modules

        The way our ZOHO CRM is set up at the moment, whenever a note is entered under a Task or Event the note is visible under both the Task or Event as well as in the notes section under the Account the Task or Event is associated or related to. I have a couple
      • UI / UX Suggestion: Allow Users to Set Colors of Flow Steps

        For those of us who set up complex Flows, it would be nice to be able to color-code different paths / branches for easier future interpretation or troubleshooting. This could take a variety of forms, either highlighting the textual name of the step or
      • Storage Space Issue

        I made a few Header templates in the CRM email that adds some fields ( 2 fields to be exact ) to the subject line, however I ran out of "storage Space" when I need to add it to 3 more members of my team. How do I solve this ? If I need to upgrade , which
      • Server responds internal server error when requesting token

        I am trying to request for token through this url https://accounts.zoho.com/oauth/v2/token I use postman to do this, but everytime I send a request it gives me a 500 response with no messages in it. Below is the screenshot of what i am trying to do. PLease
      • How do I add page breaks to Sales Order templates?

        I would like our Terms and Conditions to start on a new page of the resulting PDF. How do I do this? I tried adding <div style="break-after:page"></div>, but this did not work.
      • Task Timer is missing

        Hi, new here to Zoho... just discovered it yesterday and it looks like a really excellent application!! I signed up but seem to have actually lost some functionality since I did ?!  The handy little way to update your timesheets by mousing over the task and clicking on the green clock is no longer there for me.  I am talking about what is described in this post: http://forums.zoho.com/forumHome.do?forumGroupId=2266000000002001&forumTopicId=2266000000027532# Now the green clock icon does not appear. 
      • Chronicles of 2024: The Year in Retrospect

        As we close out 2024, let’s take a moment to highlight the new features and updates that have enhanced Zoho Invoice in 2024. Among the exciting enhancements, we have launched a new AI-powered chatbot designed to assist you in understanding the app's features
      • Zoho CRM v2.1 deprecation or sunset plans ?

        Hi Team Wanted to know if there is any plan to deprecate v2.1 CRM apis https://www.zoho.com/crm/developer/docs/api/v2.1/ and if yes by when
      • Hide recent projects section?

        Is there a way to hide the recent projects section? It's not that useful to us and never gets looked at, but takes up valuable screen real estate. Can't see an option or any button to close it. Can we do this? If not can it be added? Chris.                  
      • project profitability

        I would love to be able to see my costs for non-billable tasks without that impacting my revenue budget. My project budget type is based on project and my billing method is based on staff hours. if I turn on the option to include non-billable hours in
      • Move data from any fields or upload files to the attachment section in Deluge.

        LeadId = 4857358000014515001; resp = zoho.crm.getRecordById("Leads",LeadId); file = resp.get("Upload_Test"); filelist = List(); if(file != null) { file_Id = resp.get("Upload_Test").get(0).get("file_Id"); getFile = invokeurl [ url :"https://www.zohoapis.com/crm/v7/files?id="
      • Next Page