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

    • Multiple Salesperson against an invoice

      Hello, Against a particular invoice, we have multiple sales people working. The reason we combine the invoice is becuase we are an exporter and often consolidate cargo for our customer to save them freight costs. How do I capture the contribution of each
    • Allow a brand to connect multiple facebook pages at the same time

      Our company have multiple facebook pages to represent, every branch, right now we can only link one facebook page, so we can only recive messages from one branch. It would be nice to be able to connect all pages.
    • 5名限定 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ (12/19)

      ユーザーの皆さま、こんにちは。Zoho ユーザーコミュニティチームの藤澤です。 12月開催のZoho ワークアウトについてお知らせします。 ※定員に達したため、受付を終了しました。 ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目的とした「Zoho ワークアウト」を開催します。 Zoho サービスで完了させたい設定やカスタマイズ、環境の整備など……各自で決めた目標達成に向け、 他の参加者と同じ空間で作業を行うイベントです。先輩ユーザーや他の参加者と意見交換をしながら集中して作業に取り組むことが可能です。
    • Whatsapp reply not reflected under Tickets for offline agent

      Hi, We are encountering a situation where WA response from customer is not reflected under tickets (if the agent handling the case previously is not active due to off day/ MC). The ticket will remain in the offline agent's queue until agent is back to
    • Missing Folders on iPhone Zoho Mail

      Under mailboxes on my iPhone, I don't have an inbox, sent folder, deleted photo, etc. See pics.
    • Select CRM Custom Module in Zoho Creator

      I have a custom module added in Zoho CRM that I would like to link in Zoho creator.  When I add the Zoho CRM field it does not show the new module.  Is this possible?  Do i need to change something in CRM to make it accesible in Creator?
    • Send Whatsapp with API including custom placeholders

      Is is possible to initiate a session on whatsapp IM channel with a template that includes params (placeholders) that are passed on the API call? This is very usefull to send a Utility message for a transactional notification including an order number
    • Increase Round Robin Scheduler Frequency in Zoho Desk

      Dear Zoho Desk Team, We hope this message finds you well. We would like to request an enhancement to the Round Robin Scheduler in Zoho Desk to better address ticket assignment efficiency. Current Behavior At present, the Round Robin Scheduler operates
    • Separate One-Time Mentions from Ongoing Ticket Following in Zoho Desk

      Dear Zoho Desk Support Team, We are writing to request an enhancement to the mention functionality within Zoho Desk. Currently, when an agent is mentioned in a ticket, they receive notifications for all subsequent activity on that ticket, similar to being
    • Mass update Accounts in Zoho Desk

      We used the integration feature to bring in all of our accounts from Zoho CRM. While all of the names and links are in place, on the Zoho Desk side the email, phone, website, and address fields are blank. By going into each account I can select "Update
    • Vivaldi will not open the Zoho Mail app when I click a email link in the browser

      I'm running Vivaldi on Arch with the Plasma desktop and have under default applications Zoho Mail set as my default email client. Whenever I click a email link in Vivaldi I get the below when it should be launching Zoho. Any ideas on rectifying this issue?
    • Digital publisher

      Kinetic Digital Publisher provides comprehensive digital publishing services, including eBook creation, formatting, cover design, and marketing. We help authors publish and promote their work across online platforms with ease.
    • Time Zone Correction with Daylight Savings Time

      Hey, I'm writing a series of reports where the source data is synced from an external source which stores the date/time information in GMT, but I want the reports to be in local time. Now, I understand there is the CONVERT_TZ function which allows me
    • Load form in iframe without header

      I am trying to load a form into an iframe without the header, but I am not having any luck. I am using openUrl() to load the iframe with the form URL and zc_Header set to false, e.g. #Form:Add_Case?zc_Header=false but it is still loading the header. Any
    • Filter embedded report

      How to filter embedded report in a page, below code is not working. dateField => startDate & dateField=< endDate The report should print on page containing records from startDate to endDate. params='zc_Header=true&amp;Service_Date__gte=<%=startDate%>&amp;Service_Date__lte=<%=endDate%>'
    • Creator Simplified #5: Set file upload restrictions in Zoho Creator

      Hey Creators, Welcome to the next post in the Creator Simplified series. Today, we’ll explore how to implement file upload restrictions to limit user submissions to specific file types. By implementing an allowed list for file uploads, you can optimize
    • Field Type: Address, Change District/State to Dropdown with picklist??

      Using the Address Field type, is there a way to make the District/State field be a dropdown with a picklist so the users can select rather than type the state name every time? I know this can be done if I use a drowdown field for the State (or entire address information), but that isn't as tidy as using the address field type. I apologize if this is a duplicate. I posted this question the other day, or so I though. Can't find that post.
    • cutomized fields are not showing up in zoho creator from zoho crm

      We have customized fields in zoho crm under accounts module like "Last production upgrade" --> This field is a date. When created a solution in zoho creator i couldn't find any of the customized fields. Would you please help me on this matter? Thanks
    • How to Add Bulk Data in Zoho Creator Forms Using Deluge Without Exceeding Execution Time Limit

      I have a database form with a column named 'Product Name' containing 8000 values in a Zoho Creator form. In another form named 'Returns Data,' I have a column with the same name, 'Product Name.' How do I add these 8000 values to the 'Returns Data' form
    • Open New Free Zoho Account

      Hi Team, Do you guys offer a free email hosting? I do have a domain already. If yes, what is the process to open the new account? Thanks,
    • 554 5.7.1 : Recipient address rejected: user info@intimspace.de does not exist

      554 5.7.1 : Адрес получателя отклонен: пользователь info@intimspace.de не существует I can't send an email to Google at info@intimspace.de. An error comes. I entered everything correctly in DNS https://zohomail.tools/#domainDetails/intimspace.de/ALL
    • Emails going back unread

      Hi all, When in Zoho mail - when I recieve a new mail it puts back all emails read that day back to unread - I then have to go back through and open all emails I have already read! Gets very annoying... Any idea on the bug fix?
    • Been getting this error, every now and then "Get count limit exceeded, please try again after 3 mins"

      it is really annoying.
    • Constraints on Tasks

      We have a use case where we have certain fixed date tasks and need to schedule predecessor tasks around these. Predecessor tasks need to be completed with a lag before the fixed date. We should be able to schedule the start and end date for predecessor
    • Moving Project Dependencies Not Moving Precedessors

      Most of the time we want to base our start dates around an event that is in the middle of the project template. If I set a bar up at the date we want it, it doesn't move the predecessors up. Is there a way to change this? eg. there is no point starting
    • Can you set task due dates to be "x" days before the milestone?

      We have a milestone set as the date of our first event. All of the tasks need to happen in increments prior to the milestone event. Is there a way to configure this without having to set up each task due date? Thanks!
    • Default ticket template in helpcenter

      Hello, I have a web form and a ticket template created. How can I make that my default ticket template? If an user clicks New ticket or create a ticket, I want that template to be the default one. Thank you for the time and info.
    • Expanded data-capturing capabilities with enhanced tabular sections

      We are thrilled to announce an update to Zoho Recruit that brings even more flexibility and customization to your recruiting process. With the addition of 10 new field types to the tabular sections, you now have the power to enhance your tabular sections
    • Integration of Business Hours in Email Templates

      Dear Zoho Desk Team, We would like to propose a feature enhancement to Zoho Desk that would greatly improve the utility of the Business Hours settings and streamline communication with our clients. Feature Request: Integration of Business Hours in Email
    • Add Owner to deluge-created module record note

      Is it possible to include the "owner" aka "creator", of a Note when creating it via delulge? This sets "superadmin" as the Note creator. I need to override it. notemap = Map(); notemap.put("Parent_Id",program_contact_id); notemap.put("Note_Content",program_contact_data.get('Note'));
    • Blueprint - Field Validation Criteria (During)

      When setting validation criteria elsewhere in Zoho, or even workflow criteria etc., there are Is Empty and Isn't Empty options.  Within the Field Validation Criteria within Blueprint, those options aren't available.  Is there a particular reason for this? 
    • Delete Field that is used in a Zoho Flow connection

      I'm trying to delete a Field used in a Webhook created by Zoho Flow with CRM Connection and i get the following alert: When going to the alert i get to the following issue, can't edit it since its been deployed by a pluggin But yes i have here the prompted
    • Use image on img HTML tag

      Hi how could I do to use my image saved in Workdrive to use it in an HTML img tag ? I need to display it on my website without having to use iframes. Regards,
    • ZOHO Compain emails going to spam after authentication is successful

      Hello, I am frustrated right now. I have recently setup the zoho email compaign, The auto responder email went to receipient spam folder. then, I researched a lot and completed authentication (SPF, DKIM) in email deliverability, email relay in zoho crm.
    • Security Policies

      To protect against cyber threats and attacks, organizations need to set up security policies for their employees' accounts. Security policies are rules and regulations for every individual or group using the organization's assets and resources. Enabling
    • Zoho CRM functions editor is not in the programming language deluge

      I am trying to write a function for a button. I helped someone before in deluge and I'm using this new editor I'm not familiar with - I guess it is new. Why is the default code statically typed? The editor will not let me create a variable without a type.
    • "Age in Days" calculation in Advanced Analytics

      Hi Can someone advise how this is calculated? I am getting values on this report which I cannot understand. Thank you
    • Automatically set quotes to "lost" if deal is set to lost

      Hi, Is there a way to automate that if a deal (opportunity) is lost the related quotes are also set to lost? Thanks!
    • Subdomain

      How can i make subdomain in my zoho website
    • A/R Aging Details shows wrong aging days

      In the A/R Summary Report all of the invoices are in the right aging buckets. When I run the A/R Aging Details report I get aged dates of +300 days when they should be in the 0-90 day range.
    • Next Page