This is a monthly series where we pick some common use cases that have been either discussed or most asked about in our community and explain how they can be achieved using one of the automation capabilities in Zoho Desk.
Typically when a customer submits a support ticket, it is assigned with a status to map its journey. Zoho Desk provides you with four default statuses: Open, On hold, Escalated, Closed; along with the option to create your own statutes which can then be mapped to these default ones.
Once the solution has been provided to the customer and the ticket is resolved the ticket is marked as "Closed". But the status changes from "Closed" to "Open" if the customer replies to the same ticket. While this behaviour might be useful for some businesses who prefer to continue the same thread instead of reopening a new one, some might not want to do so. To ensure the ticket stays in the closed status and start a new thread for a customer reply, you can create a Workflow Rule and map it to a custom function script to achieve the desired results.
Prerequisite:
To ensure the Closed status is maintained even if a customer replies to a ticket, perform the following steps:
1. Go to Setup, and under Customization, click Ticket Status, uncheck the "Fall-Back To Default" checkbox against "Closed" status.
2. OrgID, to get the OrgID, navigate to "Setup >> Developer Space >> API". Note down the OrgID
To create the workflow rule, perform the following steps:
1. Go to Setup, and under Automation, click Workflows.
2. On the left panel, under Workflows, click Rules > Create Rule.
In the Basic Information section, perform the following steps:
3. In the Module drop-down menu, select Tickets.
4. Enter a name and description for the rule.
5. If you want to activate the rule right away, select the Active checkbox. Else, you can just create the rule now and activate it later on the Rules page.
6. Click Next.
In the Execute on section, perform the following steps:
7. Select the Customer Reply checkbox to execute this rule every time a customer responds to a ticket.
8. Click Next.
9. In the Criteria section, set the criteria as "Status is Closed" and click "Next"
In the Actions section, perform the following steps:
10. Click the + icon under "Action" and select "New" next to Custom Functions
11. Enter a name and description for the custom function.
12. In the script window, input the Custom Function you find below:
- numberOfHours = 48;
- orgId = "Paste Org Id here";
- //Please paste your OrgID
- TicketInfo = zoho.desk.getRecordById(orgId,"tickets",TicketID);
- lastModified = TicketInfo.get("closedTime").toTime("yyyy-MM-dd'T'HH:mm:ss");
- status = TicketInfo.get("status");
- hoursBetween = now.hoursBetween(lastModified).abs();
- if(hoursBetween >= numberOfHours)
- {
- threadResponse = zoho.desk.getRelatedRecords(orgId, "threads", "tickets", TicketID);
- if(threadResponse.get("data") != null)
- {
- latestThreadID = threadResponse.get("data").get(0).get("id");
- splitTicketResponse = zoho.desk.ticket.split(orgId, TicketID, latestThreadID);
- info "splitTicketResponse ::::" + splitTicketResponse;
- info "======================================================";
- NewTicketNumber = splitTicketResponse.get("ticketNumber");
- NewTicketID = splitTicketResponse.get("id");
- }
- }
- else
- {
- jsonString = {"status":"Open"};
- TicketResponse = zoho.desk.update(orgId, "tickets", TicketID, jsonString);
- info TicketResponse;
- }
NOTE:
Line 1 numberOfHours = 48, refers to the hours post which the new response received in a existing ticket should be split as new ticket. You can replace the number of hours based on your requirement.
Line 2 replace the orgId.
13. Click Edit Arguments
14. In the Name field type TicketID, and from the Value drop-down list select Ticket Id under Ticket Information.
15. Click "Save" to save the custom function
16. Click "Save" again to save the workflow.
These steps would ensure that when a ticket is marked Closed, it stays in the Closed status, even if a customer replies after the mentioned hours. But also ensure that the new reply is added as a new ticket so you don't miss anything!