Hope you are staying safe and healthy. Though the feature of handling the stalled workflows is not new, I could not find any relevant blogs or articles, so I just thought of posting one.
It becomes very much necessary that no business process is kept on hold for a longer period without any valid reason. Having said that, there is should be a mechanism to audit or examine the stalled workflows and remind the approver about the pending processes.
Also, even after regular reminders if the Approver still does not respond, then his/her superior should be notified or the business process should be taken to their notice for further action.
To handle the above scenarios, SuccessFactors provides the two standard features:
Remind in Days
I would be explaining in detail about the two features:
Remind In Days
Remind in days, once set up, will provide a gentle reminder mail to the original approver based on the specified intervals. Again, the reminder notification can be sent either workflow specific or in general to all the stalled workflows based on the Background job.
Workflow specific “Remind in days”
Step 1: Adding remind in days values in the workflow
Home - >Admin center - >Manage organization, Pay and Job structures.
We can add the number of days after which a notification has to be triggered in the Remind in days field.
Remind In Days
Step 2: Background Job
After entering the days suitably, we have to create a Background job from Provisioning to monitor the stalled workflows.
Manage Schedule Jobs -> Create New JobàSelect Job type as “Workflow Action Reminder”
Fill in the Job Name, Job owner, Job Type ( Workflow Action Reminder ), and select the occurrence as Recurring and save the Job.
Please note that, if you want to send the reminder to the approver based on workflows, then please leave the Remind in Days field blank in the provisioning Job.
Reminder notification independent of Workflows
If you want to send the reminder notification to the approvers independent of the workflows, then the notification will be sent for all the stalled workflows based on the date specified in the Remind In days field under Job Parameters as shown below:
Adding days in the Job
Please note that if Remind in Days is configured in both Workflow and in the Background job, then the days entered in the background job prevails.
As explained above, Even after reminding about the pending workflow, if no action is taken by the current approvers, then; we may have to escalate the process to his/her superior
Please find below the stepwise procedure:
Step 1: Setting up the escalation path
RBP: Manage Data permission
The very first step is, we need to define the escalation path, that is, to whom and when the stalled workflows should be triggered, see below example:
Original Approver: The actual owner of the workflow, to whom the workflow is initially sent for approval.
Current Approver: With whom the workflow process is currently pending. In the first step, both the Current Approver and Original Approver will be the same.
Subject Employee: The employee on whom the activity is performed.
Target Value: Target Value is based on the business requirement and it can be either Manager, Manager’s Manager, or the HR of the employee. ( To whom the workflow has to be escalated next)
EscalationAfterDays: The escalation after Days define the number of days after which, you want the system to escalate the request to the superiors.
For instance, in the above example, after 2 days of stalling, the workflow will be escalated to the original approver’s Manager. This again, if stalled for 2 more days, will be escalated to original approver’s second manager ( Manager’s manager)
Finally, it can be escalated to HR of the employee for further action.
Therefore, flow is as below:
Please note that, as shown in the flow chart, the process is not unidirectional, For instance, The new approver can either directly approve the request or, can discuss with the original approver and understand the reason for stalling the workflow, and then can decline or send back the escalation. When the escalation is declined or sent back, the workflow goes back to the previous approver.
If you want to escalate the workflow up the organization until it is approved, then we can use the Recurring Workflow Escalation as below
In the below scenario, the workflow is taken to a higher level after the interval of 3 days at each step, until it’s approved.
Step 2: Mapping the escalation in the desired Workflow
Home-- > Admin center --> Manage Organization, Pay and Job structure
Select the workflow and add the Escalation path as below:
Map the Escalation with the workflow
Please note that, if you could not find the Escalation path option in the workflow, then follow the below steps:
2.1: Export the corporate data model from the provisioning
2.2: Add the below XML code incorporate data model
Make sure that, you give the id as “escalation” (case sensitive). Also, you can give the language as per the business requirement. For sample purposes, I have given, Arabic and English UK.
2.3: After adding the above code, import the corporate data model.
2.4: After successful, import, you would be able to view the option on the Workflow page.
Step 3: Creating a background job
After mapping the escalation path, we now have to create a Background job from provisioning to regularly monitor the stalled workflows.
Provisioning--> Under Managing Job Scheduler-- > Manage Schedule Jobs-- >Create New
Workflow Auto Escalation
Select the Job type as Workflow Auto Escalation and occurrence should be recurring and preferably “daily”.
Once scheduled, initiate action on an employee that triggers Workflow. Based on the EscalationAfterDays field values, the escalation process would be followed.
Step 4: Customize Email Templates (Optional)
You can also customize the Workflow Escalation Email Templates as below:
Home - >Email Notification Template settings
Workflow Escalated Mail Notification:
New Approver Perspective:
The new approver will be receiving the request which got escalated from his subordinate.
The Approver can either Approve or decline the Escalation process.
If there is no valid approver, then the workflow will not be escalated automatically. My suggestion is to configure the workflow with “Skip this step” under the Approver behavior Field so that the workflow at least proceeds further even if it encounters an invalid approver.
Dynamic Group, Dynamic Role, Position, and Position Relationship in the escalation targetValue field is not supported. That is if the workflow is getting escalated from A to B, then A (Source ) can be of multiple users, like Dynamic Role/Group, etc.., however, the target person should be single-user (Not multi-user)