I've created an form that collects issues and routes it to the appropriate team, however I would like to escalate the issue to the next in line and set a field value (escalation level drop down) based on the date the issue was entered and how long it's been sitting.
Issue Entered Today, I set status to Level 1 by default on entry.
In 48 hours if the issue isn't issue status is not selected as "resolved" escalation level drop down goes to Level 2 and the Team Supervisor is emailed
In 72 hours if the issue isn't issue status is not selected as "resolved" escalation level drop down goes to Level 3 and the Supervisor's manager is emailed
In 96 hours if the issue isn't issue status is not selected as "resolved" escalation level drop down goes to Level 4 and the Director is emailed
I can't figure out how I can do this automatic status change based on the hours or even days, then move up the chain of command with emails.
Any help would be appreciated.
possible approach might be (I assume you use flexi):
- use state machine and define (at least) as many states as your escalation levels. default state will be level1
- place flexi task in each branch.
- set flexi task's scalation type to 'complete task' and define respective escalation times in each branch. define escalation specific outcome so that you can identify the case.
- once the flexi task is completed check the outcome and if it completed due to escalation update item appropriately (escalation level) and change state machine status to next level
Another approach might be to use parallel action. On one side is your task and logic to set the status to resolved. On the other side use a Pause for action to pause for 48 hours, then send your email and pause for 24 more hours etc.
On you task side once it is complete use an end WF control to kill the workflow.
I would do this with a timed site workflow running at night.
That workflow would query all tickets, filtered on the status 'open' (to keep the workflow from being to heavy)
For each 'open' ticket
Calculate the time the ticket has been open (in hours) and then I'd use the case (switch) statement.
case: over 96: set status to 4 - send notification to director
case: over 72: set status to 3 - send notification to supervisors manager
Seems pretty simple and straightforward.
Can you add a screenshot for the Flexi Task and Run If ? I did the escalation steps but I'm not sure how you get "other" in the branch, and where I set who's emailed.
at the very bottom of assign flexi task dialog there are advanced options where you can enable it
in run if action you just need to configure comparisonj of your outcome variable to ESCALATE string (or whatever your escalate outcome is)
Can you elaborate on "ESCALATE" text in Outcome ? is this a column you created ? What field type and what value is being set ? Or s this the escalation levels column ?