Automation#23: Automate Guided Conversations in Zoho Desk with Business Hours

Automation#23: Automate Guided Conversations in Zoho Desk with Business Hours


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:
  1. Notify customers that your business is currently closed, along with your operating hours.
  2. 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

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: 
  1. dayMAp = {"SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"};
  2. businessTimes = response.get("businessTimes");
  3. timez = response.get("timeZone").get("id");
  4. response = Collection();
  5. createdTime = zoho.currenttime.toString("yyyy-MM-dd HH:mm:ss",timez).toDateTime();
  6. createdDay = createdTime.getDay();
  7. //get this from above created time
  8. createdHour = createdTime.getHour();
  9. //get this from above created time
  10. createdMinute = createdTime.getMinutes();
  11. //get this from above created time
  12. createdWeekDay = createdTime.getDayOfWeek();
  13. //get this from above created time
  14. createdWeekDay = dayMAp.get(createdWeekDay - 1);
  15. for each  businessTime in businessTimes
  16. {
  17. if(businessTime.get("day") == createdWeekDay)
  18. {
  19. businessTimeStartHour = businessTime.get("startTime").getPrefix(":").toLong();
  20. businessTimeEndHour = businessTime.get("endTime").getPrefix(":").toLong();
  21. businessTimeStartMinute = businessTime.get("startTime").getSuffix(":").toLong();
  22. businessTimeEndMinute = businessTime.get("endTime").getSuffix(":").toLong();
  23. if((createdHour > businessTimeStartHour || createdHour == businessTimeStartHour && createdMinute >= businessTimeStartMinute) && (createdHour < businessTimeEndHour || createdHour == businessTimeEndHour && createdMinute <= businessTimeEndMinute))
  24. {
  25. response.insert({"status":"true"});
  26. }
  27. else
  28. {
  29. response.insert({"status":"false"});
  30. }
  31. }
  32. }
  33. 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. 

Notes
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


      • Sticky Posts

      • Zoho Desk Virtual Meetup: US Central, October 5 - 7, 2021

        After the interactive Virtual Meetups in the other regions, we are starting with the US Central and Midwest regions from October 5 to October 7, 2021. The dates for other regions will be announced soon.  At this event, we will explore the topics which
      • Register for Zoho Desk Beta Community

        With the start of the year, we have decided to take a small step in making the life of our customers a little easier. We now have easy access to all our upcoming features and a faster way to request for beta access. We open betas for some of our features
      • Ask the Experts 10: A 5-hour online Q&A on Zoho Desk Best Practices

        Welcome to Zoho Desk's Ask the Experts session! This is a monthly discussion on our  forums; wherein a panel of experts will take on questions  specific to topics related to Zoho Desk. The panel will be available for a 5-hour period and will answer any questions posted here.   Let's begin the year learning some best practices from our experts. In this month's ATE we are opening the floor to questions on how to use Zoho Desk the best way.  If you have a business use case but not sure if Workflow is
      • Share your Zoho Desk story with us!

        Tell us how you use Zoho Desk for your business and inspire others with your story. Be it a simple workflow rule that helps you navigate complex processes or a macro that saves your team a lot of time; share it here and help the community learn and grow with shared knowledge. 
      • Ask the Experts 7: A 5-hour online Q&A on Telephony and Call Module

        Welcome to Ask the Experts session! This is a monthly discussion in forums; each session, a panel of experts will take questions on specific topics related to Zoho Desk. The panel will be available for a 5-hour period and answer any questions posted here. In this month's Ask the Experts, we will take questions on everything related to Telephony and the Call Module in Zoho Desk. We will discuss the following aspects:  Integration with different Telephony vendors Routing calls to agents Converting