Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

I want to add assignment group members to attendee table

Purushotham9963
Tera Contributor

In cab meeting , I want to add assignment group members to attendee table 

once we add change to agenda items tab, that change assignment group members should add to attendee tab

please find attachment 

 

 

thanks in advance 


1 REPLY 1

Vishal_Jaiswal
Mega Guru

Hi @Purushotham9963 ,

Please use approach below and try.

- Create the Business Rule
- Table: CAB Agenda Item [cab_agenda_item]
- Advanced: Check this box.
- When: async
- Insert: Check this box.
- (Leave Update, Delete, and Query unchecked).
- script:

(function executeRule(current, previous /*, gs, script_include*/) {

    // Get the sys_id of the CAB Meeting
    var meetingSysId = current.getValue('cab_meeting');

    // Get the sys_id of the Task (the Change Request) that was just added
    var taskSysId = current.getValue('task');

    var grTask = new GlideRecord('task');
    if (!grTask.get(taskSysId)) {
        return;
    }

    var assignmentGroupSysId = grTask.getValue('assignment_group');
    if (gs.nil(assignmentGroupSysId)) {
        return;
    }

    // Now, get all members of that Assignment Group
    var grMember = new GlideRecord('sys_user_grmember');
    grMember.addQuery('group', assignmentGroupSysId);
    grMember.query();

    while (grMember.next()) {
        var userSysId = grMember.getValue('user');

        // We must check if this user is already an attendee for this meeting
        var grAttendeeCheck = new GlideRecord('cab_attendee');
        grAttendeeCheck.addQuery('cab_meeting', meetingSysId);
        grAttendeeCheck.addQuery('attendee', userSysId);
        grAttendeeCheck.setLimit(1); // We only need to know if one exists (more efficient)
        grAttendeeCheck.query();
        if (!grAttendeeCheck.hasNext()) {

            var grNewAttendee = new GlideRecord('cab_attendee');
            grNewAttendee.initialize();
            grNewAttendee.setValue('cab_meeting', meetingSysId);
            grNewAttendee.setValue('attendee', userSysId);
            grNewAttendee.insert();
        }
    }

})(current, previous);

Regards,

Vishal