How to hide the Tab in record page in workspace.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
Hi All,
I am working on a Configurable Workspace page in UI Builder where I have multiple tabs, including a Playbook tab. My requirement is to show the Playbook tab only for users who have a specific role.
Role:
xyz
Requirement:
- If the logged-in user has the above role, the Playbook tab should be visible.
- If the user does not have the role, the Playbook tab should be hidden.
What I Tried:
- I added a visibility script in the Playbook tab settings in UI Builder.
function evaluateProperty({api}) {
if (api.user.hasRole('xyz')) {
return true;
}
return false;
}- I also tried checking user roles using:
function evaluateProperty({api, helpers}) {
let user_roles = api.context.session.user.roles;
let visibility_condition = user_roles.includes('xyz');
return visibility_condition;
}Issue:
Even after applying the script, the Playbook tab is still visible for users who do not have the role.
Questions:
- Is the tab visibility controlled differently in Configurable Workspace?
- Is there a recommended way to restrict tab visibility by role?
Any suggestions or best practices would be helpful.
Thanks in advance.
Anitha P
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hi @u499207 ,
You did everything correct but in ServiceNow UI Builder if you are working on Visibility,
returning true - refers to hide the component.
returning false - refers to show the component.
So change the small thing in your script,
function evaluateProperty({api, helpers}) {
let user_roles = api.context.session.user.roles;
let visibility_condition = user_roles.includes('xyz');
return !visibility_condition;
} While returning visibility_condition just return !visibility_condition.
If my response helped, mark it as helpful and accept the solution.
