Auto populate description field in a catalog item when redirected from the Catalog item link in Virtual Agent

Nikita35
Kilo Guru

hello Experts,

I have one requirement in which I need to provide the link of catalog item in virtual agent so that when user will click on the link, it will redirect to a catalog item.

Now this catalog item has a field called description which should be automatically populated with some text - "I need access to XYZ".

Redirecting to catalog item seems fine to me. But how Can I achieve this auto population of description.

Regards

1 ACCEPTED SOLUTION

Hi Nikita,

so do one thing; as part of approach we are adding extra parameter in the url which is "sysparm_virtualagent"

So use below script to know whether the url contains this string; if yes the set the value

updated script below; use UI type as ALL

function onLoad() {
	//Type appropriate comment here, and begin script below
	var url = top.location.href;
	var index = url.indexOf("sysparm_virtualagent");	 
	if(index >= 0)
		g_form.setValue('description','I need access to XYZ');
}

Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
Thanks
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

17 REPLIES 17

Hi Ankur,

In my case I need to give the link of specific item based on some scenarios.

So using script action I am just creating a URL by querying catalog item table sc_cat_item and passing the sys_id.

find_real_file.pngfind_real_file.png

 

 

 

Hi Nikita,

Can you add onload client script on that catalog item and do alert to know what is coming in URL when it is redirected from virtual agent?

Share the url in your comment

function onLoad(){

var url = this.location.href;

alert(url);

}

Regards

Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

here is the alert 

find_real_file.png

Hi Nikita,

that url doesn't seem to have any reference it is being called from virtual agent; so one thing you can do is add an extra parameter in the url so that in onload you can know it is from virtual agent

in line number 62 add this

+ sys_id + '&sysparm_virtualagent=true'

in onload you can do this

 

function onLoad(){

var gURL = new GlideURL();
gURL.setFromCurrent();
var urlValue = gURL.getParam("sysparm_virtualagent");

if(urlValue == 'true')
g_form.setValue('description','I need access to XYZ');

}

Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
Thanks
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

find_real_file.png

 

getting an error