Record page in Custom Configurable Workspace not work
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-16-2025 06:51 AM
Hello,
Need help, I do have requirement to create a new Configruable Workspace for 1 Custom App. I have followed the instruction from this helpful link: https://www.servicenow.com/community/next-experience-blog/workspace-essentials-create-a-custom-confi....
Problem is even I already created the Record page and just followed the default parameter
Moreover, I already configured the chrome_tab and + icon to create record
{
"contextual": [
"record"
],
"newTabMenu": [
{
"label": {
"translatable": true,
"message": "New Incident"
},
"routeInfo":{
"route": "record",
"fields": {
"table": "incident",
"sysId": "-1"
},
"multiInstField": "sysId"
}
}
],
"maxMainTabLimit": 10,
"maxTotalSubTabLimit": 30
}
But when I test, the Tab is working but the + icon to create record doesn't display.
I've already updated UI Builder to latest version of Xanadu 26.2.79 but still not work.
Can anyone help me provide suggestion?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-16-2025 07:03 AM
Thanks for providing the details. You're doing the right things by configuring a Configurable Workspace using UI Builder, but based on your issue (blank record pages and missing "+" icon), there are likely a few common pitfalls causing the behavior.
Here’s a structured approach to fix it:
Issue 1: Record Page Shows Blank
Possible cause:
The record route requires correct required parameters (table and sysId) and a properly configured Record Page Template. If the component doesn't render the record view, it usually means the page is not correctly mapped to the route.
Steps to Fix:
Check Route Mapping
In UI Builder, go to the Page Settings of your Record Page.
Confirm that the route is record and accepts the parameters:
table (string)
sysId (string)
Add Page Template
Make sure your Record Page uses the OOTB Record Page Template (like Workspace Record Template) or is customized to include a Form or Form-Controller component to render the record.
Form Component Configuration
Confirm that your form component is bound to:
table: {{$route.table}}
sysId: {{$route.sysId}}
Page Parameters Check
Go to the "Page Parameters" panel.
Confirm that both table and sysId are present and marked as required.
Issue 2: "+" Icon Not Displaying
Your JSON config for the chrome tab config looks correct in structure, but here's what you should confirm:
Steps to Fix:
Correct Path
Confirm that your JSON is saved in the Chrome Tab Configuration field of the Experience Settings or Workspace Configuration record.
Multi-instance field
Ensure "multiInstField": "sysId" is supported and used correctly. This is important for record tabs to open independently.
"Contextual": ["record"]
If your workspace is using type: configurable, make sure the "contextual" matches the configured route in your navigation menu.
Workspace Header Layout
Make sure your Header component includes the tab menu (the workspace-tabs component).
If it doesn’t, the "+" icon won’t appear.
Optional Debugging Tips:
Open Console (F12) and check for any JavaScript or routing errors when clicking the record or the tab.
Use the Network tab to verify that the route /record?table=incident&sysId=-1 is loading.
Use sn-workspace-config table to inspect the configuration being loaded.
Use Example from Working App
Try cloning a working page like the Incident Record Page from the CSM Workspace or Agent Workspace, then adapt it. These templates are fully functional and can serve as a clean reference.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-16-2025 09:47 AM
Hello,
But when I tried to manually write the URL, it's working fine. It doesn't work when click on the record in the list page.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-16-2025 09:55 AM
Thanks for sharing the screenshot. Based on your description and what’s visible, this issue typically occurs when the list page is not correctly passing the record parameters to the workspace page, but the direct URL works.
Here’s what you should check and adjust:
1. List Component Routing (UI Builder)
If you're using UI Builder in a Workspace (like Corporate Securities Legal Workspace):
Open the list page in UI Builder.
Select the List component (or Data Table or Repeater).
Check the Row Click Action:
It should be configured to navigate to a Record Page using Navigate to Page.
Route parameters should include at minimum:
table: record.table
sysId: record.sys_id
If these are missing or mapped incorrectly, the link will break or not resolve the page properly.
2. Page Route Configuration
Make sure the Record page you’re routing to:
Is using the route like: /record?table=<table>&sysId=<sys_id>
Has table and sysId defined as route parameters in Page Settings
The Record View/Form component on the page should use:
table: {{$route.table}}
sysId: {{$route.sysId}}
3. Workspace Navigation Setup
If you're using the classic navigation list (not UI Builder), go to:
Workspace Experience > Navigation
Ensure the module/page clicked is pointing to the correct record page and passes the required parameters
4. Console Debugging
Try clicking the list item again and:
Open the browser dev tools (F12)
Watch the URL being generated on click
If it’s missing the table or sysId, that’s the issue
5. Quick Test
Manually edit the list item’s row click action to navigate with hardcoded values temporarily. If that works, then the problem is definitely with how the record object is being passed into the page route.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-17-2025 01:54 AM
I finally can fix the "record" page issue. the root cause is my misspelling. the "record" page in workspace, I use "reord" (missing C) instead of "record", so it caused system error.
Now, I will firgured out on the missing + icon tab issue.