logo

NJP

Service Now Gems on WordPress.com

servicenowgems.com · Dec 10, 2025 · article

Update: apologies but I wrote this article while clearly very tired and it doesn’t read very well! But the general gist of the functionality is there so I won’t update it, but I’ll take better care in future :)

This requirement has come up enough now for me to share my implementation of it on here for others.

So this requirement usually comes from the change management team when delivering change.

Change forms are generally quite long with loads of fields and options to select from, despite doing my utmost to shorten and simplify them!

In the old days of word documents and spreadsheets, an employee could download the change form and over the course of a few days, gather the right information and fill it out and submit it when they’re ready.

In ServiceNow, you generally don’t have that luxury with mandatory fields. You either submit when they’re all populated, or you don’t.

That’s where the ‘Save as draft’ option comes in.

Continue reading

Recently I’ve come across an issue on a couple or so clients where when clicking a record from a list view, a blank page would be displayed.

While debugging, in the network developer tools I noticed that when clicking the link, ServiceNow was returning a HTTP 400 error which is why it was resulting in a blank page.

So what was causing the issue? Continue reading

When using a reference field, you can hover over the reference icon to view the referenced record as a popover. A few people already know, if you don’t want the popup to disappear as soon as you move your mouse, just pressing the shift key will keep it in place allowing you to scroll.

That one’s been doing the round for a while now, but today a colleague showed me another cool thing with the shift key in Fuji.

From a list view, you can hover over the (i) icon on the row to view the full page form. Holding shift before hovering over the icon will actually render the page fully editable, UI actions and all! Saves a click into the record to update it.

Screen Shot 2015-08-11 at 12.55.43

Before query business rules are great! I absolutely love them and use them all the time.

Sometimes though, I do find myself getting into a bit of a twist with the logic in the code.

Before I show you what I do now to overcome it, i’ll quickly explain what a before query business rule is. Put simply, it’s exactly as the name implies. It’s a business rule that runs before querying the database. More specifically, it can add additional query parameters to the search automatically and invisibly to the user.

For example, if a user wants to view all users, they can go to the sys_user table with no query parameters.

The system will essentially do the following code to bring back the results:

var current = new GlideRecord('sys_user');
current.query();

Now, if you want to only allow users to view active users, this is where a before query business rule comes into play. If I gave you the above script and asked you to only return active users, you would amend the code to be:

`var current = new GlideRecord('sys_user'); current.addActiveQuery();

current.query();

`

A before query business rule is no different. You’d create the business rule and add the line current.addActiveQuery() to the body and that’s it (side note, a before query business rule is one where the ‘when’ field is set as before and the ‘query checkbox is ticked’). So essentially, the before query business rule is made to add additional query conditions to the query GlideRecord. The above example can be seen in the business rule called ‘user query’ out of the box on the sys_user table.

Now that’s out of the way, adding a simple parameter like above to a query is simple, but when you have 5/6 different parameters and different conditions for each one, and different values, things gets a little/lot more complicated.

The way I get around that is simple.

Continue reading

The activity formatter on a form is a great part of ServiceNow. As long as it’s added to the form, and the table is audited, you can get a quick glance of the most important updates.

However, my only issue with it (and it’s my issue with all formatters), is that you can’t apply an ACL to it. For some users, I don’t want them to see it at all, but I don’t want to have to create a custom view just to hide it.

What I did therefore was found a way to apply ACLs to the formatter. This little trick can be used on all formatters.

Continue reading

Update: This has now been added OOB to Geneva to the elevate privilege dialog, but not for the impersonate dialog

When building security rules, I find myself impersonating back and forward constantly between numerous users trying to test what a user can see or do.

What gets to me is that every time I impersonate, it throws me to the homepage and then I had to navigate again to the correct location I was testing.

You could of course open multiple windows and impersonate in the other one, but things eventually get confusing.

Instead, what I added was the ability to stay on your current page by adding a new checkbox to the impersonation page:

Screen Shot 2015-07-27 at 15.39.29

Continue reading

Took the leap and paid the £20 for my own domain – http://servicenowgems.com is now active! Yay :)

View original source

https://web.archive.org/web/20160313121730/http://servicenowgems.com/