How to open a catalog item in Now Experience Workspace the way you can in Agent Workspace and Service Operations Workspace

Mark Endsley
Tera Guru

Hi Everyone,

I'm continuing my saga in trying to implement the Service Portal catalog in my scoped application's custom Now Experience Workspace. It has been a long journey, and is cataloged here.

https://community.servicenow.com/community?id=community_question&sys_id=7b9a79eb1bdb8550b4b577bc1d4b...

https://community.servicenow.com/community?id=community_question&sys_id=ba593f731b5b0d50b4b577bc1d4b...

https://community.servicenow.com/community?id=community_question&sys_id=af99e6301b2b8590b4b577bc1d4b...

https://community.servicenow.com/community?id=community_question&sys_id=6296d5a91be70dd0c16b43f6fe4b...

No need to go through all of these though, I will explain the situation. 

When we implemented Agent Workspace I added some code and fields to the interaction table. 

find_real_file.png

 

The Interaction type and Catalog Item fields interact with this client script when the record is saved.

 

function onSubmit() {

    if (g_form.getValue('u_interaction_type') != 'request')
        return;

    var ga = new GlideAjax('interactionRelatedRequest');
    ga.addParam('sysparm_name', 'isRelatedRequest');
    ga.addParam('sysparm_id', g_form.getUniqueValue());
    ga.getXML(function(response) {
        var answer = response.responseXML.documentElement.getAttribute("answer");

        if (answer == 'false' || g_form.isNewRecord()) {
            var params = {};

            params.sysparm_parent_table = "interaction";
            params.sysparm_parent_sys_id = g_form.getUniqueValue();
            params.sysparm_requested_for = g_form.getValue('opened_for');
            g_service_catalog.openCatalogItem('sc_cat_item', g_form.getValue('u_catalog_item'), params);
        }

    });

 

Now, the problem I've had up until this point, is that the code works perfectly in Agent Workspace, but will not work in my custom Now Experience Workspace. What it does instead is open the actual catalog item like this:

 

find_real_file.png

 

Over time, I learned that Agent Workspace and Now Experience Workspaces, while they look the same, are very different. I assumed this simply won't work in the new Workspaces.

 

...However, I was recently informed there is a new Workspace built for ITSM that utilizes the Now Experience Framework. This is the "Service Operations Workspace"

I decided to install this and see how it handles this situation.

... And guess what It Works!

It opens the catalog item using the Service Portal just like Agent Workspace does! This is both exciting and frustrating. 

 

Analyzing the URIs from both apps they seem to be identical:

/x/g/transportation/record/interaction/1d8787b61b81911444b95247624bcbc1/sub/record/sc_cat_item/c3972e2ef95ea400618c92a0dd8b533c/params/extra-params/parent_table%2Finteraction%2Fparent_sys_id%2F-1%2Fsysparm_parent_table%2Finteraction%2Fsysparm_parent_sys_id%2F1d8787b61b81911444b95247624bcbc1%2Fsysparm_requested_for%2Ff50207aa41616000d09e6ea155db82a0

/now/sow/record/interaction/b6ea873a878d5d9074d2b889cebb35aa/sub/record/sc_cat_item/c3972e2ef95ea400618c92a0dd8b533c/params/extra-params/parent_table%2Finteraction%2Fparent_sys_id%2F-1%2Fsysparm_parent_table%2Finteraction%2Fsysparm_parent_sys_id%2Fb6ea873a878d5d9074d2b889cebb35aa%2Fsysparm_requested_for%2F300549f4db87a3005f2e70131f9619d6

 

...So at this point I am so confused. I have no idea why the above code works in Agent Workspace, works in the Service Operations Workspace, but won't work in my custom workspace. I feel like there is a setting somewhere that needs to be toggled, and I just don't know where it is.

 

Any ideas?

27 REPLIES 27

Thanks Brad,

 

Any word on when requests through Workspaces will be supported for scoped apps?

 

It works perfectly fine in Service Operations Workspace, but not for my own apps.

I don't think we have any plans to expand that functionality at the moment for custom workspaces. If you can't just open a catalog item in a new browser tab and absolutely have to have it, you could create a new custom iframe component like the service operations workspace team did. If this functionality is important to you I would also add an idea to idea portal if you haven't already.

I will go ahead and submit the idea. The issue with the iFrame solution is I have yet to find a way to get it to redirect to the newly created ticket in Agent Workspace.

I would absolutely love to see the Service Operation Workspace's custom solution to this. Is that something I can see in our instance?

Mark Endsley
Tera Guru

Did you find a clearcut solution to this?