logo

NJP

Importing Slack Users ID to SN & Map it to User Record based on email - Part 2

Import · May 23, 2019 · article

Do steps on part 1 before doing this

Part 1 - https://community.servicenow.com/community?id=community%5Fblog&sys%5Fid=e28f251adbe5b344f7fca851ca961961

Login into your SN instance ad admin and create field on user table called Slack ID

image

image

Once you have created Slack ID field create Rest Message. It should create Default Get automatically. Open that

image

Change endpoint. Make sure to add token that you got from part 1.

image

once you save the changes click on Preview Script Usage and copy code.

image

Go to sys_script_include.list and create new script called SlackUsers

Script:

var SlackUsers = Class.create();
SlackUsers.prototype = {

    getUser: function(){
        var r = new sn_ws.RESTMessageV2('Slack Users', 'Default GET');
        var response = r.execute();
        var responseBody = response.getBody();
        var httpStatus = response.getStatusCode();

        if(httpStatus == 200){
            var parser = new JSONParser();
            var parameterArr = parser.parse(responseBody);
            for (var i = 0; i < parameterArr.members.length; i++) {
                if(parameterArr.members[i].profile.email){
                    var gr = new GlideRecord("sys_user");
                    gr.addQuery("email", parameterArr.members[i].profile.email);
                    gr.query();
                    if (gr.next()) {
                        gr.u_slack_id = parameterArr.members[i].id;
                        gr.update();
                    }

                }
            }
        }
    },

    type: 'SlackUsers'
};

To run it daily/weekly/Monthly

Create scheduled job

go to sysauto.list and click on New

image

image

That should import slack id on user record.

image

I'll be creating another blog on how you can post interactive message that can be used for Approvals.

View original source

https://www.servicenow.com/community/developer-blog/importing-slack-users-id-to-sn-map-it-to-user-record-based-on/ba-p/2292222