Multiple Approval requests to same manager for same catalog item
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
49m ago
Is there a recommended way in Flow Designer to consolidate approvals by approver, so that if a manager owns multiple requested groups, they receive a single approval request listing all groups requiring their approval rather than one approval per group?
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2m ago
Hello @MichaellaP ,
Here you can utilize scripted approval in flow designer :
Scripted Approvals in Flow Designer with Flow Variables
In your case, since you're consolidating by manager (not by group), you're resolving sys_user_group.manager for each requested group into a de-duped list of manager sys_ids, then passing those into U[...] - so each manager gets exactly one approval covering all groups they own.
(function execute(inputs, outputs) {
var approverMap = {};
var groups = inputs.requested_groups; // array of group sys_ids
groups.forEach(function(groupId) {
var grGroup = new GlideRecord('sys_user_group');
if (grGroup.get(groupId)) {
var managerId = grGroup.getValue('manager');
if (!managerId) return;
if (!approverMap[managerId]) {
approverMap[managerId] = [];
}
approverMap[managerId].push(grGroup.getValue('name'));
}
});
var approverIds = Object.keys(approverMap); // unique manager sys_ids
// Since each approver must independently approve
var approvalSyntax = 'ApprovesAllU[' + approverIds.join(',') + ']';
outputs.approval_syntax = approvalSyntax;
})(inputs, outputs);
If my response helped mark as helpful and accept the solution.