Submitter cant be an approver Catalog Item
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2025 09:38 AM
i created a workflow "approval group" activity but it just keep skipping this activity all together
var answer = [];
// Get the approval group using sys_id
var group = new GlideRecord('sys_user_group');
group.get('c34f36ec8393d2106e4aafd0deaad367'); // Use the provided sys_id directly
// Get the requested_by variable from the current record's variables
var requesterUser = current.variables.requested_by + ''; // Convert to string if necessary
// Query the group members
var groupMember = new GlideRecord('sys_user_grmember');
groupMember.addQuery('group', group.sys_id);
groupMember.query();
// Loop through the group members
while (groupMember.next()) {
var memberUser = groupMember.user.sys_id + ''; // Convert to string if necessary
// Exclude the requester from the approvers list
if (memberUser !== requesterUser) {
answer.push(memberUser); // Add user sys_id to answer array
}
}
// The 'answer' array is now populated with sys_ids of the group members excluding the requester
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2025 09:45 AM
try this script
var answer = [];
var groupMember = new GlideRecord('sys_user_grmember');
groupMember.addQuery('group', 'c34f36ec8393d2106e4aafd0deaad367');
groupMember.query();
while (groupMember.next()) {
var memberUser = groupMember.getValue('user');
// Exclude the requester from the approvers list
if (memberUser != current.variables.requested_by) {
answer.push(memberUser);
}
}
Please mark my answer as helpful/correct if it resolves your query.
Regards,
Chaitanya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2025 09:59 AM - edited ‎06-26-2025 10:00 AM
Ensure the requested_by field is properly populated in current.variables.
Use the script inside a Script Include or Function Definition, and return a valid array of sys_ids.
Assign the result correctly to the approvers field in the workflow/activity:
Example (inside a Script Include with function getApprovers
getApprovers: function(current) {
var approvers = [];
var group = new GlideRecord('sys_user_group');
if (group.get('c34f36ec8393d2106e4aafd0deaad367')) {
var requester = current.variables.requested_by + '';
var members = new GlideRecord('sys_user_grmember');
members.addQuery('group', group.sys_id);
members.query();
while (members.next()) {
if (members.user.sys_id.toString() !== requester) {
approvers.push(members.user.sys_id.toString());
}
}
}
return approvers;
}
In the Approval Activity approvers field, call:
getApprovers(current)
If this resolves your issue, please mark my response as helpful or correct.
Best regards,
Zani.