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
Inquiry Regarding Image Display Issue in Campaign Duplication
We are currently using Zoho Campaigns for email distribution to our clients. I would like to inquire about an issue we encountered. When duplicating a previously created and sent campaign from the "All Campaigns" section, the images used in the header
New integrations for Bigin: Zoho Sign, SalesIQ, and Marketing Automation
Greetings, We're excited to share new integrations that make Bigin more powerful and useful for your business! Zoho Sign for Bigin Zoho Sign now integrates seamlessly with Bigin, enabling you to sign, send, and manage contracts or agreements without leaving
Add multiple users to a task
When I´m assigning a task it is almost always related to more than one person. Practical situation: When a client request some improvement the related department opens the task with the situation and people related to it as the client itself, the salesman
What is Attendee Status 0 and 1?
Hi there, I recently stumbled upon the API to get the attendee list and in the return value, there is a parameter called "status", and 0 supposed to mean not_attending, and 1 means attending. I cannot find this representation anywhere in the attendee
ZOHO BackStage
How to get list of events, using ZOHO BackStage APIs. Is it possible OR not?
How to Customize Task Creation to Send a Custom Alert Using JavaScript in Zoho CRM?
Hello Zoho CRM Community, I’m looking to customize Zoho CRM to send a custom alert whenever a task is created. I understand that Zoho CRM supports client scripts using JavaScript, and I would like to leverage this feature to implement the alert functionality.
Zoho Meeting iOS app update - Join breakout rooms, access polls, paste links and join sessions, in session host controls
Hello, everyone! In the latest iOS version(v1.7) of the Zoho Meeting app, we have brought in support for the following features: Polls in meeting session Join Breakout rooms Paste link in join meeting screen Foreign time zone in the meeting details screen.
Calculate hours between 2 date/time fields
Hi, Does anyone know if it is possible to get the number of hours between 2 date/time fields in a zoho crm custom function? Thanks, Michael
External ID validation.
I added an external ID field as below in one of my custom modules: When creating records via the API using some value (eg: 762115b2-097e-43b2-bdba-f3924a5371a6) for this field, it works without any problem. I can create and even see the records on the
Create a button that executes a customized function
Hello, I have created a summary view in which I combine the data from my items table and suppliers table. I would like to know if there is the possibility of adding a button somewhere in the view to be able to execute a function when clicked on it. I
Custom field doesn't fill when converting sales order to invoice
Hi, When I convert a Sales Order to an Invoice one of the custom fields on a product line names "Subsidie" does not seem to fill in automatically. I manually have to select the product again by clicking on the product name in the order line en re-select
Can I use ZOHO calendar to schedule a Youtube video that is already in my youtube account, but listed as private or unlisted?
I am creating Youtube videos and shorts and then uploading them to our Channel so others can view and approve. Once approved I would like to just schedule them over the next few days within Zoho. So far it looks like I have to re-upload the video to Zoho
How to Display a Logo Image on a Public Form?
I would like to display a logo image in the header of a form. To achieve this, I added an Add Notes field to the form. The code below works perfectly for Zoho users accessing the form. However, when the form is made public, the image does not load properly:
Advice for my first project in Zoho
Hello, how can I design and implement a customized ERP and CRM system using Zoho to automate and manage core business functions, including customer relationship management, property inventory, sales tracking, and financial processes. This is one of my
Associate Email API Internal Error
I am trying to associate an already existing email within a function using the Related Emails API. To provide more context, I also have admin permissions and have ensured that the fields are correct and that I have admin permissions when associating the
Profit on Sales order
Hi, would it be possible to implement a column at the Sales order overview of Purchase amount? So a field with the amount of all purchase related to this Sales order? This is very usefull so you will see the profit you made on this deal. I tried to get
Subform Data in v2 REST API
What is the mechanism for adding subform data in the Creator v2 REST APIs? There is nothing documented in the Data APIs documentation (https://www.zoho.com/creator/help/api/v2/). I was able to determine how to GET the subform data by adding it to the
How to create comparison time periods like these examples
In a Pivot Report I would like to be able to select any date range and show a set of metrics for that date range e.g. revenue, orders, units sold. I would then like to be able to compare to the previous period based on the amount of days on the selected
Overwrite Option for custom modules
Hi Team, I noticed that the overwrite option is unavailable in Zoho Books when importing data for custom modules. This limitation makes it challenging to bulk update old data, as the only option is the 'bulk update' feature, which is restricted to 25
Zoho Creator - Zoho Analytics
I am facing an issue in Zoho Analytics where I am still seeing deleted data from the Zoho Creator form I created. Could you please look into this and let me know what needs to be done?
Unable to send emails
I have this email parth@mrcolumbus.in, but I couldnt send outgoing email. Can you please help?
Notifications push : Encourager le réengagement et renforcer la fidélité des utilisateurs efficacement
Vous avez déjà souhaité engager et communiquer de manière proactive avec les utilisateurs, y compris lorsqu'ils utilisent votre application de manière peu active ? Zoho Apptics vous offre déjà des fonctionnalités qui vous permettent d'évaluer la performance,
Easy way to delete attachments
I've reached my data limit and would like to run a view/report, and mass delete attachments. Is there an easy, fast way to do this? Moderation Update: Post Summary: There are two features the post discusses a) Easy way to remove Email attachments Will
How to add new deal to existing contact
Hi, I want to add new deal to existing contact.
email address autocomplete
Is there a way to eliminate certain addresses from showing up in auto complete when entering an address? Many old and unused addresses currently show up, many of which I would like to get rid of. Thanks
Linking an email to a Contact when the email is sent in deluge via sendmail
The "to:" address in this code is a CRM Contact. Email address is forced unique in CRM This sendmail gets sent via a workflow which is in a custom module. It works, except that the outbound email does not appear (i.e, get linked to) the Contact such that
How to restore deleted Field
I edited a field in zoho form and by accident I deleted a field (email address). The form is ongoing to be filled by respondent. Then, when I checked to the all entries and report, the email address is gone. I checked in audit log, there is a record that
How to select multiple notes at once in the PC client?
In the PC client, you can select notes using ctr+LMB. But why can't you use shift+LMB? PC version 3.2.0
How I can add customized Invoice
Hi, I wanna use a customized Invoice, how i can add that
Zoho Analytics Pivot Table - How to compare month vs last year same month
Hi, I had created a pivot table with setup as below: Column: - Delivery Date Row: - Customer Group Data as column - Total amount (sum > normal) (show data of the month) - Total amount (sum > % difference from previous value) (compare between this month
Recorded imported goods
I have imported some goods from a foreign vendor called ABC. to Bahrain. My Customs duty and VAT are paid by an agency called XYZ to authorities. I have paid the amounts to XYZ and they have paid to authorities in behalf of us using our TRN Number. Now
Notes created in mobile app not syncing with web notebook
I have created certain notes in a new notebook in mobile app. The new notebook is also created using mobile app and when I logged in through web I am unable to see notebook that I have created using mobile app. there is no trace of notes in which i have created in mobile app on the web even after days of creating in mobile app This is not the case vise-a-versa. the notes and note book created on web are accessible on mobile app on real time. this is very inconvenient and big demotivating factor
Match Transaction > Filter | Allow wildcards in search
The Filter function is useful for narrowing down to a specific set of transactions. It would be useful to have the ability to use wildcards in search. e.g. customer name "starts with" or " * " as a placeholder. e.g. "National * " instead of "National
Marketing Automation Emails Going to Spam
Google is trapping all the marketing automation emails in spam. My domain has a perfect reputation and it looks like Zoho has a low reputation which is sending it to spam. When I pull the email out of spam and click on a link in the email, I get this
Convert Request to Forum Topic
I know you can convert a forum topic to a request and a request to a solution in the knowledge base, but how do you convert a request to a forum topic? Is this possible? If not is this a feature coming down the pipe in the near future? Thanks!
Zoho Sign / Prefill By You - Editable by Them!
Zoho Sign seems to have two field options available - an empty field for signer(s) to complete or a field that has been prefilled by you, that becomes read only once sent. What I would like is an option on the pre-filled by you fields, to leave them
Is the Contacts sync between Campaigns and CRM bi-directional?
Is the Contacts sync between Campaigns and CRM bi-directional?
Task does not syncing to google calendar shedual
Hi why does the tasks activities do not syncing with the google calendar like the event option does?
Bug with Zobot Human transfer
I have configured the brand, the operator, and the Zobot in Spanish. However, no matter what I do, it always says "YES" instead of "Sí" or "Sure, why not " instead of "Claro, ¿por qué no?" when asking if the user wants to contact a human operator. The
Something went wrong. One or more fields contain errors
I am getting this error but there is no way to debug what field is causing the issue . I have over 100 fields. Everything was working fine and then i fixed some fields that should have the same field names but had a typo and i am getting this error. It
Next Page