Auto-closing a case workflow
A colleague asked me recently about an email he had received from the support department of one of our vendors. It looked something like:
Hello, Anne Teak,
A few days ago, our support staff has replied your inquiry at:
http://www.some.vendor.com/helpdesk/view-thread.aspx?thread=735746
Since then, we have not received any response back from you, and would like to know if you consider this issue to be closed. If you have any further questions, please use the link above to post them. This issue will be automatically closed out in a few days if you choose not to respond.
To access this discussion thread, navigate to the following link:
http://www.some.vendor.com/helpdesk/view-thread.aspx?thread=735746
Sincerely yours,
Some.Vendor Team
The gist of the process is that if a customer hasn’t responded after a certain period of time, then we want to send them a reminder. After a little more time, automatically close the case.
It was asked: can we do something like that in Clarify/Dovetail? Of course!
I’ve implemented this workflow for a number of clients over the years, but apparently I’ve never shared it. So, here it is.
Workflow
The workflow I have in mind looks like:
- Case is created for customer
- Agent responds to customer, and sets case status to Awaiting Customer (Auto-Close)
- Customer responds via SelfService, adding information to the case (such as a log note).
- This automatically changes the case status so it is no longer Awaiting Customer (Auto-Close)
- Agent again responds to customer, sets case status to Awaiting Customer (Auto-Close)
- No response from customer.
- After a few days, send a reminder email to the customer.
- Still no response from customer.
- After a few more days, automatically close the case
Lets walk through the steps and see how to make all this work.
Create Case, Agent Responds, Sets case status
The first two steps are standard functionality in any of the client apps (Clarify Classic Client, Smart Client, DovetailAgent, DovetailAgentLite, Dovetail Mobile).
So nothing special to do here.
Customer responds via SelfService
Again, standard functionality for a self service application (Dovetail SelfService, eSupport, WebSupport, etc.)
Automatic Status Change
Once the customer responds via self-service, we want to automatically changes the case status so it is no longer Awaiting Customer (Auto-Close). This is simple to do via a business rule.
Business Rule:
Object Type: Case
Rule Name/Description: Change Case Status when case is updated via SelfService
Start Event: Log Note
Cancel Events:
Conditions: Logger = “websupport”
Action Title: Change Case Status
Action Type: Command Line
Start Action 0 minutes From Event Creation Using Elapsed Time
Message: c:\dovetail\powershell\changecasestatus.bat [Case ID Number] ‘Customer Responded’
The changecasestatus BAT file simply calls a Powershell script, which calls the ChangeCaseStatus API within theDovetail SDK.
Agent Responds, Sets case status
Again, standard functionality in any of the client apps, so nothing special to do here.
No response from customer
uh, nothing to do or see here. Move along. (I love these kind of steps)
Send a reminder email to the customer, auto-close case
Another business rule makes this happen. The rule will have two actions; one to send a reminder, and one to close the case.
In addition, we’ll be using the Cancel Event to stop this rule. We want to cancel this rule if the case gets closed, or if the status gets changed (such as when the change status rule fires as a result of the customer logging a note).
Business Rule:
Object Type: Case
Rule Name/Description: auto-close case if no reply from customer
Start Event: Change Status
Cancel Events: Change Status, Close Task
Conditions: Status= “Awaiting Customer Response (Auto-Close)”
Action #1:
Action Title: Notify contact
Action Type: Message
Start Action 3 days From Event Creation Using Elapsed Time
Notify: Contact
Message:
RE: About case [Case ID Number] ( [Title] )
Hello [Contact First Name],
A few days ago, our support staff replied to your recent support case.
Case Number: [Case ID Number]
Case Title: [Title]Since then, we have not received any response back from you, and would like to know if you consider this issue to be closed. If you have any further questions, please use the our SelfService to post them.
Your case is available on our SelfService site at:
http://support.dovetailsoftware.com/selfservice/case/[Case ID Number]This issue will be automatically closed out in a few days if you choose not to respond.
Sincerely,
Dovetail Support team
Action #2:
Action Title: Close Case
Action Type: Command Line
Start Action 6 days From Event Creation Using Elapsed Time
Message: c:\dovetail\powershell\closecase.bat [Case ID Number]
A few things to take note of in the above rule.
- The contact will be notified 3 days after the agent sets the status to “Awaiting Customer Response (Auto-Close)”
- The case will be automatically closed 3 days after that (6 days total from when the agent set the status)
- As I mentioned earlier, the rule will be canceled if the status gets changed or the case gets closed.
In Action
Following the workflow above, I can see how this all looks from the activity log of a case.
Note: I’ve changed the times when the auto-close business rule fires from 3 days and 6 days to just 1 minute, for illustration purposes (and so I don’t have to wait 6 days to post this blog post!)
- At 4:51, the customer logged some notes via selfservice (sorry – this log is beyond the scroll. Trust me on this one.)
- At 4:51, the rule fired which automatically changed the status to Customer Responded.
- At 4:56, the agent (annie) changed the status to Awaiting Customer Response.
- At 4:57, the notification was sent to the contact
- At 4:58, the case was automatically closed.
Exactly. As. Planned.
And here’s an example of an email reminder that gets sent to a customer via the business rule:
Additional Niceties
You could also sweeten this workflow a bit with some additional niceties.
If the customer responds by email, this might also set the case status to Customer Responded. This could be a similar business rule to the first one above. Or it could be built right into your email processing engine rule set, such as inDovetail Carrier.
Notify the case owner when the customer responds via SelfService (or via email). Again, another business rule. I blogged about this previously.
Scripts
All of the scripts that I referenced earlier (CloseCase, ChangeCaseStatus) are freely available on github:https://github.com/gsherman/powershell
They are Powershell scripts that use the Dovetail SDK.
You could use other scripting languages and API libraries, but it’s probably no surprise that I’m biased towards the Dovetail SDK.
Go forth and conquer
Have I mentioned that I totally dig what you can do with business rules?
Hope you find this useful.
Rock on.