Hello Everyone,
This week's edition introduces a custom function designed to automate Guided Conversations in Zoho Desk, based on your business hours. With this feature, you can align the bot's behavior with your business schedule, ensuring a smooth and professional customer experience.
Self-service platforms are now a cornerstone of effective customer service, improving productivity for both customers and support agents. With the evolving nature of customer support, self-
service has become indispensable. It saves time and provides quick access to solutions, empowering customers to address their concerns efficiently.
Zoho Desk's Guided Conversations serves as a robust self-service tool, offering Tier-1 solutions to customers through an intuitive interface. For more complex or escalated queries, the bot seamlessly connects customers to a live agent, ensuring both self-service and human assistance for effective issue resolution. However, businesses often have non-working hours, such as weekends or holidays, when agents are unavailable. In such cases, configuring your Guided Conversations based on your business hours is essential. During non-working hours, the bot can:
- Notify customers that your business is currently closed, along with your operating hours.
- Provide an option for customers to submit a ticket, ensuring their query is addressed promptly during working hours.Configure your Guided Conversations today and streamline your customer support process!
How to incorporate this custom function within your GC flow?
1. Go to Setup (S) >> Self-Service >> Guided Conversation.
2. Choose the Department and click on Create Flow.
(If you would like to add this to your existing flow, click on the ellipsis icon under Published Flows and click on the Edit button.)
3. Select the channels, give a Name and Description, and click Next.
4. Click on the + icon, add the Webhook block, under Action Blocks.
5. Enter the Block name as Business Hours, Choose Get under Method.
Note: In the Business Hours URL, replace .com with .in/.eu/.ca/.sa based on your DC
How to fetch the Business Hour Id?
6.1 To fetch the Business Id, Go to Setup (S) >> Organization >> Business Hours.
6.2 Click on the Business Hours configured within your Zoho Desk Account. Go to the URL of the specific Business Hours, and you can fetch the business Id from the URL.
7. After entering the URL, do not make changes to the Query Params and Headers.
8. Under Connections, click on Add.
To Create a connection
8.1 Click Create Connection.
8.2 Select Zoho OAuth under Default Connection.
8.3 Give a connection name (let's say configureBusiness Hours).
8.4 Disable the toggle for User Credentials of Login User.
8.5 Under Scope, choose the below scope values:
Desk.settings.READ
8.6 Click Create and Connect.
8.7 Click Connect and click Accept.
Connection is created successfully.
9. After creating the connection, click on Refresh and then click on the drop down arrow and select the connection (configureBusiness Hours) created.
10. Click on the gear icon in the Formatter option and paste the below code in the Deluge window:
- dayMAp = {"SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"};
- businessTimes = response.get("businessTimes");
- timez = response.get("timeZone").get("id");
- response = Collection();
- createdTime = zoho.currenttime.toString("yyyy-MM-dd HH:mm:ss",timez).toDateTime();
- createdDay = createdTime.getDay();
- //get this from above created time
- createdHour = createdTime.getHour();
- //get this from above created time
- createdMinute = createdTime.getMinutes();
- //get this from above created time
- createdWeekDay = createdTime.getDayOfWeek();
- //get this from above created time
- createdWeekDay = dayMAp.get(createdWeekDay - 1);
- for each businessTime in businessTimes
- {
- if(businessTime.get("day") == createdWeekDay)
- {
- businessTimeStartHour = businessTime.get("startTime").getPrefix(":").toLong();
- businessTimeEndHour = businessTime.get("endTime").getPrefix(":").toLong();
- businessTimeStartMinute = businessTime.get("startTime").getSuffix(":").toLong();
- businessTimeEndMinute = businessTime.get("endTime").getSuffix(":").toLong();
- if((createdHour > businessTimeStartHour || createdHour == businessTimeStartHour && createdMinute >= businessTimeStartMinute) && (createdHour < businessTimeEndHour || createdHour == businessTimeEndHour && createdMinute <= businessTimeEndMinute))
- {
- response.insert({"status":"true"});
- }
- else
- {
- response.insert({"status":"false"});
- }
- }
- }
- return response.get(0).get("status");
11. Click Save after pasting the code.
12. Click on the gear icon in the Response icon.
12.1 Click on the gear icon on the Status Code.
12.2 Give Status Code as 200, Flow Variables as status, Response Value as /.
12.3 Let the Type be single element and the Data Type be String. Click Save. Click Save for the Response List with the updated status.
13. Disable the toggle for the Multi Path.
14. Choose a Request timeout if required. This sets a response waiting time from the server.
15. Set the Error message if required to display in case waiting time exceeds the response time.
16. Click Save.
This is the configuration for setting the business hours through a custom function.
17. After the Webhook, click on the + icon and add the Fork block under the Action block.
18. Give the Block Name as Check, Enter Path list : name it as Check.
Under Criteria 1, click on the drop-down arrow, and enter choose Status under Block variables, from the drop-down menu. Choose operation: contains and give the value : True.
19. Do not add an else path.
20. Click Save.
In the Fork block, under Check, you can add the Transfer to agent block from the Zoho Desk Blocks. Under Else, you can add a text icon/ info card stating you are out of business hours.
Note: This custom function does not include the Holiday Lists configured within Zoho Desk.
You can seamlessly integrate this Guided Conversation flow into your self-service platform to ensure you never miss a customer, even during non-working hours. Keep your customer support running smoothly!
See you next week!
Regards,
Lydia | Zoho Desk
Recent Topics
Display duplicate image canvas
Now in canvas view image field, It will display both normal and conditional styling image. Please help with this bug.
Directly Edit, Filter, and Sort Subforms on the Details Page
Hello everyone, As you know, subforms allow you to associate multiple line items with a single record, greatly enhancing your data organization. For example, a sales order subform neatly lists all products, their quantities, amounts, and other relevant
Portal orders
Is it possible to set up an ordering system through the portal so that my customers can place orders through their portal?
CLIENT PORTAL (If clients can place orders directly on the portal)
Zoho client portal is excellent. Everything is there except one thing. Client should be able to place orders directly on the portal. This would enhance the portal and end users will be extremely happy. This suggestion infact came from one of our client.
Portal Default View
Hello! My company is about roll out portals for some users, but we were wondering if it was possible to set the Record Detail Page View to default to a custom view that we made. That way the information they need would be streamlined and easier to see.
Macro Email to be determined by a ticket field
Hi, we are a commercial energy brokerage and are implementing Desk as our helpdesk tool to replace manual emails, personal whataspp and telephone. We have setup a macro rule when we can trigger an email, update ticket status and trigger a task.... but
Welcome Link Expired
Hi The links sent to the users didn't get clicked on in time and now all the links have expired. Is there a way to send a new link without deleting them and re-adding them>
Custom view for Milestones
Hi, Just an idea for the future... would it be possible to create custom views for the Milestones view under Work Overview ? I usually need to look at this view filtered by project group but the filter doesn't remain when navigating away. A custom view
Zoho expense linked with Campaign instead of customers
Hi, Is there a development planned for linked an expense or a report to a zoho campaign? Indeed, suppose I created a campain in which I add different clients (for example a trip to a foreign country where I meet 3 different clients), I would like this campaign to be linked to the expenses I have. Say I have a plane ticket, taxis and 1 hotel night, I would like those expenses to be linked to the 3 clients. With Zoho expense, it is not possible at the time (or maybe it is but I do not know how!). thanks
🎄 Jingle, Mingle, and Automate: Spread Christmas Cheer with Zoho Desk Auto-Replies! 🎄
Hello Everyone! Welcome to this week's episode of the Community Learning Series. Christmas is in the air, and I’m sure we can all feel the jingle and the mingle of the season! The folks at Zylker Techfix are no exception—they’re busy with holiday plans
How to Iterate a Function in Zoho Desk Workflow with Delay Between Calls?
Hi everyone, I’m working on a function in Zoho Desk that searches for a specific ticket record. If the ticket is not found, I need to retry the search multiple times with a delay between each attempt until the ticket is located or a maximum number of
Making Calls Using ZDialer on Zoho Creator Widgets
The Zdialer Browser Extension does not seem to recognize phone numbers on custom widgets. What is the best way to work around this?
Adjusting Physical Inventory
Not getting very far with support on this one, they say they are going to fix it but nothings happened since November. Please give this a thumbs up if you would like to see this feature or comment if you have some insight. Use Case: Inventory set to be
Print PO receipt
Hi I would like to print the PO receipt. There does not seem to be any way to do this. I track batch numbers and printing the PO does not show this. Only the receipt would show the details of the receipt. Currently I print the screen which does not have
Create a purchase order in vendor's currency
I am having a problem working this out and would appreciate some suggestions. We have Books and Inventory working in tandem. We are in Australia, our product is sold in Australia in $A and obviously all our invoices, accounts and reports need to be in
Time Field
Good Day, I have a question, when I save a draft and reload it. Why does the time field format keeps goes from hh:mm to hh:mm:ss? Is there a way I can force it to load to hh:mm only? I have tried example = totime(input.TimeField, "hh:mm") in the -created
Work Orders / Bundle Requests
Zoho Inventory needs a work order / bundle request system. This record would be analogous to a purchase order in the purchasing workflow or a sales order in the sales cycle. It would be non-journaling, but it would reserve the appropriate inventory of
Getting error during inserting a record in form of zoho people using zoho api
import requests import json # Set your access token and Zoho People API base URL access_token = '1000.XXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX' api_base_url = 'https://people.zoho.in/people/api/' # Set the form name and data to be inserted form_link_name
Display your zoho contact name when they call your mobile number
As per the title If a contact calls the office number, the contacts name shows on mobile as long as I have their contact details registered in my crm. Is there a way that if the contact calls my mobile, their name can be displayed? Currently just their number shows when they call.
Change script to add fields
Hi, I have a custom function (writen by a different implementation company in the beginning) which I would like to edit to add a different field as well. Can't get it to work on my own though. - The script now adds the address fields to a new quote (needs
1 API to all channel
hi zoho team: I am the product manager of anywheel, we are planning to integrate zoho, we want to integrate multiple channels through 1 API, please can you send me the integration document and guideline?
Custom Profile Agents Unable to Update Mandatory Phone Number in tickets under Zoho Desk
Hi, While working in the Ticket module in Zoho Desk, agents with a custom profile are unable to update the Phone Number field (which is mandatory) under Account Information. The agents need to enter values such as "NA" or "Nil" in the field to close the
Revamped Print in Zoho Sheet—customized for paper
The latest enhancements to Zoho Sheet's Print settings allows you to print a worksheet or a selected range, with customizations that make the data comprehensible, even on paper. Customize header and footer Make your spreadsheets meaningful with a relevant header and footer. You can now choose to display the file name, sheet name, current page number, total pages, date, and time as the header and footer in your print view. Besides the predefined elements, you can also give a custom text for header/footer.
Adding Bluesky channel
Hello, Is Bluesky (AT protocol) soon added on Social ? Bluesky is being developped and is now open to anyone (no more invitation) Thank you
How Can i put a form in Zobot
Hi,how can i integrate a form which has a multiple options to choose from.the form should be opened or displayed by zobot after it meets a requirement in the conversation. Thanks in advance !
Query table pull last 12 months
I am tying to pull the following criteria and the date is always what causes me the issue. I want to pull people (pco_id) who have entries of "event_id" being these 2 events and whos "kind" is Regular or Guest and where the event_starts_at (date column)
Unified customer portal login
As I'm a Zoho One subscriber I can provide my customers with portal access to many of the Zoho apps. However, the customer must have a separate login for each app, which may be difficult for them to manage and frustrating as all they understand is that
Response Violation - Zoho Desk
Hi Team, I just need an information regarding the zoho desk - Response Violation and how can we avoid the tickets from getting the tickets response violated.
message on click of button
Hi, i added insert task on 'Quick view' below 'Action' of report just below 'Delete' button, so i am trying to add a message on click of button that, "This item is now added into Pending Request" like this .... So, how can i achieve this ; because
Is it possible to disable Chat Waiting Time, or to make it indefinite?
We have used many online chat services over the years. However, Zoho's SalesIQ appears to be the only one we've tried that has a mandatory time limit where we must respond to new customer queries. We are a small business so we have no dedicated staff
Access CRM Variables from Formula field
Is it possible to use a CRM variable (defined in Developer Space -> CRM Variables) in a formula field for calculations ?
Client Script: $Client.refresh({ triggerOnLoad: true }); not triggering onLoad Client Scripts
Hey friends! I'm trying to store a temporary var, refresh the page for the user, then check that temporary var and do some actions. Theoretically using the title's code: $Client.refresh({ triggerOnLoad: true }); should refresh the page and trigger on
Super Admin login to delete certain folders and passwords and clearing the trash folder, they are still appearing on my dashboard
Hi Zoho Team, I need help with an issue I've encountered. Despite using the Super Admin login to delete certain folders and passwords and clearing the trash folder, they are still appearing on my dashboard. I would like to understand why this is happening
Pulling Specific Products from Sales Orders in Books to a CRM Record
We currently process orders directly through our website (woocommerce) as well as through manual sales orders in zoho books. When an order comes through the website, all of the individual products from that order show up in the CRM record of that customer.
Automatically add a retainer to every estimate
Hi all, I've been trying to find a way to automatically add a retainer at a set % to every estimate we create and send. So far I haven't been successful, does anyone know of a way to do this? Thanks,
Clear String field based on the value of other field
Hello everyone, We would like to be able to clear a string field (delete whatever has been written and make it empty) when another field (picklist) is changed to a specific value. While I can empty other types of fields, I noticed that I can't do this
Custom Deal Name in Lead Conversion Mapping
I know there are ways to change the name of a Deal after conversion using a custom function, so no need to repost that information. I would like to see the CRM Improved with Deal Name Customisation and I think the Lead Conversion Mapping page would be
Within the Basic KPI component in Analytics, it is impossible to set "next" day range as a filter
Hi there, I am currently setting up a deal dashboard for the Sales team. While it is possible to filter deal records to show records that were created LAST X days only, it looks like a NEXT X days Closing date filter is not available. Would it be possible
Invoice status on write-off is "Paid" - how do I change this to "Written off"
HI guys, I want to write off a couple of outstanding invoices, but when I do this, the status of the invoices shows as "Paid". Clearly this is not the case and I need to be able to see that they are written off in the customer's history. Is there a way
For each loop with available time slots
I am very new to Deluge, and this question was unable to be answered by Zoho Creator tech support upon request. Task at hand: I have a Form with 4 fields: - Date Start - Date End - Dropdown: Time Start: contains time slots (12:00PM, 12:15PM, etc) - Dropdown:
Next Page