Platform Analytics Calendar Event Background Color
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-05-2025 09:11 AM
I have built a Calendar report on the change_request table in a PDI, as an example. I SIMPLY want to color the events on the calendar report based on the State of the Change Request.
Is this not simple enough? Is it too simple? What?
This has been an annoyance since I started working with ServiceNow (Jakarta) and I absolutely can NOT believe this has not been addressed in all that time. What gives? Why can I not easily set background color on various items from the SAME table, based on a field on that table? Really, why? Why is this still a problem? Are you kidding me? Come on!!!!
Does anyone have a real answer for this? Really?
Month
Weekly
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago
Did you find out how to update this? I'm looking for the same thing. thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago
Out-of-the-box, Calendar reports in ServiceNow do NOT support conditional coloring based on field values (like State) from the same table.
What does work (your real options):
Option 1 — Use “Group by”
- You can "Group by state" and assign colors per group
- Obs.: This only works if each event belongs cleanly to one group. You lose flexibility (e.g., multiple conditions, advanced logic)
Option 2 — Use UI Builder + Calendar component
- If you're on newer versions (e.g., Utah+), this is the right way:
- Use UI Builder
- Add a Calendar component
- Bind it to change_request
- Use data transformation / client script
- Apply color dynamically based on state
- This gives you full control over event styling, and conditional logic (if state == X → color Y)
Option 3 — Service Portal widget
- Build a custom widget using:
- AngularJS
- FullCalendar library
- This is what many teams historically did to bypass this exact limitation.
