Automation #16: Automate Ticket Reopening on Scheduled Timestamp

Automation #16: Automate Ticket Reopening on Scheduled Timestamp



Hello Everyone!

This edition uncovers the option to schedule reopening a ticket automatically.

Zylker Finance tracks insurance policyholder activities through Zoho Desk. For policyholders who pay monthly premiums, tickets are closed upon payment completion. To efficiently follow up with its customers every month, Zylker Finance automatically reopens existing tickets on a specific date rather than creating new ones. This helps insurance agents ensure they do not miss any customer interactions.

Zylker Finance automates this process using a custom function in Schedules to ensure efficient tracking and operations management. Let's delve into the setup to understand the configurations.

Prerequisites

1. Create a custom date field in the Ticket layout.
Navigate to Setup >> Customization >> Layouts and Fields >> Choose the preferred department and select the layout to add a custom date field. Assign a Preferred Name to the Date Field.



Click on the gear icon of the custom date field and note the API name.





2. Fetch Department ID
To fetch department ID, go to Setup >> General >> Departments >> click on the preferred department. Go to the address bar and find the last number series in the URL; this is the department ID. Copy the ID appended in the URL and paste it into line 9 of the custom function for the departmentId value.  



3. Create a connection
3.1 Go to Setup >> Connections under Developer Space
3.2 Click Create Connection.
3.3 Select Zoho OAuth under Default Connection.
3.4 Give the connection name as deskconnection. 
3.5 Under Scope, include the below scopes
                  Desk.tickets.READ
                  Desk.search.READ
                  Desk.tickets.UPDATE
3.6 Click Create and Connect.
3.7 Click Connect and click Accept.
Connection is created successfully.

Create Schedules
1. Go to Setup >> Automation, choose Schedules.
2. Click on New Schedule in the top right corner. (Ensure that the correct department is selected.)
3. Give a preferred Name and Description for the Schedule.



4. Under Execute on, choose the preferred Date and Time for the schedule to begin execution. 
5. Under Repeat, choose the preferred frequency as Every Day. Under Ends, choose Never.
6. Under Functions, click on Create Function.



7. Give a Name and Description for the function. Paste the below custom function in the script window.
  1. // ----<<<< User Inputs >>>>----
  2. //Replace deskURL with the URL based on your DC
  3. deskURL = "https://desk.zoho.com";
  4.  
  5. //Replace your custom date field's API Name
  6. cfAPIName = "cf_action_date";
  7.  
  8. // Replace *********** with your department Id
  9. departmentId = ***********;
  10.  
  11. // ----<<<< Initial Configs >>>>----
  12. logs = Map();
  13. ticketIdList = List();
  14. currDate = now.toText("YYYY-MM-dd");
  15.  
  16. //---------------------------
  17. try {
  18.     // ---- start your logic from here ----
  19. ticketSearch = invokeUrl
  20. [
  21. url : deskURL + "/api/v1/tickets/fieldSearch"
  22. type : GET
  23. parameters : { "from" : 0 , "limit" : 50 , "field1" : cfAPIName+":"+currDate,"departmentId":departmentId }
  24. connection : "deskconnection"
  25. ];
  26. logs.insert("ticketSearch":ticketSearch);

  27. if ( ticketSearch != null && ticketSearch != "" && ticketSearch.containsKey("data") && ticketSearch.get("data").size() > 0 )
  28.     {
  29. for each tkt in ticketSearch.get("data")
  30.         {
  31. ticketIdList.add(tkt.get("id"));
  32.         }
  33.     }
  34. logs.insert("ticketIdList":ticketIdList);
  35. if ( ticketIdList.size() > 0 )
  36.     {
  37. bulkUpdateTickets = invokeUrl
  38. [
  39. url : deskURL + "/api/v1/tickets/updateMany"
  40. type : POST
  41. parameters : { "ids" : ticketIdList , "fieldName" : "status" , "fieldValue" : "Open" } + ""
  42. connection : "deskconnection"
  43. ];
  44. logs.insert("bulkUpdateTickets":bulkUpdateTickets);
  45.     }
  46. }
  47. catch(errorInfo) {
  48.     logs.insert("errorInfo": errorInfo);
  49. }
  50.  
  51. info "logs: \n" + logs;
Note : In line 3, replace the URL with the Desk URL corresponding to your DC.
[ Example: For US DC, the url will be https://desk.zoho.com
                         India DC, the url will be https://desk.zoho.in
                         EU DC, the url will be https://desk.zoho.eu]
In line 6, replace cf_action_date  with the your custom date field's API Name. In line 9, give the department ID.
8. Click Save to save the script.
9. Click Save again to save the created schedule.
 
Implementation
When the custom date field matches the Execute On date in the schedule, the ticket will move to the open state.
We hope our updates enhance your experience with Zoho Desk, enabling you to offer great customer support. Stay tuned for updates on features and functions in Zoho Desk. 

    • Sticky Posts

    • 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
    • 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. 
    • Tip #1: Learn to pick the right channels

      Mail, live chat, telephony, social media, web forms—there are so many support channels out there. Trying to pick the right channels to offer your customers can get pretty confusing. Emails are most useful when the customer wants to put things on record. However, escalated or complicated issues should not be resolved over email because it's slow and impersonal.  When you need immediate responses, live chat is more suitable. It's also quick and convenient, so it's the go-to channel for small issues. 
    • Welcome to Zoho Desk Community - Say hello here!

      Hello everyone! Though we have been here for a while, it’s time to formally establish the Zoho Desk Community; we’re really happy to have you all here! This can be the place where you take a moment to introduce yourself to the rest of the community. We’d love to hear all about you, what you do, what company or industry you work for, how you use Zoho Desk and anything else that you will like to share! Here’s a little about me. I am Chinmayee. I have been associated with Zoho since 2014. I joined here
    • Webinar 1: Blueprint for Customer Service

      With the launch of a host of new features in Zoho Desk, we thought it’ll be great to have a few webinars to help our customers make the most of them. We’re starting off with our most talked about feature, Blueprint in Zoho Desk. You can register for the Blueprint webinar here: The webinar will be delivered by our in-house product experts. This is a good opportunity to ask questions to our experts and understand how Blueprint can help you automate your service processes. We look forward to seeing