Dynamic approvers for HR Case based on Record Producer variables - HRSD best practice?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi Community,
I am looking for best practice guidance on implementing dynamic approvals in ServiceNow HRSD.
Requirement
We are designing an approval process for HR Cases.
The approvers are not fixed users or groups. Instead, the employee submitting the request must be able to select one or more approvers (typically their manager(s)) when submitting the request.
The selected approvers are stored in Record Producer variables.
Additionally:
- Multiple approval stages are required.
- Each stage may contain multiple approvers.
- The approvers can vary from case to case based on the values entered in the Record Producer.
What I have tried
- Configured the HR Service with Fulfillment Type = Service Activity.
- Added Approve activities to the Service Activity workflow.
Problem
Within the Approve activity, the available approver options appear to be limited to:
- Approvers from Case (Opened for, Subject Person, etc.)
- Approver Users
- Approver Groups
These options seem to require predefined values and do not allow me to directly use values stored in Record Producer variables.
My current idea
Instead of using Service Activity Approve steps, I am considering implementing the approval process with Flow Designer:
- HR Case is created.
- Read the approver information from the Record Producer variables.
- Programmatically create approval records (sysapproval_approver).
- Execute actions based on approval/rejection responses.
- Update the HR Case status to Approved when all approval stages are completed.
Questions
- Is creating approval records from Flow Designer considered a recommended approach in HRSD?
- Is there a standard or out-of-the-box method for dynamically assigning approvers from Record Producer variables?
- For multi-stage approvals with dynamic approvers, what is considered the best practice in HRSD?
- Should I use Service Activities, Flow Designer approvals, Approval Policies, or another framework?
Any guidance, implementation examples, or architectural recommendations would be greatly appreciated.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago - last edited 3 weeks ago
Hi ShumaS,
You can start with the OOTB Flow Designer approval actions rather than creating sysapproval_approver records directly.
A simple approach would be:
- Store the selected approvers from the Record Producer on the HR Case.
- Trigger a flow when the HR Case is created.
- Resolve those users from the case data and pass them to the Ask for Approval action.
- Add separate approval steps for each required stage.
- Continue the flow based on the approval outcome.
The key is to pass the request-specific approvers into the flow instead of maintaining a predefined approver list in the HR Service.
If the OOTB approval action cannot consume the Record Producer values directly, a small custom action/subflow to resolve the users would be preferable to directly inserting sysapproval_approver records.
Example Flow Diagram:
