Importing Slack Users ID to SN & Map it to User Record based on email - Part 2
Do steps on part 1 before doing this
Login into your SN instance ad admin and create field on user table called Slack ID
Once you have created Slack ID field create Rest Message. It should create Default Get automatically. Open that
Change endpoint. Make sure to add token that you got from part 1.
once you save the changes click on Preview Script Usage and copy code.
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
That should import slack id on user record.
I'll be creating another blog on how you can post interactive message that can be used for Approvals.
https://www.servicenow.com/community/developer-blog/importing-slack-users-id-to-sn-map-it-to-user-record-based-on/ba-p/2292222