Technical Articles
Time Off: Differentiating Workflow Triggering
Greetings to all exciting people working with SAP SuccessFactors Time Off Module!
SAP Successfactors is already known for providing simple but yet effective HR Solutions on people processes, and this is not less applicable for Time Off Module.
One important feature within Time Off Module is the dynamic Approval Process design that can be configured and tailored based on business requirements. Out of the box features include the assignment of two different Workflows on each Time Type that can be configured in order to have different approval/notification processes for each Time Type. The two different workflow procedures can be triggered either as soon as an employee directly submits a new leave request or when an Admin User submits a Leave Request on behalf of the employee. This is very significant to have, since there are many customers that need to have an additional level of control even if a leave request may be submitted directly from an Admin Person (Direct Manager, HR Manager, or any other user).
But, what if we need to go beyond that? The purpose of this blog is to demonstrate one specific case-scenario where different workflows can be triggered for a specific Leave Type based on different attributes that we can define.
Customers frequently need to further enhance their workflow approval processes based on specific parameters and criteria other than the typical ones mentioned above. For example, they would like to differentiate the workflow approval process for one Time Type based on different targeted people within the company or based on different parameters selected during their Leave Requests process. Is that possible to manage within SuccessFactors?
Of course! Despite the fact that there might be some limitations based on the complexity of these requirements, the majority of these requirements can be covered by incorporating specific Business Rules which can satisfy these needs. So, as mentioned above, there are many different variations with which we can differentiate the workflow approval process that needs to be triggered on a Time Type. Some examples of what can be covered (but not limited to) are listed below:
- Trigger a different workflow for different Employee Groups (or any other parameter specified on Employee’s Profile)
- Trigger a different workflow for different number of days requested (for example a Direct Manager needs to approve a request of up to 2 days, but if a request is for more than 2 days then an extra approval step for HR Manager to approve will be triggered)
- Trigger a different workflow based on which person submits the request
- And many more!
Below I am demonstrating one scenario of a tailored configuration I had to implement for a specific customer requirement I had in the past – The scenario is:
When an employee submits a Leave Request which makes the balance go negative à Trigger a different Workflow Request.
This specific scenario is quite tricky to achieve since you need to make sure that your Business Rule will actually take into account both the current Balance but also the Revised Balance the employee will have after this Leave Request is posted. The Business Rule I used for this scenario looks like this:
Now when we apply this in context:
Employee: TO AUSTest5
Test Scenario 1:
Current Balance: 16.66 days – Vacation Request for Employee:
Request: 5 days
Available Balance after Request: 11.66 days:
Workflow Triggered: Manager Approval
Test Scenario 2:
Current Balance: 1.67 days – Vacation Request for Employee:
Request: 3 days
Available Balance after Request: -1.33 days:
Workflow Triggered: Manager Approval and HR Approval
Note: You should avoid assigning any Business Rules that trigger workflows directly on a Time Type, since they are not stable and can cause major inconsistencies. Instead, these rules should be assigned as Save Rules on the Employee Time Object.
So, with the above example you should get an idea of the possibilities we can have to customize our workflows requirements in Time Off, and create different variations for each case as required.
Enjoy!! As always your feedback or the sharing of your personal experience matters a lot!
Excellent
Very interesting! Thank you.
I recently had a similar requirement from a client, and I made use of an additional field on the Time Type where admins could specify an escalation workflow in the case that the leave was prior to current month (i.e. backdated leave).
Then within the business rule, if the conditions were met we would use the escalation workflow instead.
Very nice!
Hi Evangelia,
I just found this blog about differentiating workflow triggering.
What I cannot figure out is that how can I create a business rule which triggers a different workflow based on which person submits the request.
I would need 3 different workflows:
2 scenarios is covered - Employee and admin- but how can I differenciate the admin part into 2 workflow?
Thanks in advance.
Szilvia
Hi Szilvia!
You already have available the two Standard Workflow Processes in case an employee submits an absence or in case an "Admin" Submits an absence --> These two options are defined in the Time Type.
You also by Default Define a Standard Business Rule on The Employee Time Object which triggers one or another workflow as above, in the case of an employee or an Admin.
What you need to do however on this case, is to modify the "Standard Business Rule with the new scenarios you need to have and set Specific (hardcoded) Workflows for each Case. By modifying the Business Rule, the system will override what you have on the Time Type.
Hope this is clear?
Thanks,
Evangelia
Hi Evangelia,
Is it also possible to have another workflow when cancelling an absence than for requesting this same absence request?
For example: My customer does not want an approval process when holiday is requested (only notification to manager) but does want to have an approval process when this holiday period is cancelled or changed?
Within the time type settings right now "Activate Cancellation Workflow" is set to Yes but than it takes over the "Workflow Configuration" setting (only sending a notification to the manager).
Hope to hear from you!
Thanks in advance,
KR Manon Cremers
I already found this KBA:
2613630 - How To Set A Different Workflow For Time Off Leave Cancellation?
Hi Manon,
Apologies for the delay in getting back to you! Exactly, you can use something similar to the KBA - You need to modify the Main Workflow Business Rule you have on your Employee Time Object, and include all your different scenarios that you need in order to trigger a different workflow each time.
Hope this helps!
Thanks,
Evangelia
Hi Evangelina,
Thank you for providing helpufl inofrmation.
Is it possible to have a rule that differenciates admin workflows by employee type? Our LOAs are entered only by our HR team and if they are salaried employees is one wf and for salaried is different.
Thanks,
Cristiane
Hi Cristiane, yes this would be possible again with your overall Business Rule you have on EMployee Time Object for Workflow. You just need to make sure you still have an assigned Admin Workflow on each Time Type, so that this gets activated, and then you will override this rule in the Business Rule. In the business Rule you also need to use the Function "Login User" to identify who makes the request on every case.
Hope this helps!
Evangelia
Hi,
Great article, thanks for that!
However, is it also possible to avoid workflow triggering when employee just adds attachment to already approved absence?
Thanks a lot.
Frantisek