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").
- if(session.containsKey("email"))
- {
- email = session.get("email").get("value");
- }
- // Getting the contact ID from the email - https://desk.zoho.com/DeskAPIDocument#Search#Search_SearchContacts
- url = "https://desk.zoho.com/api/v1/contacts/search?email=" + email;
- header = Map();
- header.put("orgId","012345");
- //Change your org ID (Settings > Developer Space > API > Scroll down > "OrgId")
- getcontact = invokeurl
- [
- url :url
- type :GET
- headers:header
- connection:"zohodesk3"
- ];
- info getcontact;
- contact_id = getcontact.get("data").getJSON("id");
- info contact_id;
- url_ticket = "https://desk.zoho.com/api/v1/contacts/" + contact_id + "/tickets?sortBy=-createdTime&limit=3";
- // Get associate ticket of a contact - https://desk.zoho.com/DeskAPIDocument#Contacts#Contacts_ListContactsByIds
- get_tickets = invokeurl
- [
- url :url_ticket
- type :GET
- headers:header
- connection:"zohodesk3"
- ];
- info get_tickets;
- array = get_tickets.get("data");
- optionList = List();
- for each entry in array
- {
- subject = entry.get("subject");
- status = entry.get("status");
- display_text = subject + " - (" + status + ")";
- ticketNumber = entry.get("ticketNumber");
- optionList.add({"id":ticketNumber,"text":display_text});
- }
- response = Map();
- response.put("ticketList",optionList);
- 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
Zoho Books Invoice Salesperson: requires ID but there is no "Fetch salesperson" action
Hi, I am trying to attach a Salesperson to a Zoho Books invoice. In Zoho Flow, the salesperson field required an ID. However, I only have the salesperson name, I need to fetch salesperson by name and then provide the ID. There is no option to fetch salesperson...
Change format of quantity format
Hi, I would like to change the qunatity format from 1,00 to 1. Is this possible? thanks!
Ticket Views: filter criteria -> dynamic date values in relation to the current date
Hello all, It would be very helpful if you could build custom views in such a way that you do not have to adjust the criteria daily or at whatever interval in order to change the fixed date value as needed. For example, I would like to create a view that,
Captchas: No support for Google reCAPTCHA or similar
Hi all, The current captcha integrated into Creator is very basic, and often near-impossible to read. I'm building an app for a charity which includes a couple of public-facing forms, and this is a real issue for people with dyslexia and related conditions - it's effectively excluding them if you want any form of spam protection at all on your published forms (and that being said, the current captcha doesn't even seem very effective - bots can often read it more easily than humans). I've raised this
Maintain consistency in ticket responses with shared snippets
Hello everyone! We are excited to announce that our highly anticipated snippet sharing feature is now available to all users. As you know, snippets are pre-defined message templates, or canned messages, that help agents respond to tickets with efficiency.
Tickets - Zoho Desk
Hi Team, My Clients need to see their tickets created and the status of the ticket in the Zoho Support Desk itself. How can I do this? My Client doesn't have a Zoho Account. They need to access the ticket by the provided link without signing in.
Automatically assign Contacts to Account owners
Hi, I have a finite number of accounts set up in the CRM, and each new contact that comes in is automatically assigned to an Account according to a rule I set up. I want the Contact owner in the Contacts module to be assigned to the relevant Account owner.
Making Copies/Duplicates of Zoho Forms (Shared)
Question to the community: is there a way to take a 'shared form' , make a duplicate copy and save under My Forms, so that i can use that which was already created as a template to make updates to and use as a test form and be able to have full access,
Using IMAP configuration for shared email inboxes
Our customer service team utilizes shared email boxes to allow multiple people to view and handle incoming customer requests. For example, the customer sends an email to info@xxxx.com and multiple people can view it and handle the request. How can I configure
Can you help us creating a customised form with payment link?
I would like to create a customised Transport form where the user will be asked to make payment basis the drop/ pick up they select.
Deleting or disabeling predefined ticket list views
Is it possible to delete or disable predefined views or is this still not possible? For instance, we are not using the chat function and therefore have no use for the "Missed Chats" view. Thanks!
Email an Invoice from API
When calling the API to email an invoice, it seems it does not actually send it. Below is a screen shot where I used an API call for the bottom record, and it updated its' status to "Due Today", but no email was actually sent. The top record, I hit the
Unable to load your extension. Please check your plugin-manifest or Resources.json.
Hi Team, I am using the config module with multiple fields of different types, such as checkboxes and picklists. However, I am encountering the following issues: Error Message: When loading the extension, I get the error: "Unable to load your extension.
Layout Rules / Quick create
Hello, is there a way to create a layout rule for quick create option? Regards, Katarzyna
Issue with Create Note Button and Popup Form in Leads Module
Hello Zoho Community, I am trying to implement a "Create Note" button in the Leads module with the following functionality: 1. When the button is clicked, a form should pop up with fields to add notes. 2. After filling out the form and clicking Send,
Finding draft ticket replies
Is there a way to see all tickets which have draft replies?
Guidance on Making Zoho Desk Connections Available for All Data Centers
Hi Team, I’m currently developing an application using Zoho Desk connections to manage OAuth for my third-party products. Could you please advise on the steps required to make it available across all data centers? Looking forward to your thoughts on
Able to change project on timelog entries
Ability to move the timesheet entry from one project to another. When a user adds a wrong entry a manager can change/update the timesheet entry to the correct project.
Caso de Uso | Menos trámites, más salud: Clínicum optimiza sus recursos con Zoho One
"La automatización del proceso de solicitud de bajas y su trazabilidad a través de Zoho nos ha supuesto una mejora en el ROI." - Carol Rodríguez, Responsable de Experiencia del Cliente interno y externo en Clínicum ¡Hola a todos! Estamos emocionados de
How do I stop getting notified about upgrading to Upgrade now and save big!
How do I stop getting notified about upgrading to Upgrade now and save big! There is no way to clear this notification, and EVERY Day I get alerted to upgrade, but there is no permanent way to dismiss this alert! How can I permanently dismiss this a
Double opt-in notifications and customizable confirmation messages for your webforms
Dear CRM Community, We are excited to announce a major upgrade to our Webforms feature. You can now customize the confirmation message shown to your users who double opt-in from your webform and also customize your confirmation emails when they submit
Bulk create tasks - Zoho Projects API
Hi Zoho/Community, I am trying to create multiple tasks in a single API call, is there a way we can combine multiple request bodies into one single payload? The issue I am facing is the rate limiting on the API, I wanted to create certain amount of tasks
Task Due dates and Reminder Date & Time
I like to have a reminder on many tasks in Zoho Recruit. I find the process cumbersome in that each task requires the following: 1. click and select due date 2. Click the reminder box 3. Click on (Reminder) Start Date 4. Click on (Reminder )Time If one
Unable to Access Admin Console and Email Sending Issues
Hello Zoho Support Team and Community, I hope this post finds you well. I am currently facing two significant issues with Zoho services: Admin Console Access Issue: Every time I try to access the Zoho Admin Console, it gets stuck on the loading screen
Tracking new lead response time
Hi, I have a team of Sales Development Reps, who have a KPI of responding to a lead within 20 mins or less once it hits the system. I seem to recall that Zoho CRM had the capability to track this in a previous version, but don't see it anywhere. It's
Getting The Following Error.. 550 5.4.6 Unusual sending activity detected
I just launched a marketing campaign and I got this error. Everything was working fine previously. This is a big launch so need to fix it asap. Can anyone help?
Printing on 80mm bluetooth Pos Printer
Hello. I am trying to print receipts and invoices using my 80mm bluetooth connectivity Pos printer. I have configured the Templates to Retail so that it matches the paper width of the Pos printer. However, when I click Print in zoho, first it opens the
Trying to integrate gmail but google keeps blocking Zoho access for integration??
hi i am trying to integrate a gmail account so can track/access business emails this way. I have followed the instructions but after selecting my email account it gets re-routed to this message (screengrab below) Can anyone advise a way around this or
Which attribute in Zoho books invoice api represent branch attached to the invoice?
Hi Zoho Team, We have done the integration with Zoho Books API. While fetching data from Invoice API we want to get branch value attached to the invoice. We could not figure out which field in "Get an Invoice" api represents branch value attribute. Thanks
How to Billed from two different GST Numbers
How to Billed from two different GST Numbers. Suppose ABC & Co had GST registration in Delhi and Haryana and Zoho account is created with Delhi GST Registration number. Now i also want to issue invoice from Haryana GST Registration number. How can i proceed ?
How to hide Predefined views
Hi, I would like to know how to hide: Predefined views and Recent views or some records from this list. If I'm using it form iPad I have to scroll to see User created views. Or maybe it's possibility to move User created views on the top. All the best,
Deleting Views
How do you delete views? Please syd
Fixed Assets
Where would I manage my fixed assets
Report on Assets
Hi, Is it possible to report purchased assets on a specific year? The Balance Sheet shows everything up to the current date, and the expense reports will not show purchased assets because they are assets not expenses. If it is not possible, then is it possible to setup an API connection with Books to extract data from to another Reporting application?
Purchase of Fixed Assets
How can I record the purchase of assets using zoho books? For example, I purchased 4 laptop for 100000 $ each and paid it through my bank account. How can I record this transaction and maintain track of how much of the assets I bought?
Where is the Fixed Asset Register?
I am a Zoho One user for 18 months, using invoicing and CRM and now ready to migrate my books to Zoho Books. Where do I keep the fixed asset register for the equipment that I use in my business? I have a service based business with a lot of gear and business
Kaizen #168 - Incremental Authorization
Welcome to this week's post in the Kaizen series. In this post, we will discuss Incremental Authorization. What is Incremental Authorization? Incremental Authorization is an OAuth strategy that allows a client to request specific authorization scopes
Configure Notes Title for Blueprint Transition
It'd be very helpful to be able to configure note titles on blueprint transitions when requiring notes. This would help tie back the history of notes to the blueprint actions. We have some approval processes in our blueprint and require notes for the
An update to improve email delivery | Email Authentication & Relay
Dear Zoho Recruit Community, We hope this message finds you well. This post is to inform you about an important update regarding the authentication of all email domains in your Zoho Recruit account. Effective 31st December, 2024, emails sent using email
Stop adding Default ID column to xls exports
When anything is exported to xls, Zoho adds a column with an ID. WE DO NOT WANT THIS COLUMN. We use an automated report to a team. We have our own tracking number. 1. This makes the report messy, it just pushes OUR data off to the right. 2. We have
Next Page