Flow designer remove user action not working

Burhan2
Tera Contributor

I have a flow where reqfor user should be automatically removed from group when requested. We have a list collector group field and when submitted reqfor user should be removed from the mentioned groups in that field . I created action for that but it seems deleteRecord() method is not working in flow...the script was working fine in workflow and user was getting removed.. I have also automation to Adduser and that is working correctly can nyone help me in this

Attaching script for removal from action.:-group.pngremove.png

(function execute(inputs, outputs) {
var req_for = inputs.Reqfor;
var team = inputs.Grouplist.toString().split(',');
var addorremove=inputs.AddorRemove;
if (addorremove == 'Add') {
    for (var i = 0; i < team.length; i++) {

        var grpMembr = new GlideRecord('sys_user_grmember');
        grpMembr.addQuery('group', team[i]);
        grpMembr.addQuery('user', "!=", req_for);
        grpMembr.query();
        while (grpMembr.next()) {
            grpMembr.initialize();
            grpMembr.group = team[i];
            grpMembr.user = req_for;
            grpMembr.insert();
        }

    }
}
else if (addorremove == 'Remove') {
   
        for (var i = 0; i < team.length; i++) {

        var grpMembr = new GlideRecord('sys_user_grmember');
        grpMembr.addQuery('group', team[i]);
        grpMembr.addQuery('user', "=", req_for);
        grpMembr.query();
        while (grpMembr.next()) {
        grpMembr.deleteRecord();
        }

   
}

    }


})(inputs, outputs);
1 ACCEPTED SOLUTION

@Burhan2 

Below is the working solution, user was part of 2 groups and flow ran and removed that user from those groups

flow remove user from group.gifflow remove user from group 1.gif

I believe I have provided enough guidance and responded to all your questions.

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

33 REPLIES 33

@Burhan2 

Do this

1) Get catalog variables

2) then use Lookup records on sys_user_group with condition as

SysId [=] Get Catalog Variables->Assignment Group

3) then use For each to iterate over the Lookup records (sys_user_grmember)

4) then use Delete record and pass the sysId of each group and you already have ReqFor

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

I got ur point ankur i am just not understanding the 4th point what to take please help me in that attaching ss @Ankur Bawiskar  and please check if lookup and foreach is correctflow4.pngflow5.pngflow6.png

@Burhan2 

Lookup records condition should be this as we have multiple sysIds

sysId [IS ONE OF] Get Catalog Variables->Assignment Group

Within For Each

-> use Lookup records on sys_user_grmember

condition as [Group.sysId] [IS] Group (from each iteration)

-> then use Delete Record for sys_user_grmember

I missed 1 more step which was for Lookup of sys_user_grmember

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Not working @Ankur Bawiskar flow7.pngflow8.pngflow9.pngflow10.png

@Burhan2 

in flow execution what it shows?

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader