Dynamic Reference List Layout Based on a Field
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
Is it technically possible to configure a custom reference view that dynamically changes based on the value of a specific field on the form?
For example, when " = "Value X", we would like the reference list layout to include an additional column (e.g., "Customer Number") next to the Name field, while keeping the default reference list layout unchanged for all other values.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
not possible.
1 table will have only 1 Reference List
For example: you have Caller field on incident and you can't change the columns shown here dynamically based on INC form field values
💡 If my response helped, please mark it as correct ✅ and close the thread 🔒— this helps future readers find the solution faster! 🙏
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hi @Liam Christophe Liam Christophe,
Yeah, I looked into all the possible approaches, and it looks like this requirement can’t be achieved natively in ServiceNow. The reference list layout (columns shown in the lookup) is controlled at the dictionary level, and it doesn’t support conditional views based on another field’s value.
I explored the common suggestions like:
- Using Reference Qualifiers
- Dynamic Filters
- UI Policies / Client Scripts
…but none of these allow changing the columns shown in the reference lookup dynamically. They only control filtering or visibility, not the layout itself.
✔ Alternative ideas that may help:
Here are a few workable approaches depending on your use case:
1. Use two different reference fields (each with its own layout)
Then show/hide them based on your field value.
Not perfect, but the simplest workaround.
2. Add a calculated / display field
If you only need to show one extra value (like Customer Number), you can combine data in the display value or use a decorated reference.
3. Build a custom lookup UI Page
This gives full control over columns and behavior.
More effort, but works if the requirement is critical.
4. Use GlideModal with a custom table view
Trigger a modal popup showing the filtered data with your preferred column layout.
Hope this helps!
If this resolves your issue, please mark the response as Helpful and accept it as the Solution so it can assist others as well.
Thanks & Regards,
Sachin Narayanasamy
