Hide Tab not working when Playbook component uses Parent Record
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
6 hours ago
Hi everyone,
I’m facing an issue with the Record Playbook component in UI Builder and would appreciate any suggestions.
Scenario:
My Record Page is built on the Task table.
Initially, the Playbook was associated directly with the Task, and the Hide Tab condition worked correctly. The Playbook tab was shown only when a playbook was available for the task.
We have now changed the Playbook to be associated with the Parent Case ( Case) instead of the task.
What I changed:
The Record Playbook component is configured with:
Parent Table =l Case
Parent Sys ID = record.form.fields.parent_case.value
I created a data resource (record_has_playbook) that checks whether the parent case has a playbook.
The data resource returns the correct output (true/false).
Issue:
If I bind the Playbook component visibility to the data resource, it behaves correctly.
However, when I use the same data resource for Tab Settings → Hide Tab, the tab never becomes visible.
UI Builder - Hide Tab not working when Playbook component uses Parent Record
Settings → Hide Tab, the tab never becomes visible.
TIA
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
51m ago
Hey @Yathvika,
Switch off the client-side data resource for the Hide Tab option under Tab Settings and use a server-side UX Screen Condition instead, that's how ServiceNow's own Record Playbook tab pattern is documented. Component Visible bindings re-evaluate reactively once the data resource resolves, but Hide Tab gets evaluated earlier in the tab-render cycle, before a chained data resource depending on record.form.fields.parent_case.value has actually populated, so it just stays hidden. Add a condition under UX Screen Conditions on the app route that resolves the parent Case record server-side and calls sn_playbook.PlaybookExperience.parentRecordContainsPlaybook() against it, that's the supported approach for parent-linked playbooks.
Thank you,
Vikram Karety
Octigo Solutions INC