Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Dashboard issue with interactive filter modification

bbf35621
Kilo Sage

Hey guys,

 

I had a customer who wanted to edit the existing dashboard. She wants to modify a dropdown menu to display a list of users who are Client Service Managers. In the Dashboard interactive filter setting, the reference table is the user table but I want to change it to the group member table because that will make it easier to filter so that it only displays a list of users who are in the client service manager group. However, after saving the configuration, I got an error that is preventing me from saving it,

bbf35621_0-1746555818123.png

Does anyone know why I get that error and how can I fix it?

1 ACCEPTED SOLUTION

@bbf35621 

Changing it to "sys_user_grmember" would not work since if the related dependent filters are pointing to "sys_user" ref.

 

To solve this, I would do this below. Create a script include to return the sys ids of users that belong to that group and use a script in the condition builder.

 

javascript: new getGroupMembersUtil().getGrpMem();

javascript: new getGroupMembersUtil().getGrpMem('GroupName'); //You can also do this

 

Let me know if you have any questions:

 

 

folusho_0-1746637143734.png

Script Include: getGroupMembersUtil

var getGroupMembersUtil = Class.create();
getGroupMembersUtil.prototype = {
    initialize: function () {},

    getGrpMem: function () {
        var groupName = 'Network'; // Change to your target group
        var userIds = [];

        var group = new GlideRecord('sys_user_group');
        group.addQuery('name', groupName);
        group.query();
        if (group.next()) {
            var gr = new GlideRecord('sys_user_grmember');
            gr.addQuery('group', group.sys_id);
            gr.query();
            while (gr.next()) {
                userIds.push(gr.user.toString());
            }
        }
        return userIds;
    },

    type: 'getGroupMembersUtil'
};

 

Please mark as helpful if this resolves your issue.

View solution in original post

15 REPLIES 15

I just ran a script include in a background script and was able to get a list of group members. However, the dashboard is still not calling the script include.

Now I know why it wasn't calling the script include! It needs to have the Sandbox checkbox checked in the script include. 

@bbf35621 

 

Glad you got it.

Please can you mark my initial response as helpful?

Thank you.

I just marked your solution as accepted.

bbf35621_0-1746660607606.png

bbf35621_1-1746660639020.png

group.png