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  

How to insert group members in CC through email script

Talari Balateja
Tera Expert

Hi,

 

How to set corporate analyst group members in CC. I have tried with below script

script:

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
    /* Optional EmailOutbound */
    email, /* Optional GlideRecord */ email_action,
    /* Optional GlideRecord */
    event) {

    var groupMembers = new GlideRecord('sys_user_grmember');
    groupMembers.addQuery('group.name', 'Corporate Analyst');
    groupMembers.query();
    while (groupMembers.next()) {
        email.addAddress('cc', groupMembers.user.email);
    }
})(current, template, email, email_action, event);

 

 

replaced and tried not working

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
    /* Optional EmailOutbound */
    email, /* Optional GlideRecord */ email_action,
    /* Optional GlideRecord */
    event) {

    var groupMembers = new GlideRecord('sys_user_grmember');
    groupMembers.addQuery('group.name', 'e5c9d9968738125023ec41d40cbb3547');
    groupMembers.query();
    while (groupMembers.next()) {
        email.addAddress('cc', groupMembers.user.email);
    }
})(current, template, email, email_action, event);
 
Regards,
Sanju.
3 REPLIES 3

Pooja Mallikarj
Kilo Sage

Hi Sanju,

 

Please find below line to add group in CC.

 

email.addAddress("cc", "group mail id""group name");

 

Thanks,

Pooja M

Aniket Chavan
Tera Sage
Tera Sage

Hello @Talari Balateja 

Please refer to the code below and see how it works for you.

  1. Use the script in the email body like this:
    ${mail_script:addCorporateAnalystCC}
    ​
  2. Mail Script:
    (function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
        /* Optional EmailOutbound */ email, /* Optional GlideRecord */ email_action,
        /* Optional GlideRecord */ event) {
    
        // Fetch group members for the "Corporate Analyst" group
        var groupMembers = new GlideRecord('sys_user_grmember');
        groupMembers.addQuery('group.name', 'Corporate Analyst'); // Group name to be fetched
        groupMembers.addEncodedQuery('user.emailISNOTEMPTY'); // Ensure user has an email
        groupMembers.query();
    
        // Loop through each group member and add to CC
        while (groupMembers.next()) {
            var userEmail = groupMembers.user.email; // Get user's email address
            var userName = groupMembers.user.getDisplayValue(); // Get user's display name
    
            if (userEmail) {
                // Add to CC with both email and display name
                email.addAddress('cc', userEmail, userName); 
            } else {
                gs.log("User " + userName + " does not have a valid email address.");
            }
        }
    
    })(current, template, email, email_action, event);
    ​

    Let me know your views on this and Mark Correct if this solves your query and also mark 👍Helpful if you find my response worthy based on the impact.


    Regards,
    Aniket

Rajesh Chopade1
Mega Sage

Hi @Talari Balateja 

Your approach to adding the members of the Corporate Analyst group to the CC field is generally correct, but there are a couple of things to check for to ensure it works as expected.

 

- You can confirm the sys_id by navigating to the sys_user_group table in ServiceNow and locating the correct group.

- Ensure that the users in the group actually have valid email addresses. If a user does not have an email address, groupMembers.user.email will return null.

- verify that the script is retrieving the correct group members, you can add some logs.

- If the sys_id is not working, try using the group name again, but ensure that there are no typos.

(function runMailScript(current, template, email, email_action, event) {
    var groupMembers = new GlideRecord('sys_user_grmember');
    groupMembers.addQuery('group.name', 'Corporate Analyst');
    groupMembers.query();
    gs.info("Number of group members found: " + groupMembers.getRowCount());
    while (groupMembers.next()) {
        gs.info("Adding " + groupMembers.user.email + " to CC");
        email.addAddress('cc', groupMembers.user.email);
    }
})(current, template, email, email_action, event);

 

i hope my answer helps you to resolve your issue, if yes please mark my answer helpful and correct.

thank you

rajesh