Switch an incident from classical UI to Service Operations Workspace in one click

Service Operations Workspace provides much simpler and intuitive view than the classical UI.

as way to encourage users to adopt  Service Operations Workspace in their day to day operation, you can create a simple UI action that can take ITIL users from the classical UI to the Service Operations Workspace with a single click. 

here is how you can do it

  • Navigate to System Definition >> UI Action 
  • Click ‘New’ to create new UI Action
  • Set up the UI Action as per screenshot below

Add script below to the Script field

function openSOWorkspace() {

	g_navigation.openPopup("/now/sow/record/"+ g_form.getTableName() +"/" + g_form.getUniqueValue());

You can download the UI Action from ServiceNow Share


How to create a scripted indicator?

As part of the GRC implementation, organization ABC implements a bunch of control. All of them obviously need to be continuously monitored. The team uses indicators to constantly monitor all of the ABC controls.

During implementation, the GRC team noticed that it is challenging to use the basic indicator type to monitor all control, especially control 123.

So what is the deal with control 123?

Continue reading →

Clean Implementation

We can learn so many things from software development and architecture principles. In software development, writing clean code is crucial; if you are a software developer, you would 100% appreciate the importance of clean code.

You might argue that the word ‘clean’ is a bit arbitrary here and what makes a code clean? Another thing you might say is that ServiceNow is a kind of low-code or no-code platform, so how is this applicable?
Let us look at the tenets of clean code and see how we can apply this to our ServiceNow implementation.

Tenets of Clean Implementation
Continue reading →

Understanding and using inheritance in Script include

A few days ago I saw a question on the ServiceNow community about how inheritance works in a script include so I thought to write a short article about that.

In Script include we can write a function or we can create a class. In JavaScript, class is an object, an object can access properties and functions from another object, this we call Inheritance

Inheritance is a great way to create a parent/child hierarchy of classes. A good use case for inheritance is when you wish to indicate that one object is mostly similar to another, but with some variations.

Continue reading →

How to generate Assessment using AssessmentCreation API?

In some scenarios, we want to be able to generate on-demand assessments, that can be Service Portal or UI Action or Business rule

ServiceNow AssessmentCreation API provides a way to generate assessments via script. In the article, I am using createAssessments method to generate assessments via Service Portal Widget

first here is a quick explanation of the method parameter

AssessmentCreation.createAssessments (String typeID, // Assessment Metric Type Sys ID
 String sourceRecordID, // Assessable Record which will be the source of assessment
String userID // users ID to which to send assessment instances to
Continue reading →

Two HRSD Features that I am happy to see them go in Rome

Bulk Case creation scheduled job was completely disabled in Rome and has been replaced by Create bulk HR cases script action which is triggered by sn_hr_core.process_bulk_case_request event. The script runs asynchronously and you don’t have to worry about setting up the right time for the job

Employee Relation COE (sn_hr_core_case_relations) is no longer available, instead new customers are going to use sn_hr_er_case table which is sets in Human Resources Scoped App: Employee Relations [com.sn_hr_employee_relations] not in Human Resources: Core App. New Employee Relation provides a data model that supports tighter security and saves tons of work that usually spends on customization ACL or data segregations