Who can approve a CSM registration request?

e_wilber
Tera Guru

According to https://docs.servicenow.com/bundle/kingston-customer-service-management/page/product/customer-service-management/task/t_ApproveRegRequestWithValidCode.html, the only thing required is the sn_customerservice.customer_admin role.

I gave this role to one of our admins and sent in a user registration request. The registration is in a pending stage but he can't see it under My Approvals as being something he can approve.  The approval is associated to the OOB System Administrator record instead.

Where is the logic for the customer approval portion? Besides the role, what do I need to do to ensure all registration requests ask him for approval?

 

Update: The admin will be approving registrations from the framed site, not the portal. That's the goal.

2 REPLIES 2

Allen Andreas
Administrator
Administrator

Hi,

Can you locate this workflow in the workflow editor? That would ultimately tell you the process for it.

Also have the user check the Pending Registration Requests section under Administration within the CSM module:

find_real_file.png


Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!

Michael Ritchie
ServiceNow Employee
ServiceNow Employee

This is managed by the Customer Registration workflow.  If you look at the Account Admin approval activity you will see the script below.  Notice it queries for users with the sn_customerservice.customer_admin role where the account matches the account from the registration record.  If none are found, the out of the box Admin user is designated as the approver.  You can certainly change this script, but it appears as if your company has no designated admin.

 

if(current.account){
	answer = [];
	var gr = new GlideRecord('sys_user_has_role');
	gr.addQuery('role.name','sn_customerservice.customer_admin');
	gr.addQuery('user.company',current.account);
	gr.query();
	if(gr.getRowCount() == 0)
		answer = "admin";
	else {
			while(gr.next()){
			var user = new GlideRecord('sys_user');
			user.get(gr.getValue('user'));
			answer.push(user.sys_id);
		}
	}
}else{
	answer = "admin";
}