Agent Assist configuration on sc_req_item in Service Operations Dashboard

Victoria_M
Tera Contributor

Hello all, 

 

I need to make Agent Assist available on the RITMs (sc_req_item) in Service Operations Dashboard. I've configured the table : 

 

Victoria_M00n_0-1699955803567.png

Action Assignment : 

 

Victoria_M00n_1-1699956453121.png

 

and Agent Assist SNC  in the contextual side panel as per https://docs.servicenow.com/bundle/utah-it-service-management/page/product/service-operations-worksp...  but the Agent assist does not appear on the side panel on RITMs. 

 

Instance : Utah. 

 

If anyone has any suggestions, I'll be happy to know.

 

 

 

5 REPLIES 5

Xelebrate
Tera Contributor

Even if it is a older question I would like to answer it, because I was facing the same issue (Zurich).

 

For me the solution was - additionally to the documentation - to edit the UX Screen Conditions related record in the UX Screen "Agent assist SNC" and include the following to the Script:

	} else if (params.data.table == 'sc_req_item') {
		// Basic enablement: show Agent Assist on RITMs for ITIL users (adjust roles if needed)
		return (recGr.active || isNewRecord) && gs.hasRole('itil');

 

Full script: 

(function checkScreenVisibility(params) {
	var recGr = new GlideRecord(params.data.table);
	var isNewRecord = params.data.sysId == -1;
	var sysId = gs.nil(params.data.sysId) ? '' : params.data.sysId;

	if (!isNewRecord && !recGr.get(params.data.sysId)) {
		return false;
	}

	if (params.data.table == 'incident') {
		return (recGr.active || isNewRecord) && (gs.hasRole('itil') || gs.hasRole('sn_incident_write'));
	} else if (params.data.table == 'change_task' || params.data.table == 'change_request') {
		return (recGr.active || isNewRecord) && (gs.hasRole('itil') || gs.hasRole('sn_change_write'));
	} else if (params.data.table == 'problem') {
		return (recGr.active || isNewRecord) && (gs.hasRole('itil') || gs.hasRole('sn_problem_write'));
	} else if (params.data.table == 'problem_task') {
		return (recGr.active || isNewRecord) && (gs.hasRole('itil') || gs.hasRole('sn_problem_write') || gs.hasRole('problem_task_analyst'));
	} else if (params.data.table == 'interaction') {
		return (recGr.active || isNewRecord) && (gs.hasRole('itil') || gs.hasRole('interaction_agent'));
	} else if (params.data.table == 'sc_req_item') {
		// Basic enablement: show Agent Assist on RITMs for ITIL users (adjust roles if needed)
		return (recGr.active || isNewRecord) && gs.hasRole('itil');
	} else if (params.data.table == 'kb_knowledge' || params.data.table.includes('kb_template_')) {
		var canWrite = false;

		if ((isNewRecord && recGr.canCreate()) || (recGr.get(sysId) && recGr.canWrite()))
			canWrite = true;

		if (canWrite &&
			recGr.workflow_state != 'pending_retirement' &&
			recGr.workflow_state != 'retired' &&
			recGr.workflow_state != 'outdated') {

			if (new global.KBViewModel().isVersioningEnabled() && recGr.workflow_state == "published")
				return new global.KnowledgeUIAction().getEditableFields().includes("short_description");
			else
				return true;
		}
		return false;
	} else if (params.data.table == 'em_alert') {
		return gs.hasRole('evt_mgmt_user');
	} else if (params.data.table == 'universal_request') {
		return ((recGr.active && !recGr.primary_task) || isNewRecord) && (gs.hasRole('sn_uni_req.routing_agent'));
	}

	return false;
})(inputProperties);

I hope that helps you.