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.

Populate Order Guide Variables from URL

litchick10
Tera Guru

I want to create a URL that opens an Order Guide and populates 2 values.  We are on the Now Experience and I can't seem to get this to work in any way.  

Here's what I've tried:

Option 1

[our instance]/now/nav/ui/classic/params/target/com.glideapp.servicecatalog_cat_item_guide_view.do?sysparm_guide=D7577104bc31fa250d60479bdc00131ff%26sysparm_catalog_view&sysparm_rt=Update&sysparm_sqt=89e358f8c3776e10d60479bdc0013134

Doesn't open order guide, screen says not authorized

 

Option 2
[our instance]/now/nav/ui/classic/params/target/com.glideapp.servicecatalog_cat_item_guide_view.do?sysparm_initial=true&sysparm_guide=7577104bc31fa250d60479bdc00131ff&sysparm_catalog_view=catalog_default&sysparm_view=catalog_default&sysparm_rt=Update&sysparm_sqt=89e358f8c3776e10d60479bdc0013134

This opens a without setting variables and converts to: 

[ourinstance]/now/nav/ui/classic/params/target/com.glideapp.servicecatalog_cat_item_guide_view.do%3Fsysparm_initial%3Dtrue%26sysparm_guide%3D7577104bc31fa250d60479bdc00131ff%26sysparm_catalog_view%3Dcatalog_default%26sysparm_view%3Dcatalog_default%26sysparm_rt%3DUpdate%26sysparm_sq%3D89e358f8c3776e10d60479bdc0013134?sysparm_initial=true&sysparm_guide=7577104bc31fa250d60479bdc00131ff&sysparm_catalog_view=catalog_default&sysparm_view=catalog_default&sysparm_rt=Update&sysparm_sqt=89e358f8c3776e10d60479bdc0013134

 

Option 3:

[our instance]/now/nav/ui/classic/params/target/com.glideapp.servicecatalog_cat_item_guide_view.do%3Fsysparm_initial%3Dtrue%26sysparm_guide%3D7577104bc31fa250d60479bdc00131ff%26sysparm_catalog_view%3Dcatalog_default%26sysparm_view%3Dcatalog_default%3Fsysparm_rt%3DUpdate?sysparm_rt=Update&sysparm_sqt=89e358f8c3776e10d60479bdc0013134

Loads, doesn't convert but doesn't populate variables

 

Using the OnLoad Script:

function onLoad() {
    var type = getParameterValue('sysparm_rt');
    var sqID = getParameterValue('sysparm_sqt');
    if (requestType) {
        g_form.setValue('request_type', type);
    }
    if (sqID) {
        g_form.setValue('request_type', sqID);
    }
}

function getParameterValue(name) {
    var url = document.URL.parseQuery();
    if (url[name]) {
        return decodeURI(url[name]);
    } else {
        return;
    }
}

 

1 ACCEPTED SOLUTION

litchick10
Tera Guru

I got it working by unchecking "isolate" on the client script

View solution in original post

3 REPLIES 3

RaghavSh
Mega Patron

@litchick10 Is the isolate script field on your client script false?

That should be marked false.


Raghav
MVP 2023
LinkedIn

litchick10
Tera Guru

I got it working by unchecking "isolate" on the client script

Great!! That was the catch here.

you can mark the relevant answer correct for future benefit.


Raghav
MVP 2023
LinkedIn