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.

Chrome tab availability for specific role user in service operations workspace

axtsxna
Tera Contributor

Hi, I am working on Service Operations Workspace and want this chrome tab ("New Change Request") to be available for just a specific role user and not itil. How can I achieve this with ACL's ?

 

axtsxna_0-1708666561421.png

 

2 ACCEPTED SOLUTIONS

Tai Vu
Kilo Patron
Kilo Patron

Hi @axtsxna 

That tab is managed through UX Page Property named chrome_tab.

At the condition > tableDescription > canCreate, this is only visible if the user can create a record on that table.

So you can change the ACL Create in the table to control the visibility of the item accordingly.

{
    "label": {
        "translatable": true,
        "message": "New Change Request"
    },
    "routeInfo": {
        "route": "create-change-request-page",
        "fields": {},
        "multiInstField": ""
    },
    "condition": {
        "tableDescription": {
            "table": "change_request",
            "canCreate": true
        }
    }
}

 

In the other hand, if you wouldn't like to change the ACL, you can modify the property by adding new attribute roles into the condition to apply specific for workspace.

Sample

 

{
    "label": {
        "translatable": true,
        "message": "New Change Request"
    },
    "routeInfo": {
        "route": "create-change-request-page",
        "fields": {},
        "multiInstField": ""
    },
    "condition": {
        "tableDescription": {
            "table": "change_request",
            "canCreate": true
        },
        "roles": ["admin"]
    }
}

 

Cheers,

Tai Vu

 

View solution in original post

Hi @axtsxna 

The M2M Applicability could be the thing you're looking for. Try to check the List Applicabilities [sys_ux_applicability_m2m_list] table and see whether those lists have been associated to an Applicability that contains your custom role. 

 

Let's have a look to the nice post below for details how to config List Applicability.

Ref: Configuring Lists in Configurable Workspace

 

Cheers,

Tai Vu

View solution in original post

16 REPLIES 16

Tai Vu
Kilo Patron
Kilo Patron

Hi @axtsxna 

That tab is managed through UX Page Property named chrome_tab.

At the condition > tableDescription > canCreate, this is only visible if the user can create a record on that table.

So you can change the ACL Create in the table to control the visibility of the item accordingly.

{
    "label": {
        "translatable": true,
        "message": "New Change Request"
    },
    "routeInfo": {
        "route": "create-change-request-page",
        "fields": {},
        "multiInstField": ""
    },
    "condition": {
        "tableDescription": {
            "table": "change_request",
            "canCreate": true
        }
    }
}

 

In the other hand, if you wouldn't like to change the ACL, you can modify the property by adding new attribute roles into the condition to apply specific for workspace.

Sample

 

{
    "label": {
        "translatable": true,
        "message": "New Change Request"
    },
    "routeInfo": {
        "route": "create-change-request-page",
        "fields": {},
        "multiInstField": ""
    },
    "condition": {
        "tableDescription": {
            "table": "change_request",
            "canCreate": true
        },
        "roles": ["admin"]
    }
}

 

Cheers,

Tai Vu

 

RishiG
Tera Contributor

@Tai Vu is there  a way to restrict on the basis of specific groups as well? i have tried roles it looks good but need to restict the respective label on the basis of logged-in user group i.e., the user should not be a part of xyz group. 

Did you ever get an answer on this specific point?  We have a similar use case

Hi @Tai Vu,

It works perfectly fine if we want to restrict it for one role. How can we restrict these tabs for more than one role? I tried with "roles": ["admin1","admin2"]. But this is not working. Can you please help?