What is the best way to identify a script as being out-of-box (OOB)?

eurban
Kilo Expert

I am looking for a good way to easily and definitively determine that a script (and any other type of object for that matter) is OOB or not.

In working with ServiceNow, I feel that I don't have a great way to say for all cases whether something is OOB or if it has been added by one of our many past or current admins at some point as a customization.   There are a lot of situations where a script is either obviously an OOB one or was added later, like where the name in the Created by field is one of our admins, but using the Created by field isn't always as straightforward as I would like.   This is mainly because we have had quite a few different admins over the years and because some OOB scripts have Created by names of ServiceNow developers that I don't recognize.

We have had ServiceNow for several years at our company and like many organizations we have gone through many upgrades and our instance has been heavily customized.

Here are some notes on things that I have done to help me determine whether something is OOB or not:

  • Comparing our instance to a personal developer instance for differences and also to look for scripts that exist there.   This can be tricky in some cases to use as a single source of truth because I imagine it is the case that ServiceNow has removed OOB features over the years and replaced them with new features.   It is then possible that something we have is OOB but just not included in the current version of the personal developer instance.
  • When looking at the object's Versions list, if there is an history entry that has been updated as the result of a version upgrade then I feel confident in saying the script is OOB.
  • If the script has no version history present, I believe it can be considered OOB.   However I have heard that versioning was not present in early releases of ServiceNow so this may not be valid if a custom script would have been added before versioning was added.
  • If the Created by value is admin then I consider it to be OOB.   If   the Created by value is one of our current admins, I know it is not OOB.

When looking at a script with one or more change in the Versions list, I don't know for sure how to know if it is OOB if there isn't a clearly recognizable admin in the Created by field or is missing a history entry from an update during an upgrade.   I believe this to be a problem because as far as I know there isn't a way to compare a version to the base version of an object.   If there is that would help me to sort this specific scenario out since the custom scripts wouldn't have this option.

4 REPLIES 4

larstange
Mega Sage

This tool will be able to help you once it is made available again



Baseline tool


That looks great, thanks for the recommendation!   I will have to keep an eye on that page so that I can check it out once it is available again.   The tool description makes it seem like it will be very helpful but I can't say for sure without using it.


Jim Coyne
Kilo Patron

As larstange mentioned, the Baseline tool might help you out there for upgrades (I quickly read about it, but have not tried it out yet), but for more of the day-to-day development, it is kinda hit and miss, unfortunately.   You've pretty much mentioned all the different methods that I use as well to figure out if the record is OOB or not.   I usually start with the Version list and then the Created/Updated by fields (you end up getting used to some of the names).



It would be nice if there was a True/False field on the configuration tables that we could easily tell if the script was from SN or not and then another to see if it was modified within our instance.


Goran WitchDoc
ServiceNow Employee
ServiceNow Employee

I usually go first for the "created by". If that doesn't help, take a look at the created_at and see if it's a date before your company got ServiceNow. Otherwise go look at the version list(might need to add it as a related list) and see if the thing has been updated through patches or not.



//Göran