Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Mike Patel
Tera Sage

Do steps on part 1 before doing this 

Part 1 - https://community.servicenow.com/community?id=community_blog&sys_id=e28f251adbe5b344f7fca851ca961961

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

find_real_file.png

find_real_file.png

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

find_real_file.png

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

find_real_file.png

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

find_real_file.png

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

find_real_file.png

find_real_file.png

That should import slack id on user record.

find_real_file.png

 

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

 

4 Comments