Questions shared by ServiceNow professionals who've been through the interview process. Browse, expand answers, and contribute your own.
246Questions
300Answers
246 questions
Client Scripts 28
Satyapriya Biswal 05 Apr 2023
Why we don't use initialize function in scriptinclude while calling it from a client script using GlideAjax
Prashant 06 Apr 2023
Hi SatyaPriya,
The primary use of initialize function in script include is to set default values to variables which can later be used anywhere in script include. We don't need this in client callable script include as the data which we need is normally sent via client script while using GlideAjax.
Note :ServiceNow automatically removes initialize function whenever we check client callable checkbox in script include.
1 helpful
Prasad Dhumal 14 Oct 2023
When a Client Callable Script Include is created the prototype extends from the "AbstractAjaxProcessor" Class and "initialize: function() {}" will not be added since it is already in the AbstractAjaxProcessor.prototype.
If we add "initialize: function() {}" into the Client Callable Script Include manually, the GlideAjax call won't work since it overrides the initialize function in the AbstractAjaxProcessor.prototype and request, responseXML, gc objects used in the Ajax call are not available
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sahitya 08 Jun 2023
I was asked what is difference between Client scripts and Catalog Client Scripts.. can anyone please post the answer for it
Martin 09 Jun 2023
Hi Sahitya,
As such there is no difference technically. However, Catalog client scripts are written for catalog items or variables sets and Client Scripts are written for backend tables e.g. incident, problem etc.
0 helpful
Surendra 13 Jul 2023
As Such there is no difference technically.
Client script have 4 types
Onload
OnChange
OnSubmit
Oncelledit
Catalog client script have 3 types
Onload
Onchange
Onsubmit
0 helpful
Satyapriya Biswal 13 Jul 2023
Catalog client scripts stored in catalog_script_client table and Client scripts stored in sys_script_client table.
In catalog client script we have the option to apply the client script to the catalog item view, RITM view , Task view and also Target record view But in Client script we does not have that options.
In Client script we can apply the script to a specific view by checking the Global checkbox But in catalog Client script there is no Global check box because Catalog client script applies on a specific catalog item or a variable set
3 helpful
Anonymous 01 Aug 2023
in catalog client script their is no cell edit type client script we have only 3 types i.e onload, on submitte, on change that is major diffrence in that
1 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Manasa 29 Jun 2023
What are the features you like and don't like in client scripts? What do you think would make it even better if X were given in a certain way?
24 Sep 2025
Client scripts are powerful for UX and quick validation, but they become risky when logic is duplicated, when DOM hacks are used, or when ordering between UI Policies and scripts is unclear. Improvements around single-source validation, better list APIs, and built-in debugging would make them far safer and more maintainable
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Manasa 29 Jun 2023
If we are making the field read only with client script , can ITIL user can edit from list view ?
Rakhi 11 Jul 2023
Yes, they can. We generally make fields read only via onLoad/onChage client script and it works only for form view not for list view.
2 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Madhuri 29 Jun 2023
How do you debug client scripts in ServiceNow? Can you explain the techniques or tools you would use?
Tirupati 03 Aug 2023
We can debug Client script by keeping alerts
var cat = g_form.getValue('catgory');
alert(cat);
.....
.....
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Madhuri 29 Jun 2023
What is the difference between synchronous and asynchronous client scripts? When would you use each type?
Kevin 11 Jul 2023
There is not exact concept called Synchronous/Asynchronous client script.
However, if you use GlideAjax (which makes async call) in client script to get data then you can say it is Asynchronous client script. And client scripts that do not use GlideAjax, you could say those are synchronous.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Madhuri 29 Jun 2023
Can you describe a scenario where you used a client script to enhance the user experience in ServiceNow? What was the problem you were trying to solve, and how did the client script address it?
0 Helpfuls
*Name is mandatory*Please enter a reply
Madhuri 29 Jun 2023
tell me some limitations and considerations when using client scripts in ServiceNow.
Uday 17 Jan 2024
We can use DOM manipulation.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Anittha 06 Jul 2023
I was asked questions when you will decide to use UI policy and data policy
I told Ui policy will be used to make changes in client side form and data policy in server side.
Interviewer expecting more from me.
can anyone answer this Please.
Ram 09 Jul 2023
Hi Anittha,
You are right, Ui Policy is client side and Data Policy is server side validation. But better and clear answer would be. If we would like to apply the validations for the data that is entered by user manually on forms then we will use UI Policy. On the other hand, if we would like to apply validations for the data which is coming via Integration (or not entered manually by end users) then we will use Data Policy.
0 helpful
Hrdk 27 Jan 2025
Imo, the interviewer was expecting this:
UI Policy is applied on the data entered via browser, while Data Policy can be applied on all the data entered into the system be it integrations, data source etc
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ranjit 07 Aug 2023
Whether the g_scarthpad can be used on all the types of client script?
Naveen 19 Aug 2023
g_scratchpad is used only in Onload Client scripts to get the data from Display business rule.
1 helpful
Roshan 24 Aug 2023
In most of the use cases, we access it in onLoad client script. However g_scratchpad object can be accessed in all type of client scripts. In fact it can be accessed in UI policy script also.
Here is very important use case where it can be used in on submit client script, if we want to validate something on submit of the form but data is not available on client side.
Normally we use GlideAjax to get server side data but GlideAjax fails in onSubmit client script (GlideAjax is asynchronous call therefore form gets submitted before GlideAjax returns result). Therefore we can store result in g_scratchpad object in onChange client script and based on value we can restrict form submission in on submit client script.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Balaji 25 Aug 2023
When we will use client script and script include with glide Ajax.Please can you explane with one use case
Atul 26 Sep 2023
Whenever you need data in client script which is not available on the form then you will need to get it from server database. And to do so we can use GlideAjax. OR if you need to perform any operation/validation which requires server side script then we need to use GlideAjax.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Saidulu Yadav 25 Aug 2023
what is main difference between UI Policy and Client Scripts.
William 06 Oct 2023
- We can execute client script on submit or on cell edit (list field update) but we cannot execute UI policy on submit or on cell edit.
- We can execute client script for specific view but we cannot do the same via UI Policy.
- UI Policies are faster as compare to Client scripts, therefore ServiceNow recommends to use UI Policies wherever possible.
0 helpful
Arpan 16 Oct 2023
UI Policies can be run for a specific view if you uncheck the Global field and then enter the view name you need.
1 helpful
Surendra 23 Oct 2023
Hi William
We can execute client script or UI policy for the specific view as well.
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Rohit 20 Sep 2023
The interviewer asked if we need Email in the email field when user field is filled it automatically populated in the INC form. So, I said we can achieve by the client script we use getrefrence field (Sys_ID) he needs more info so please answer it
Laxmi 26 Oct 2023
Ypu can use below script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
//if(newValue != ''){
var caller = g_form.getReference('caller_id');
g_form.setValue('u_email', caller.email);
//}
}
0 helpful
Pratiksha Langde 27 Oct 2023
getReference is not the best practice to get data from server side to client side. we should be using GlideAjax to fetch data from server side to client side.
if you want to use getReference then you can use this code using on change client script :
unction onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
//Type appropriate comment here, and begin script below
var user = g_form.getreference('requested_for', function(user) {// map the correct field
g_form.setValue('u_email', user.email.toString());// map the correct field
});
}
if you want to auto-populate the email id based on logged-in user the please line in the default value of the email id field :
javascript: gs.getuser().getRecord().getValue('email);
Using GlideAjax :
Create a new client callable script include with following function
var UserDetails = Class.create();
UserDetails.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
getUserInfo: function() {
var details = {};
var userId = this.getParameter('sysparm_user_id');
var userObj = new GlideRecord('sys_user');
userObj.addQuery('sys_id', userId);
userObj.query();
if (userObj.next()) {
details.email= userObj.email_id.toString();
}
return JSON.stringify(details);
},
type: 'UserDetails'
});
Create a new catalog client script on the record producer/request form
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ajax = new GlideAjax('UserDetails');
ajax.addParam('sysparm_name', 'getUserInfo');
ajax.addParam('sysparm_user_id', g_form.getValue('employee_name')); // change variable name here
ajax.getXML(doSomething);
function doSomething(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
var answers = JSON.parse(answer);
g_form.setValue('var_email_id', answers.email.toString()); // change variable name here
}
}
2 helpful
Rohit 16 Nov 2023
Do we need an additional field of 'Email' to auto-populate the email address of user?
0 helpful
Tanya 28 Nov 2023
no
0 helpful
Soumaya 28 Nov 2023
If you would like to show email address of user on incident form then we can dot walk to user reference field and bring email field on task form. This way, we don't need to write any script to populate email address when user is changed.
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Supritha 16 Nov 2023
Explain one of the UI policy that you have created? Why used UI policy, why not Client script or ACL(if you are making field read only)? Was there any other way to achieve the same requirement?
My thoughts on the above question would be: If we want to perform different operation a single filed using a UI Policy it would be difficult, as UI policies do not allow more than one operation on a specific field. Say there is a scenario where if certain conditions are met, then I make the field mandatory or visible, and when they do not match I would make it non mandatory or hide using reverse if False. Now say I have another situation which is not exactly same as per my conditions on the UI policy also not completely contraditing and I would only want to make the field mandatory and no actions for visibility, I will not be able to achieve this via UI policy and would need to use a client script, since UI policies will not permit multiple conditions to run on the same field.
There are no actions that can be achieved via UI Policy and not via client scripts, but we ight have to make our selections based on the requirement. UI policy are no code to low code client executions which reduces load time and easy to use, but if we have a dependency on the previous object value or involves more logic we will have to go with client scripts.
The only case I can think of the reason where we cannot use an ACL and need to use a UI policy or client script is when we are applying restrictions on catalog forms.
Prajakta 22 Jun 2024
Sure, I can explain a UI policy I've created and discuss why UI policy was chosen over other methods like Client script or ACL.
Example UI Policy: Making a Field Read-Only Based on User Role
Requirement: In a ServiceNow application, users with the role 'IT Support' should not be able to edit the 'Assigned To' field on an incident record once it has been assigned.
Implementation using UI Policy:
UI Policy Definition:
Create a UI policy named "Read-only Assigned To for IT Support".
Condition: When the user has the 'IT Support' role AND the incident state is not 'New'.
Action: Set the 'Read-only' property of the 'Assigned To' field to true.
Why Use UI Policy:
Simplicity: UI policies are easy to configure through the ServiceNow UI without needing scripting knowledge.
User-Friendly: Changes made by UI policies are immediate and visible to users as they interact with forms.
Performance: UI policies execute on the client side, reducing server load compared to ACLs which execute server-side.
Why Not Client Script or ACL in This Case:
Client Script: While client scripts could achieve the same functionality by setting field properties, UI policies are simpler for this straightforward requirement.
ACL (Access Control List): ACLs are generally used for security and data access rules rather than field-level behaviors like making fields read-only based on conditions.
Alternative Approach:
Client Script: If additional logic were needed beyond field properties (e.g., showing a message or performing calculations), a client script might be more appropriate.
ACL: If the requirement involved restricting access to certain records based on roles, ACLs would be essential. However, for making fields read-only conditionally, UI policies are often the best fit due to their simplicity and direct applicability.
In conclusion, UI policies were chosen in this scenario for their simplicity and direct capability to make fields read-only based on user role and record state conditions. While client scripts and ACLs have their uses, UI policies provided the most straightforward solution for this particular field behavior requirement in ServiceNow.
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Devarsh 12 Feb 2024
What will happen if we use GlideRecord in client script?
Anshika 24 Apr 2024
It works fine. However, Client-side GlideRecord is massively inefficient, far too slow, and returns way too much unnecessary data.
0 helpful
Radha 31 Oct 2024
Yes, it works fine. However, it acts as synchronous call which blocks session until required data is received from server. It is considered as bad user experience so it is always better to use Asynchronous call in client script e.g. GlideAjax, getReference method with callback function etc.
We can also use GlideRecord with callback function but this is method is underrated and rarely used.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Saini 28 Feb 2024
Complex example of client script, or the most complex client script you wrote, this interview question is asked in almost all the interviews?
Sm 27 Apr 2024
Can anyone share a sample answer for this
0 helpful
Varun 28 May 2024
There is no specific answer to this. However, client script with single/multiple GlideAjax call could be considered as complex one as it requires both server side and client side scripting. So, if you have written any such client script then you can mention it.
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Ajit Kondekar 17 Apr 2024
can we use script include during onLoad client script?
Jim 04 May 2024
Yes, you can call script include in onLoad client script by using GlideAjax.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
What is eval function in client script
Juber Shah 24 Nov 2025
The eval() function evaluates JavaScript code represented as a string and returns its completion value. The source is parsed as a script.
example:
1. console.log(eval("2 2"));
// Expected output: 4
2. console.log(eval("1 1") == (1 1))
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Pragya 15 Jun 2024
Print user's manager's manager name and email address using client script and script include.
0 Helpfuls
*Name is mandatory*Please enter a reply
Priyanka 31 Jul 2024
Why g_form object will not work in onCellEdit Client Script?
Omkar Mane 03 Aug 2024
The g_form object doesn't work in onCellEdit client script because onCellEdit is used for list views, not forms. g_form is specific to form contexts. In onCellEdit use object like g_list to interact with the list.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Vishal 02 Aug 2024
How to pass data from Client Script to HTML?
How to pass data from the Server Script to the Client Script?
Praveen 20 Dec 2024
for html {data.varariable_name}
for client var result = $scope.data.variable_name;
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Neetha 18 Aug 2024
Can someone please the examples of client scripts. Like real time requirements where client scripts are created
Juber Shah 25 Nov 2025
here is the scenario:
onLoad:
When a user opens the Incident form, auto-fill:
Caller = logged-in user
Location = user’s department location
Assignment group = user’s default support group
onChange:
When the user changes Impact or Urgency, you want to:
Recalculate Priority dynamically
Show a warning for high-priority incidents
OnSubmit:
If user tries to submit an incident without description, stop submission.
OnCellEdit:
When editing the Incident list:
If someone changes the State to Closed, automatically set Close notes
If someone changes Assignment Group, auto update Assigned to = empty
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Aparna Bhute 06 Jan 2025
Can you call script include in onsubmit client script with help of glide ajax method
Yashwanth 30 Jan 2025
You can, but it consists of an async function, so you can't prevent the form submission based on that async function. It's functioning is unpredictable; sometimes it completes its execution before form submission, but sometimes it doesn't. So it's better to use it onLoad.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
S 07 Apr 2025
Can we call a client callable script include on both server side and client side? if yes how will pass same parameter?
Tanmay 17 Dec 2025
Yes a Client-Callable Script Include can be used from both server side and client side.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Gvk 05 Aug 2025
Fetching a record's sys_id in a client script :
To obtain the sys_id of the current record from a client script in ServiceNow, the g_form.getUniqueValue() method is used.
function onLoad() {
// Get the sys_id of the current record
var currentRecordSysId = g_form.getUniqueValue();
// Display the sys_id (e.g., in an alert or console)
alert("The sys_id of the current record is: " currentRecordSysId);
console.log("The sys_id of the current record is: " currentRecordSysId);
}
0 Helpfuls
*Name is mandatory*Please enter a reply
Harsh Chaudhary 10 Aug 2025
If a field is made 'read only' by the UI policy and same field is made "mendatory" by client script, what effecet should be seen on the UI?
0 Helpfuls
*Name is mandatory*Please enter a reply
Gvk 23 Aug 2025
Q : Why we use Null in gsftSubmit()
In the context of ServiceNow's gsftSubmit() function, using null for the first parameter typically indicates that the notification or confirmation message generated by the UI Action should appear in the global notification container at the top of the page, rather than being attached to a specific HTML element on the form. It's a common and recommended practice for most scenarios, providing a general notification area for the user.
Understanding gsftSubmit()
gsftSubmit() is used in UI Actions that have both client-side and server-side scripts. It allows you to execute the client-side script first for validation or other client-side logic, and then trigger the server-side code of the same UI Action.
The gsftSubmit() Syntax
The typical syntax is: gsftSubmit(null, g_form.getFormElement(), "action_name").
0 Helpfuls
*Name is mandatory*Please enter a reply
Gvk 26 Oct 2025
ServiceNow Screening Questions
1. What is the difference between a UI Policy and a Data Policy?
Data policies are similar to UI policies. The Data Policy and UI policy both implement data regularity by putting the filed attributes on the basis of certain conditions.
However, UI policies only apply to data entered on a form through the standard browser. On the other hand Data Policies can apply rules to all data entered into the system, including data brought in through import sets, web services.
Data Policies execute on the server and UI policies executes on client side.
2. What is a GlideAjax?
The GlideAjax class is used by client-side scripts to send data to and receive data from the ServiceNow server. The client-side script passes parameters to the Script Include. The Script Include returns data as XML or a JSON object.
3.How can you execute a script include from the client side?
The GlideAjax object is used to call the Script Include and pass in parameters. To call Script Include at client side we have to make sure that client callable checkbox in Script Include is checked and Script Include class is extending class ‘AbstractAjaxProcessor’.
4.What is g_scratchpad and how is it used?
g_scratchpad is a method for passing information from the server to the client in ServiceNow. It's sent when a form is requested and is available to all client-side scripting methods.
Here are some ways to use g_scratchpad:
Display business rules
g_scratchpad object is available in display business rule
g_scratchpad.managerName = current.caller_id.manager.getDisplayValue();
5.What is the coalesce field on Transform Map field maps and what is it used for?
When apply on filed coalesce = true then that field act as a unique . it won’t accept duplicates
6.Record Producer vs Catalog Item?
7.What role(s) are required to create and update Access Control Lists (ACLs)?
8.What is a Script Action?
9.What is a dictionary override?
10.How many ServiceNow instances can be configured to a single MID Server service?
11.Can you build a custom web service API in ServiceNow? Is Yes, how?
Scripted REST API
Flow Designer
1.What is the difference between a flow and a subflow?
Flows are executed when trigger conditions are met, while subflows are executed programmatically and do not have trigger conditions.
2.What is the use of a flow variable?
They can be used to store data that is entered by the user, or data that is generated by the flow. As well as, they can be used to pass data between steps in a flow. Similar to scratchpad variables in workflows, ServiceNow has provided functionality to use Flow Variables.
3.Difference between flow variables and outputs
Service Portal/ESC
1.Why are page route maps used in the Service Portal?
2.What is the difference between a page and a widget in the Service Portal?
Widgets are reusable components . it displays the information
Widgets are reusable components that make up the functionality of a portal page.
3.What are the components of a widget in the Service Portal?
HTML template , Client controller, Server script:
Scripting Questions
1.Can a business rule, update fields (set values) without scripting?
Usually we write script for several actions like before/after insert/update, query business rule, display BR etc.
But as per your question – in Action Tab we can set field values and abort record insertion/ update action, add messages
2.How can you trigger an event from script?
We can use gs.eventQueue method to trigger notification via business rule.
Syntax : gs.eventQueue('event_name',current,'param1','param2');
3.What is the difference between .next() and .hasNext()?
hasNext() either returns true or false while next() will actually iterate to the record.
4.Can we use current.update() in a client script? Why or why not?
5.What would be the difference between a validation performed by a business rule versus validations performed by client scripts?
6.What are some drawbacks to using Data Policies instead of UI Policies for required fields?
7.If I wanted to update fields on a table using a script, but preserve the last updated person’s name on the record, how can that be done?
8.How can you cancel a form submission with a client script? Please, find Interview questions on,
• Types of business rules and Client script?
• How can we know which version you are using?
• Difference between Synchronous, asynchronous Glide ajax?
• What is the use of display business rule?
• How to define fields of incident table from business rules?
• Tell me Business Rule predefined Parameters?
• Difference between after business rule and asynchronous business rule?
• Difference between catalog items and order guide?
• Which one will execute first Client Script or UI policies?
• Give any practical example of Workflow you have implemented in your organization?
• How many ways we can trigger the notifications?
• What is the Syntax to call to email notifications in business rules?
• How to get current date and time in client script?
Sharique 03 Nov 2025
Thanks for the extensive question list.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Business Rules 17
Anoynymous 17 Apr 2023
What if we have before query BR which is filtering data to show only active incidents. what will happen if we use the fix script on the incident(via glideRecord) will it show all the records in the present in the incident table if no addQuery is used?
Anubhav 17 Apr 2023
If before query BR is adding filter to show only active incidents and if we try to GlideRecord on incident table then it will return only active incidents.
Before query BR executes every time action is performed on database, it doesn't matter if database action is performed via UI or via script.
3 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Supritha 15 Nov 2023
What is GlideRecordSecure? What is the difference between GlideRecord and GlideRecordSecure:
Answer: GlideRecordSecure is a version of GlideRecord that provides an additional layer of security. GlideRecordSecure is designed to prevent unauthorized access to data. GlideRecordSecure enforces access controls and ensures that the user has permission to access the records they are querying. Developers can then use GlideRecordSecure in the same way as GlideRecord to query and manipulate ServiceNow records.
GlideRecord queries and manipulates data in the same way as GlideRecordSecure, but GlideRecordSecure provides additional features for securing sensitive data. This ensures that sensitive data cannot be intercepted by unauthorized users as it enforces access controls. Another difference between the two is performance, Because GlideRecordSecure enforces access controls, it may take longer to execute queries than GlideRecord.
4 Helpfuls
*Name is mandatory*Please enter a reply
Mounika 16 Nov 2023
how to call an event through business rule?
Anonymous 17 Nov 2023
gs.eventQueue('event name',current,parm1,parm2);
2 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Charan 06 Dec 2023
I want to know abt gliderecord, glideajax, glideaggregate and script include.
0 Helpfuls
*Name is mandatory*Please enter a reply
Ajay 07 Dec 2023
Sample gliderecord syntax to get the P1 incidents
Astik 09 Dec 2023
var grP1 = new GlideRecord('incident');
grP1.addQuery('priority',1);
grP1.query();
while(grP1.next()){
gs.print(grP1.number);
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ram 29 Jan 2024
how to call script include in business rules?
Kushal Tm 02 Feb 2024
for example, write below code in your BR.
var scrptInc=new yourScriptIncludeName();
scrptInc.functionNameOfYourScriptInclude();
1 helpful
Gvk 08 Sep 2025
method 2 : new scriptIncludeName().myFunction();
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Anonymous 30 Jan 2024
what is glideRecord secure?
0 Helpfuls
*Name is mandatory*Please enter a reply
Lakshmi 20 Mar 2024
What is order of running the rules like which rule runs first business rules ,second Ui policy and so on
Pradeep 03 Apr 2024
This is my understanding, Query BR -> Display BR -> On Load CS -> On Load UI Policy -> On Change CS -> UI Policy -> Before BR -> After BR -> Asycnh BR
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Ajit Kondekar 17 Apr 2024
while transforming the data from excel sheet to target table the business rule which has written on target table is that will run or not ?
Cherry 27 Jul 2024
When 'Run Business Rules' checkbox on a table transform map is set to 'true',
Then BR's on target table will run on each record insert/update
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
How to call business rules from scheduled job
Anil 07 Jul 2024
you can write BR name in job context , use below syntax
JOB CONTEXT: fcScriptName=Business_rule_name
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Harika 21 Dec 2024
Sir, I am confused about when to use before, after, async business rule? I know what they are and how they work but it seems like what can be done with before can also be done with after, so what's the point of them and
next question is if in async business rule there is no current and previous then how we can access the current record while using async business rule?
and where should we use trycatch
Sudden_handle 27 Dec 2025
I had the same confusion when I first started learning Business Rules. The difference between Before, After, and Async becomes clearer when you think in terms of when the record is saved and what you are trying to update. I’ll explain this using simple scenarios so you can analyze and decide which type fits your use case.
Before Business Rule
A Before BR runs just before the record is written to the database. At this stage, the record is already prepared for saving, so you should not use current.update() here.
Use a Before BR when you want to:
Modify fields on the same record
Inject or adjust values right before the save happens
Examples:
Automatically populate the Closed by field when the state is set to Closed, without requiring the user to fill it manually.
(Example) If Priority = Critical, automatically update Urgency.
In these cases, you’re simply setting additional field values on the current record that’s about to be saved.
After Business Rule
An After BR runs only after the record has been successfully saved to the database. This is important when your logic depends on the record actually being committed.
Use an After BR when you need to:
Update other tables
Update related records
Ensure all mandatory fields are satisfied and the save is successful
Examples:
When an Incident is Resolved, add a work note to the related Problem record.
Although you could technically check current.state == 'Resolved' in a Before BR, if the record fails to save due to a missing mandatory field, the Problem record would still get updated. Using an After BR prevents this issue.
When an Incident is Closed, automatically close all its child Incidents.
If you use an After BR to update the same record, you would need to call current.update(), which is generally not recommended and should be avoided when a Before BR can do the job.
Async Business Rule
An Async BR runs after the transaction completes, at a later point in time, without making the user wait.
Use Async BRs for:
Background processing
Actions that don’t require immediate user feedback
Examples:
Sending notification emails, Generating reports, Updating data that doesn’t depend on user interaction
In Async BRs:
The current object is available
The previous object is not available
This is because multiple updates may have already occurred by the time the Async BR executes, making the previous state unreliable.
Display Business Rule
A Display BR is typically used to pass server-side data to the client using the g_scratchpad object.
This data can then be accessed in:
Client Scripts, UI Policies, onChange and onSubmit Client Scripts
Try/Catch Usage
try/catch is standard JavaScript error handling and can be used in Business Rules when:
You’re unsure if data exists, There’s a possibility of unexpected data or validation issues
Using try/catch helps:
Prevent script failures, Ensure smoother execution, Make debugging easier without breaking other scripts
Please add anything if I misunderstood.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Jasprit 24 Dec 2024
What is the difference between the newRecord and initialize method of GlideRecord?
Swappy 07 Feb 2025
What is servicenow gliderecord initialize ?
Creates an empty record within the current GlideRecord that is suitable for population before an insert.
What is servicenow gliderecord newRecord?
Creates a GlideRecord, sets the default values for the fields, and assigns a unique ID to the record.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sourav 31 Jul 2025
business rule to create a ctask under a change request when that change request is created via recorrd producer
0 Helpfuls
*Name is mandatory*Please enter a reply
Gvk 08 Sep 2025
What is the use of OnDemand scheduled job?
In ServiceNow, an on-demand scheduled job is a task that doesn't run on a fixed, recurring schedule but is triggered to execute immediately when manually initiated, either through the "Execute Now" button on the scheduled job's form or programmatically via server-side scripts like Business Rules or Script Includes. The primary use is to run a specific task, such as data updates or imports, at an opportune moment outside its regular cycle, offering flexibility and control over automation efforts.
When to Use an On-Demand Scheduled Job
Manual Triggering:
You can run the job as needed by simply clicking the Execute Now button available after saving the scheduled job.
Scripted Triggering:
You can use server-side scripts, like Business Rules or Script Includes, to programmatically start the job when a specific event occurs in the system.
One-Time Operations:
On-demand jobs are ideal for tasks that need to be performed once, like importing a spreadsheet of user details, and then repeating the process when new data is available.
Ad-Hoc Data Updates:
When you need to update records or synchronize data based on a specific trigger, but not on a fixed schedule, an on-demand job provides the necessary control.
How to Trigger an On-Demand Scheduled Job
1. Manually:
Open the Scheduled Job record.
Click the Execute Now button, which appears in the top right of the form after you save it.
2. Programmatically (using Server-Side Script):
Identify the Scheduled Job you want to run.
Use a script, such as a Business Rule, to find the Scheduled Job's record.
Utilize the SncTriggerSynchronizer.executeNow()() method to trigger the job from the script
0 Helpfuls
*Name is mandatory*Please enter a reply
Bushra 13 Jan 2026
What is gs.include() in script include and how we can use it ?
Mahesh 24 Feb 2026
The gs.include() method in ServiceNow is a legacy function used to load the code of one server-side Script Include into another server-side script, allowing you to access its functions and variables directly in the current scope.
script inclued:
function testAOP() {
// function logic
}
testAOP.prototype = {
sum: function() {
var a = 10;
var b = 20;
var c = a b;
return c;
},
type: 'testAOP'
};
calling script:
gs.include('testAOP');
// Now you can call the function directly
var total = sum();
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Harsh 03 Jun 2026
If you write a script to update a record inside a Business Rule, what is the architectural difference between calling gr.setWorkflow(false) versus gr.setForceUpdate(true)? Provide a real-world scenario for each.
0 Helpfuls
*Name is mandatory*Please enter a reply
Teja 10 Jun 2026
A normal notification is enough when the trigger condition is simple, like record inserted, record updated, state changed, priority changed, or assignment group changed. In that case, I would not create a Business Rule unnecessarily. I would configure the notification condition directly.
But when the notification trigger needs complex server-side logic, I would use a Business Rule to evaluate that logic and then fire an event using gs.eventQueue(). The notification listens to that event. This is useful when the condition depends on multiple related records, historical values, dynamic recipients, previous notifications, SLA status, child records, custom tables, or logic that is too complex to maintain inside the notification condition.
I prefer an async Business Rule for this kind of notification trigger because the record save should not wait for extra processing. The async BR runs after the database operation and can evaluate the complex logic in the background, then raise the event. The email itself is still handled by the notification/event mechanism
0 Helpfuls
*Name is mandatory*Please enter a reply
Notifications 7
Vardha 29 Mar 2023
what does weight field do in notification?
Robert 29 Mar 2023
This is very important and common interview question.
Below is the use of weight field in notification.
- With the same target table and recipients, the system only sends the notification with the highest weight.
- The default value weight 0 causes the system to always send the notification (assuming the conditions are met)
This article explains weight concept very well : https://www.servicenow.com/community/uk-united-kingdom/notifications-email-notification-weight-examples/ba-p/2271497
Hope this helps.
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Sp Biswal 24 Apr 2023
What is the use of allow digest checkbox in notification
Aarav 04 May 2023
With digest functionality end user has option to subscribe for digest notification so that he receives single consolidated notification for certain time period.
e.g. Let's say we have "Incident Commented" notification which triggers every time comment is added into incident. If end user subscribes to receive it for 1 day interval then instead of receiving notification for each comment on Incident, he will receive single consolidated digest email for a day.
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Urmila Mukati 05 Nov 2023
Interviewer asked me why we use async BR to trigger notification instead of this we can also trigger notification by it's condition itself.
Why we need BR can someone please answer?
Venkat 10 Oct 2024
Business Rule: With an async Business Rule, you can implement complex logic and conditions that may be difficult or impossible to achieve using the standard notification condition builder. This gives you greater flexibility to decide when and how the notification should be triggered.
Example: If the notification depends on a combination of factors or involves checking multiple related records, this can be handled in a Business Rule more easily than using notification conditions alone.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Anu 24 Nov 2023
What kind of things you do in events, scheduled jobs and email notification
0 Helpfuls
*Name is mandatory*Please enter a reply
Heisenberg 24 Dec 2024
As a project manager, I want to send a reminder notification after 3 days when incident is Resolved but not closed. What are the different ways to achieve this requirement?
Divesh Jalandriya 22 May 2025
You can create a Scheduled Job that runs daily on the Incident table to check for incidents in the Resolved state. For each resolved incident, retrieve the current date and the date it was moved to the resolved state (from the sys_updated_on). Then calculate the difference between the two dates using the getDays() method. If the difference is equal to or greater than 3 days, you can trigger a notification to the appropriate user or group. Something like,
var gr = new GlideRecord('incident');
gr.addQuery('state', '6'); // Resolved state (change as per your state value)
gr.query();
var today = new GlideDateTime();
while (gr.next()) {
var resolvedDate = gr.sys_updated_on; // get the date on which incident was resolved
var resolvedDateTime = new GlideDateTime(resolvedDate); // convert date to dateTime
var diff = GlideDateTime.subtract(today, resolvedDateTime); //you will getthe value in dateTime format
var daysPassed = diff.getNumericValue() / (1000 * 60 * 60 * 24); // convert the value in diff to days by dividing it by ms*sec*min*hrs of a day it will give you numeric value of days
if (daysPassed >= 3) {
// Example: Send notification or log info
gs.info("Incident " gr.number " has been resolved for " Math.floor(daysPassed) " days.");
// Optional: Trigger an event to send a notification
gs.eventQueue("event_name_to_trigger_notification", gr, gr.sys_id, gr.number);
}
}
0 helpful
Kams 07 Jan 2026
var gr = new GlideRecord('incident');
gr.addQuery('state', 6); // Resolved
gr.addEncodedQuery('resolved_atRELATIVELE@dayofweek@ago@3^resolved_atRELATIVEE@dayofweek@ago@4');
gr.query();
while (gr.next()) {
gs.eventQueue('incident.resolved.reminder', gr, gr.assigned_to, gr.caller_id);
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ganesh P 15 Jan 2025
what will be the syntax of eventQueue() if - BR is on Incident and the notification is on incident task Table, how you will pass the Incident_task record object in eventqueue method without GlidRecord in BR.
Satyam 17 Jan 2025
This is an interesting scenario we come across when working on real time requirement.
In this scenario, the Business Rule is triggered on the Incident table, but you need to pass an Incident Task record (which belongs to the Incident Task table) to the event.
Even though the Business Rule is running on the Incident table, you can still pass the Incident Task record by referring to it in your script, using a GlideRecord query to retrieve the relevant Incident Task record.
// Assume 'current' is the Incident record
var incidentTaskGR = new GlideRecord('incident_task');
incidentTaskGR.addQuery('incident', current.sys_id); // Query for Incident Task related to this Incident
incidentTaskGR.query();
if (incidentTaskGR.next()) {
// Trigger the event for the Incident Task record
gs.eventQueue("incident_task_notification_event", incidentTaskGR, "parm1 information", "Additional Parameter");
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Raju 14 Jun 2025
1) What are the notification related objects we can access in email script?
Ajay 29 Sep 2025
Current,Email,Event,Template
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Flow Designer 8
Amit 05 May 2023
How we can achieve this scenario
If approval is triggered to requester's manager and if he does not approve for 3 days then it should pass to manager's manager
Rahul 22 May 2023
We can achieve this via workflow. While triggering approval to requester's manager, parallelly we can trigger timer activity for 3 days, preceded by approval to requester's manager manager.
If requester's manager approves within 3 days then end the workflow. If requester manager doesn't approve within 3 days then timer activity will complete and then another approval to requester's manager manager will trigger.
1 helpful
Kanika 14 Jun 2023
If approval is triggered to requester's manager and if he does not approve for 3 days then it should pass to manager's manager
I need to do it using flow designer, then how can this be achived?
0 helpful
Gagandeep 11 Oct 2023
Hi, We can achieve the above task by using flow designer by using approval action in it and setting the Wait For Condition of 3 days for Manager to approve it and then in case of not approved it will be assigned to Manger's Manager
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Kanika 14 Jun 2023
A group have only one member and I want to send the approval to it's dedicated member and if he does't exists,then send aproval to manager's manager
How should I achive this through flow designer or BR
Pratik 21 Jun 2023
Hello Kanika,
This can be implemented easily via workflow where you can inlcude validation script to check if dedicated user exist in that group, if not, then send it to managers manger. Workflow allows us to write such quite complex logic while triggering approval. However, I am pretty sure it can be achieved via Flow Designer as well but it becomes quite difficult to implement such logic in flow designer. I would not recommend to BR for triggering approvals as it becomes difficult to track approval status to perform further operation.
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Mahi 04 Jul 2023
How to trigger a UI action from list view to perform its functionality only on the selected records?
Sandhya 09 Jul 2023
Hi Mahi,
In UI action, you can use g_list object. It has method g_list.getChecked() which returns sys_id's of all selected records. Once you get sys_id's of all selected records then you can glide into those records and perform required operation further.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Kapil 26 Sep 2023
flow designer vs workflow 5 points, which will be used and when?
Renu 05 Apr 2024
IF we have complex logic which requires lot of scripting then we should go with Workflow, in all other cases we can go with Flow Designer.
0 helpful
Astik Thombare 13 Oct 2024
Feature/Aspect
Flow Designer
Workflow
Trigger Types
Multiple trigger types like Scheduled, Application, and Record triggers.
Triggers on Record creation or when specific conditions are met.
Integration Capabilities
Provides numerous spokes for integrating ServiceNow with external systems using Integration Hub with low code.
No built-in support for Integration Hub or easy external system integration.
Rollback Feature
No rollback action available.
Includes a rollback activity to revert to an earlier activity in the workflow.
Scripting
Limited scripting capabilities; cannot easily handle complex scripting.
Supports complex scripting with the ability to use the current object for dot-walking.
SLA Timer Support
Cannot be used for requirements related to SLA timers.
Can be used for SLA timer-related requirements.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Akash 06 Jul 2024
How to add role to new user using Flow designer
Hales 30 Jul 2025
You have to create a record in sys_user_has_role table by using create record action.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Speedy 24 Dec 2024
What is a subflow and why do we need it?
Priyanka 07 Jul 2025
A subflow is a reusable sequence of actions or a self-contained flow that can be referenced and executed within a larger flow.
Need of Subflow:
Subflows help you reuse the same steps in different flows, so you don’t have to repeat the same logic everywhere.
They make your flows more organized and easier to manage by breaking big processes into smaller, simple parts.
This saves time and effort, makes updates easier, and allows you to adjust the subflow for different needs.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ajay 27 May 2025
How to add Input and Output in subflow?
Rajesh Gillerla 07 Jan 2026
While Creating subflow it self it will ask input there we can define input and Output we can pass information to Subflow output in Assign subflow Output Flow logic
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ravindra V 21 Apr 2026
Types of action in flow designer?What actions you have created until now?
0 Helpfuls
*Name is mandatory*Please enter a reply
Workflows 6
Ann 06 Jul 2023
Hi, I have asked a question in the interview
how to get all variables in task form using script in workflow.
Satyapriya Biswal 24 Aug 2023
To get the variables from task we use task.variable_name
To get the variables from RITM we use current.variables.variable_name
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Priyanka 26 Jul 2023
Difference between workflow and flow
Pranav 05 Sep 2023
1. Flow can be scheduled, workflow cannot.
2. Flow have multiple triggers e.g. Inbound email triggers, Application triggers and Rest Triggers, workflow can be triggered based on record creation or update.
2 helpful
5 Helpfuls
*Name is mandatory*Please enter a reply
Neelu 02 Mar 2024
What is turnstile workflow activity?
Purnendu 08 May 2024
Under Utilities, turnstile activity is available. It is a workflow activity which limit times of a workflow can pass through the same point. Actually, It prevents the infinite loops. For e.g. we can provide allowed iterations count while using this activity.
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Chandu 22 May 2024
can we add workflow to record producer and if yes how can we do it
Mayur Agrawal 26 Jun 2024
I think no, We can't pass workflow in record producer.
0 helpful
Manikanta 07 Aug 2024
We can't add like we are doing for catalog items but we can create workflow normally to trigger on specific conditions and can make it happen the process on the table the record producer is targetting.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Avni 14 Sep 2024
If you want to have a single workflow for multiple catalog items with slight modification how would you get the solution incorporated?
Ritik 21 Jul 2025
You can can a condition activity in the workflow which will identify your catalog item. Depending on the item, you can then add your customizations to the same workflow.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Mohammed Shakeel 01 Nov 2025
Exact difference between a Flow and Workflow?
Is workflow synchronous or asynchronous?
0 Helpfuls
*Name is mandatory*Please enter a reply
ACL & Security 12
Vinay Kumar 07 Apr 2023
execution order of Acl in ServiceNow ?
and
Read ,write, delete, create which one excute first ?
Robert 13 Apr 2023
Hi Vinay,
If user don't have READ access then providing WRITE, DELETE or CREATE access doesn't make any sense so I believe, READ ACL should be executing first which will make sure to not evaluate further ACL if user does not pass READ access.
1 helpful
Dhruv 13 Mar 2024
Execution order is always :
Role >> Condition >> Script
0 helpful
Aurobinda Behera 28 Feb 2025
Create --> read --> write --> delete
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Swetha 12 Jul 2023
I got a question like how to show different different portals for different user roles.
Sureshmayan 30 Oct 2023
using Page route map
1 helpful
Pradeep 25 Apr 2024
By modifying SPEtryPage script include
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Satyapriya Biswal 05 Aug 2023
I was asked that write a background script that will show how many roles the current logged in user have.
Can anyone help me to answer this question.
Aastha 06 Aug 2023
var gr = new GlideRecord('sys_user_has_role');
gr.addQuery('user','6816f79cc0a8016401c5a33be04be441')
gr.query();
gs.print(gr.getRowCount());
while(gr.next())
{
//one way to do it
}
0 helpful
Ps 07 Aug 2023
var userid = gs.getUserID();
var gr = new GlideRecord('sys_user_has_role');
gr.addQuery('user.sys_id', userid);
gr.query();
while(gr.next()){
gs.print(gr.role.getDisplayValue());
gs.print(gr.getRowCount());
}
0 helpful
Ria 23 Aug 2023
Whenever we have to find out count of something then it is recommended to use GlideAggregate API, using GlideRecord API with getRowCount method is not efficient and it is not considered as best practice. Therefore you can rather use below code.
var userid = gs.getUserID();
var gaRoleCount=new GlideAggregate("sys_user_has_role");
gaRoleCount.addQuery("user",userid);
gaRoleCount.addAggregate("COUNT","role");
gaRoleCount.query();
if(gaRoleCount.next()){
gs.print("Role Count for logged in user:" gaRoleCount.getAggregate("COUNT","role");
}
1 helpful
Satyapriya Biswal 25 Aug 2023
Thanks
0 helpful
Praveen K 20 Sep 2023
Hi Ria,
In 4th line you are grouping the count by role which is incorrect it should be only gaRoleCount.addAggregate("COUNT"); Check below code for more info
var userid = gs.getUserID();
var gaRoleCount=new GlideAggregate("sys_user_has_role");
gaRoleCount.addQuery("user",userid);
gaRoleCount.addAggregate("COUNT");
gaRoleCount.query();
if(gaRoleCount.next()){
//gs.print(gs.getUserName())
//gs.print(userid)
gs.print("Role Count for logged in user:" gaRoleCount.getAggregate("COUNT"));
}
1 helpful
Bharath 12 Jul 2024
gs.print("Role Count for logged in user:" gaRoleCount.getAggregate("COUNT"))
in this line was error in background script, Please once check it
Tank You..
0 helpful
Anonymous 23 Feb 2026
var a=gs.getUser().getRoles();
gs.log(a);
gs.log(a.size());
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Jatin Sehgal 18 Sep 2023
If there are 5 ACLs and 4 are denying access and 1 is granting access. Will the user be granted access or not?
Anubhav 26 Sep 2023
Yes, user will be granted access.
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Nira 27 Oct 2023
For Incident form, There is ACL which is restricting write access for a role and there is another ACL which allows user with same role to write. Which ACL will work, Will the user with that role able to write or not?
Tony 08 Nov 2023
Yes, user will be able to write. If user satisfies at least 1 ACL criteria then he will get required access.
2 helpful
Srushti 06 May 2025
If one ACL denies and another allows, denial wins in ServiceNow. The user will not have write access unless there’s an ACL with a more permissive condition that explicitly allows it, and no ACLs deny it.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Agnivesh 12 Jan 2024
What all roles are to be given to the users while performing Inbound and Outbound Rest integration?
Ravi 24 Jan 2024
Web service access only
0 helpful
Anuj 08 Apr 2024
Web service access only is the checkbox to prevent login. "ITIL" role is required for integration.
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Paras Belorkar 06 May 2024
Current logged in user should see only those incidents which are assigned to those groups which he/she is member of. Suppose a user is member of 3 groups. Please explain with the script.
Sreedhar 07 Oct 2024
Use below code in Read ACL for Incident table. Add itil role in roles.. or whatever is generic..
var checkMember = gs.getUser().getUserId();
if(checkMember.isMemberOf('Group1')
0 helpful
Abel Tuter 01 Dec 2024
Hi ,
You can write Below Before Query Business Rule -
(function executeRule(current, previous /*null when async*/ ) {
var groups = gs.getUser().getMyGroups();
current.addQuery('assignment_group', 'IN', groups);
})(current, previous);
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Narasimha 08 May 2024
I have been asked a question that, The incident should be filtered based on the logged in Users country.
I told it is possible using Before Query BR but interviewer is expecting this functionality to be done using ACL. does anyone have any idea about it?
Abhinandan 09 Jun 2024
You can create an ACL with a script, in the script you can compare the user's country and incident's country(if there is such field on the incident table), if they come out to be true then answer is true, else its false.
0 helpful
Abel Tuter 30 Nov 2024
Hi Narasimha ,
you can write below script in ACL Script
var currentUser = gs.getUserID();
var loggedInUser = new GlideRecord('sys_user');
if (loggedInUser.get(currentUser)) {
// Get the Sys ID or name of the location for the logged-in user
var currUserLocation = loggedInUser.location; // This will return Sys ID
// Get the Sys ID of the incident location
var incidentLocation = current.location; // This should already be a Sys ID
// Compare the two Sys IDs
if (currUserLocation == incidentLocation) {
answer = true; // User can access
} else {
answer = false; // User cannot access
}
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
A 24 Sep 2024
How to bypass ACL for specific users which has nobody role added, without creating new ACL? (and without admin override)
0 Helpfuls
*Name is mandatory*Please enter a reply
Adarsh 23 Apr 2025
If we do not apply any ACL on the table then what will happen? Will the table be visible to normal users of not with limited or no role.
Vishal 25 Apr 2025
Access Control Lists (ACLs) are the primary mechanism for controlling access to tables, records, and fields. If no ACLs are applied to a table, the behavior depends on the ServiceNow instance's security configuration, particularly whether High Security Settings are enabled, and the default access behavior of the platform. Below is a detailed explanation of what happens when no ACLs are applied to a table and whether the table is visible to normal users (including those with limited or no roles).
0 helpful
Teja 23 Jun 2026
If no ACL is created directly on a table, it does not mean every user automatically gets access. ServiceNow first checks whether ACLs are inherited from a parent table and then checks wildcard ACLs. For a standalone custom table, normal users are generally denied because the default wildcard rules restrict access unless another ACL grants it. If the custom table extends Task or another secured table, the parent ACLs also apply. Table visibility in the navigator is controlled by application and module roles, but those roles do not secure the data. Even if the module is hidden, a user could access the table through another route when the ACL permits it. Therefore, I always create explicit CRUD ACLs for custom tables and test them by impersonating users with the intended roles.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Suganya 30 Jun 2025
You have To show only groups where current logged in user is member of those groups when user selects assignment group field
Sridhar G 05 Dec 2025
We can get this from Querying the "sys_user_grmember" Table.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Kavita 16 Sep 2025
How can we moved Users,Groups,Email etc from one instance to another?because they are not capture in update set.
Payal Pundir 23 Sep 2025
By unload XML then import it into target instance. By using it you can move users, groups, email etc from one to another instance.
0 helpful
Ashutosh Choubey 02 Jun 2026
You can also add it to your current update set by GlideUpdateManager2 API
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
UI Policy & Actions 11
Vinay Kumar 06 Apr 2023
what are the pre requisites to convert Ui policy to Data policy?
Sanjana 13 Apr 2023
For a UI policy to be eligible for conversion to a data policy, the following conditions must be met on the UI Policy form.
- The Run scripts check box must be cleared.
- The Global check box must be selected.
- None of the UI policy actions can have Visible set to True or set to False. Visible must be set to Leave Alone.
Source : https://docs.servicenow.com/en-US/bundle/utah-platform-administration/page/administer/form-administration/task/t_ConvertAUIPolicyToADataPolicy.html
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Niru 19 Jun 2023
What is gsftsubmit in UI action ?
Rakesh 21 Jun 2023
Hi Niru,
With this function, we can write client as well as Server side script in same UI action.
More details here : https://servicenowguru.com/system-ui/ui-actions-system-ui/client-server-code-ui-action
0 helpful
Gvk 23 Aug 2025
In the context of ServiceNow's gsftSubmit() function, using null for the first parameter typically indicates that the notification or confirmation message generated by the UI Action should appear in the global notification container at the top of the page, rather than being attached to a specific HTML element on the form. It's a common and recommended practice for most scenarios, providing a general notification area for the user.
Understanding gsftSubmit()
gsftSubmit() is used in UI Actions that have both client-side and server-side scripts. It allows you to execute the client-side script first for validation or other client-side logic, and then trigger the server-side code of the same UI Action.
The gsftSubmit() Syntax
The typical syntax is: gsftSubmit(null, g_form.getFormElement(), "action_name").
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Anitha 06 Jul 2023
Is there any restriction for record producer? will it be applicable for all the tables or any restriction.
Subbu 27 Aug 2023
There are user criteria that can be defined to restrict the visibility/ access of a record producer.
0 helpful
Gaurav 16 Oct 2023
I think she meant to say, is there any restriction on which table we can create record producer. I was asked the same but I don't see any answer for this on community
0 helpful
Siva 27 Jan 2024
You can create a record producer for tables and database views that are in the same scope as the record producer. Also for tables that allow create access from applications in other scopes.
0 helpful
Jenny 04 Jun 2024
All tables extending 'Task' table
0 helpful
Nacro 01 Feb 2025
You can create a record producer for any table you want even custom tables, but as per the ServiceNow docs, it is recommended only to create Record producers for tables that are extending from Task table
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Sudheer 03 Mar 2024
I was asked that UI policy actions and UI policy Script Which runs first in the UI policy?
Pradeep 11 Apr 2024
Ui Ploicy Action will run first and then UI Ploicy Script will run, if there is a conflicting logic, then UI Policy Script will take precedence anyways because it is the last one executing and I have tested it.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Suresh 19 Mar 2024
how to restrict UI action do display only in selected views.
Swapnil 28 Jun 2024
Using UI Action Visibility Related List.
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Venkat 09 May 2024
If there is a custom field on click of UI action I want to populate count of incident which are from same assignment group and I want to show this field to only admin or ITIL user which modules you will use for this?
Mudit 10 Sep 2024
for custom field you can use UI policy to show field to adin aor itil user and for count of incident for same assignment group you can use a display br to fetch count and then pass the count in a g_scratchpad to a on load client script.
0 helpful
Anonymous 27 Nov 2024
in the ui action you can use GlideAggregate API to get the incident count and update the count_field.
for field visibility create read ACL for admin and itil roles. OR write a client script to show/hide count field like this:
function onLoad() {
var isAdmin = g_user.hasRole('admin');
//console.log("isAdmin: " isadmin);
if (isAdmin == true) {
g_form.setDisplay('count_field', 'true');
} else {
g_form.setDisplay('count_field', 'false');
}
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Dhanalakshmi 02 Jul 2024
How to create multiple(ex: 5-6)tasks Or records using one record producer catalog one after the another.
Heisenberg 24 Dec 2024
Using flow designer or workflow.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sree 03 Oct 2024
Why can't we use Record Producer to create Requests instead of Catalog Item
Swathi 07 Oct 2024
A catalog item should ideally be used when you want to generate a request, complete with workflow, tasks, approvals, and so on. As for a record producer, it should be used when you want to gather information using variables (a form) but create another type of record (change, incident, enhancement, etc.)
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ankit 09 Nov 2024
Scenario:
In the record producer there is choice field with below choices.
1) Incident
2) Change
3) Problem
Whatever the choice user select ticket should create in that table.
Can we achieve this? If yes how?
Nacro 02 Feb 2025
Yes, we can achieve this by doing the following:
Create an Order Guide, with a variable "Type of request" this must be a drop-down list with 3 choises - Incident, Change, Problem.
Now create 3 seperate record producers, one for Incident, Change and Problem each.
Go back to the order guide and make a rule base for each type of record producer, in there we can add condition (based on the Order guide variable) like 'Type of request' = 'Incident' then show Record producer for Incident and so on.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Pooja 22 Jul 2025
How can we run Catalog UI Policy on Catalog Item View, RITM View, Catalog Task View
Vishwadeep Singh 17 Sep 2025
In catalog UI Policy click on check box
1. Apply on Catalog item view.
2. Apply on RITM.
3. Apply on catalog Task.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Pooja 22 Jul 2025
Can we control the UI Policy Run? Means to be run on Desktop, mobile or portal?
Gagandeep Singh 28 Jul 2025
Hi Pooja , We can only control the UI Policy Scripts Execution to either run on Mobile , Desktop or Portal , not the whole UI Policy
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Service Catalog 10
Ann 07 Jun 2023
Hi How to autoclose REQ and RITM when task is closed.
Saba Anjum 01 Jul 2023
to achieve this we can write two BR
1-sc_task
2- on table sc_req_item
condition-state changes to closed complete
logic 1-
var rtm = new GlideRecord('sc_req_item');
rtm.addQuery('sys_id', current.request_item);//request_item is a field of sc_task
rtm.query();
while (rtm.next()) {
rtm.state = '3';
rtm.update();
}
logic2-var req = new GlideRecord('sc_request');
req.addQuery('sys_id',current.request);
req.query();
if(req.next()){
req.request_state = 'closed_complete';
req.update();
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Vinay 22 Aug 2023
What is MVRS(multi Row variable set) and explain interview point of view.
Satyapriya Biswal 22 Sep 2023
Multirow Variable set is used to capture variable data in a grid layout while submitting a catalog item request for a group of entities. It is very useful when you want to create multiple order in one request.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Harika 07 Sep 2023
I need to create a catalog item, in that catalog item I need to generate 10 catalog tasks simultaneously. How can I achieve this?
Rohit 20 Sep 2023
create a Workflow that will be associated with your catalog item. This workflow should define the logic for generating 10 catalog tasks simultaneously.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Rohit 21 Sep 2023
The interviewer asked me How to restrict the location in the service catalog by the locations based clients in ServiceNow
Vaishnavi 30 Sep 2023
We can use reference qualifier to restrict certain locations based on users location.
0 helpful
Manimegala 08 Apr 2024
In order to restrict for specific location, We can create usercriteria which will have location as mentioned under 'Not Available For' tab in service catalog
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Supritha 15 Nov 2023
What is the use of the inherit checkbox in service catalog?
Jyothsnavi 24 Jan 2024
To allow tables to inherit a client script, the inherit checkbox must be set.
0 helpful
Rajeev 13 Sep 2024
There is no Inherit checkbox directly in the Service Catalog for catalog items
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Priti 29 Mar 2024
How to configure catalog item ABC in 2nd page of order guide?
Vijay 29 Mar 2024
You can use rule base and set the order of catalog item.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Srx 07 Jul 2024
In ServiceNow, to write a background script that closes a related RITM (Request Item) when the corresponding SC Task is closed
0 Helpfuls
*Name is mandatory*Please enter a reply
Lukesh 20 Jul 2024
how to populate logged in user in variable created on catalog item in servicenow?
Swathi 07 Oct 2024
javascript:gs.getUserID()
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
M Girish 01 Sep 2024
Scenario: The catalog item form should only visible to europe region people. How to implement this?
Yashsha9462 08 Sep 2024
You can set the user criteria for the perticular Catalog item with the help of "Available for" and "Not Available For" tabs present in the related lists of the Catalog.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sonu 09 Sep 2024
What is the backend process in service catalog?
Tarun Teja 26 Mar 2025
In ServiceNow, the backend process for the Service Catalog involves defining and managing catalog items, their workflows, and the fulfillment processes that occur when a user requests an item, including creating records, assigning tasks, and triggering approvals
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
CMDB & Discovery 3
Yasar 13 May 2025
How to check Duplicate CIs in CMDB and fix duplicate CIs issue
0 Helpfuls
*Name is mandatory*Please enter a reply
Shivam 23 Sep 2025
What will be empact if delete in ci record
Hena 10 Jun 2026
1. Loss of Relationships
Relationships with other CIs in the CMDB are removed.
Dependency maps and service maps may become inaccurate.
2. Historical Data Issues
Existing incidents, changes, problems, and requests that reference the CI may lose the reference or show an empty value depending on configuration.
Audit and reporting data can be affected.
3. Impact on ITOM Processes
Discovery may recreate the CI if the device is still discoverable.
Service Mapping and Event Management can lose visibility into affected services.
4. Impact on HAM (Hardware Asset Management)
If the CI is linked to an asset record, deleting the CI can break the asset-to-CI relationship.
Asset lifecycle processes, refresh planning, and compliance reporting may be affected.
5. Impact on Change and Incident Management
Open incidents and changes associated with the CI may no longer have a valid CI reference.
Impact analysis for future changes becomes less reliable.
Before Deleting a CI
A safer approach is often to:
Mark the CI as Retired, Decommissioned, or Non-Operational.
Remove it from active services.
Verify there are no active incidents, changes, or asset links.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Kp 22 Jun 2026
in cmdb relationships what is the difference between runson and hosted on
0 Helpfuls
*Name is mandatory*Please enter a reply
Scripted REST APIs 9
Mustafeez 12 Jan 2024
What is mutual authentication in Integration? How can I create it?
Sridhar 07 Oct 2024
Mutual Authentication is nothing adding SSL Certificates on third party system which is generated on servicenow system.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Alekhya 21 Feb 2024
What the steps that you follow for OAuth Integration?
Amarjeet 13 May 2025
You need to create Application registry records, credentials, connection, Connection and credential alias, and at Last test the connection.
Follow this video for more details.
https://www.youtube.com/watch?v=HSnJF3eGqaI
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Jyothi 05 Mar 2024
Rest API Authenctication Methods
Unknown 11 Apr 2024
ServiceNow REST APIs use basic authentication, mutual authentication and OAuth to authorize user access to REST APIs/endpoints.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Monica 11 Jun 2024
How do you test integrations in servicenow?
Jitendra 07 Jan 2025
You can test the integration with the third party tools like Postman
0 helpful
Akshay 22 Jan 2025
You can also test integration with Rest API Explorer ( functionality provided by ServiceNow )
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Abhishek 14 Nov 2024
can anyone explain Rest API PUT method ? i want to modify every incident in source instance that's need to be reflected in target instance.
for each record we can give sys_id of the record what about all records ?
0 Helpfuls
*Name is mandatory*Please enter a reply
Heisenberg 24 Dec 2024
What is integration hub? Have you utilized integration hub in any of your projects?
Rajesh Gillerla 07 Jan 2026
Intigration Hub is comes in flow desinger let say it's a Low code platform used to integrate two application with each other with spoke,
Example : Let say we want to integrate servicenow with third party Tools like Jira, Azure in thise we can install those spoke it will give Action and Subflow with realated to that Spoke using this without Code we will integrate
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ajay 23 May 2025
REV-TRACK INTEGRATION WITH REST AND INTEGRATION HUB
0 Helpfuls
*Name is mandatory*Please enter a reply
Sanvi 11 Aug 2025
Retry mechanism used in Integration.
I was asked about retry mechanism.
Can anyone who knows this answer here
Sharique 25 Sep 2025
Retry mechanism means if your rest call somehow gets failedw then implement the custom logic that it will automatically retry some more times to make a connection before giving up and logging the catch block.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Gauri 02 Nov 2025
What is service offerings on incident form.
OOB incident fields.
What is OLA.
What KPI you can think to be kept on mind while implementing Incident module.
Before starting of implementing a incident module for a client what questions you ask.
What can be implemented in incident module as part of predictive intelligence
What all integrations have you done with ITSM modules , why was it required
Which change does not require approval
Steps follow to perform RCA
Before closing change what is steps followed for PIR
If the knowledge article is not visible to one user what can be the case
0 Helpfuls
*Name is mandatory*Please enter a reply
Import Sets 4
Narendra 30 Sep 2024
What is the use of choice action in transform maps?
Seetha Lakshmi Priappan 27 Jan 2025
This field is available if the target field is a choice list or reference field. This field specifies what to do if the import set contains a reference or choice value other than those available. Select one of these options:
create: Create a new choice or record in the reference table.
ignore: Ignore the new value from the source table.
reject: Skip the entire row (record) containing the new value and continue to the next row.
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Seetha Lakshmi Priappan 27 Jan 2025
What all ways you can import data into ServiceNow? i have explained using import sets but interviewer is not satisfied expecting more ways. Can anyone pls help me with this question
Amarjeet 14 May 2025
Import set is one of the ways which we can import the data. The other ways can be:
1. Integration with third party or other sources.
2. Importing data in form of XML, CSV or other formats.
3. Importing data through API requests.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Urvashi 29 Aug 2025
Maximum no of records that could be import through transform map
Madhuri 16 Sep 2025
50,000 but it is ideal to import even less records due to performance issues
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Shikha 08 May 2026
how will i stop insertion of empty row in a transform map
Priyanka 20 May 2026
create before tranform script and check source data is empty and action is insert then ignore= true- this will skip the current row insertion OR oob we have this check box Create new record on empty coalesce fields in transform map avoid insertions
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Reporting 1
Gvk 06 Jun 2026
When implementing the ServiceNow Incident module, key KPIs should measure two critical outcomes: service restoration speed and support team efficiency. Essential KPIs to track include Mean Time to Resolve (MTTR), First Contact Resolution (FCR) Rate, and SLA Compliance Rate.Keep the following specific KPIs in mind during your implementation to monitor process health and system performance:1. Speed
1 Helpfuls
*Name is mandatory*Please enter a reply
ITSM 42
Mohit Singhal 01 Apr 2023
Write Background script code to Make all the incidents active as false whose caller starts with 's'.
Kushal 03 Apr 2023
There is small trick in this scenario. Many developer don't know that we can dot walk caller name in encoded query itself (2nd line in below script). Instead developers glide into all incidents and then they add if condition to check if caller name startswith s, which is valid solution but not efficient one.
Script :var grIncident=new GlideRecord("incident");
grIncident.addEncodedQuery("caller_id.nameSTARTSWITHs"); //Here dot walk is very important, very useful in many scenarios
grIncident.query();
while(grIncident.next()){
grIncident.setValue("active",false);
grIncident.update();
}
1 helpful
Prerna 03 Apr 2023
Thanks Kushal. I never knew dot walk work this way as well.
1 helpful
Rakesh 06 Apr 2023
Hey Kushal,
Your script works but it is not efficient. In this case we can rather use updateMultiple method as we are going to update same value for all filtered records ( that is making it false ). Interviewer normally expects efficient script from candidates.
We can use below script :
var grIncident=new GlideRecord("incident");
grIncident.addEncodedQuery("caller_id.nameSTARTSWITHs");
grIncident.query();
grIncident.setValue("active",false);
grIncident.updateMultiple();
1 helpful
Mohit Singhal 01 May 2023
As I have read , Incident's Active is set to false when Incident state is Closed or Cancelled.
1 helpful
Astik 04 Dec 2023
var gr = new GlideRecord('incident');
gr.addEncodedQuery('caller_idSTARTSWITHs^ORcaller_idSTARTSWITHWITHS');
gr.query();
while(gr.next()){
gr.setValue('active',false);
gr.update();
}
0 helpful
Ashutosh Kumar 20 Oct 2024
you need to change state of new cases to canceled/closed/resolve than only you can set Active false.
var gr = new GlideRecord('incident');
gr.addEncodedQuery('caller_idSTARTSWITHs^active=true');
gr.query();
while(gr.next()){
gr.state=8;
gr.active=false;
gr.update();
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Vinay 07 Apr 2023
how to create change request approval policy in servicenow
Shraddha 21 Apr 2023
Hey Vinay,
There is "Change Approval Policies" module in change management where we can create these policies.
It is a course of action that can be applied to a change request. It uses a set of variable inputs to evaluate the decisions that are associated with it. For each matching decision, the associated approval definition is applied.
More info can be found here : https://docs.servicenow.com/en-US/bundle/utah-it-service-management/page/product/change-management/concept/change-approval-policy.html
I was also asked similar question recently so I read and understood about it.
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sanjay 21 Apr 2023
When user is trying to submit a P1 INC, display a confirmation message that "you are trying to submit Critical incident (P1), would you like to proceed?" it should display yes or no options, if user selects Yes then proceed with the incident submission, if user selects No then stop the form submission to the database
Renu 24 Apr 2023
You can write on Submit Client Script with below line of code :
var incPriority=g_form.getValue("priority");
if(incPriority==1){
var userInput=confirm("you are trying to submit Critical incident (P1), would you like to proceed?");
if(userInput==false)//user selected no
return false;
}
}
return true;
2 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Annin 09 May 2023
Hi
I have asked a question when the incident state is closed related problem state should also be closed
How can we do this
Gaurav 10 May 2023
We can write After BR as below to achieve this requirement:
Table : Incident
BR Condition : When state changes to Closed
var grProblem=new GlideRecord("problem");
if(grProblem.get(current.problem_id)){
grProblem.setValue("state",3);//3 is closed state back end value
grProblem.update();
}
Tip : Interviewer later asks why After BR, why not before BR or Asynch BR? short and simple answer is, if we are updating other than current record then we are supposed to use after BR. If script is too lengthy and execution time is high then we can go with Asynch BR (which runs in backend so that user don't have to wait till BR executes)
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Vinay 18 Jul 2023
What are the different types of risks in change management
0 Helpfuls
*Name is mandatory*Please enter a reply
Samarth Chadda 21 Aug 2023
How to encrypt and decrypt a attachment record which is being attached on Incident record?
Nikhil Kamlekar 20 Apr 2024
You can find the "Column Level Encryption." course in Now Learning. To encrypt the attachment or particular field.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Harish Gadi 07 Sep 2023
How to create a problem record for 5 th incident in incident list Example: there are 10 incidents we need to create a problem ticket for incident for 5 th incident only ?
Surendra 24 Oct 2023
var gr = new GlideRecord('incident');
gr.orderByDesc('sys_created_on');
//gr.setLimit(10);
gr.chooseWindow(4,5);// 4-first row and 5- last row
gr.query();
while(gr.next()){
gs.print(gr.number);
// create problem record here
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Varad Bhagwat 17 Sep 2023
What is Blackout and Maintenance window in change management?
Kapil Don 26 Sep 2023
Blackout windows specify times during which normal change activity should not be scheduled. Maintenance windows specify times during which change requests should be scheduled.
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Satyapriya Biswal 21 Sep 2023
What are major incidents? Is all P1 incidents are major incidents?
Baxter 02 Nov 2023
I believe Major Incidents have their own separate work flows and notifications outside of standard incident management.
With most incidents of any priority, the incident management team is usually equipped to find a solution and additional approval is usually not required. Even P1 incidents go throught the same workflow of a P2 or P3 incident.
Major incidents involve notifications that get sent outside of the incident management team and have unique workflows that are more complex or require further approval in order to resolve the issue.
I'm sure other poeple can describe this better, but in short, Major Incident Management is its own separate entity.
2 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Varad Bhagwat 26 Sep 2023
I have asked scenario where If OOB ServiceNow Incident management application is installed and you need to configure it for end users so what configuration you should required to do?
Vamsi 05 Oct 2023
When configuring the out-of-the-box (OOB) ServiceNow Incident Management application for end users, there are several key configurations you should consider to ensure it meets your organization's needs. Here are the essential configuration steps:
User Roles and Permissions:
Define and assign appropriate roles to end users, such as "Incident Caller" or "End User." These roles should have the necessary permissions to create, view, and update incidents.
Service Catalog Configuration:
If incidents can be reported through a service catalog, configure catalog items for incident creation. Define the variables and information you want end users to provide when reporting incidents.
Incident Categories and Subcategories:
Set up incident categories and subcategories to classify incidents effectively. This helps in routing incidents to the correct assignment groups and analyzing incident data.
Assignment Groups:
Define assignment groups responsible for handling different types of incidents. Configure automatic assignment rules based on incident category, subcategory, or other criteria to ensure incidents are routed to the appropriate teams.
Service Level Agreements (SLAs):
Set up SLAs to define response and resolution time targets for incidents. Associate SLAs with incident categories or priorities to ensure that incidents are prioritized correctly.
Incident States and Workflow:
Configure incident states and workflows to match your organization's incident management process. Define the stages an incident goes through from creation to closure and customize the workflow to meet your needs.
Notifications and Email Templates:
Configure notification rules to keep end users informed about the progress of their incidents. Create and customize email templates for incident notifications to ensure clear communication.
Knowledge Base Integration:
Integrate the incident management application with the knowledge base to provide end users with access to self-service solutions and knowledge articles that can help them resolve common issues.
Incident Numbering and Prefixes:
Customize incident numbering and prefixes to align with your organization's numbering conventions and to make it easier to identify and track incidents.
Incident Templates:
Create incident templates to simplify the incident reporting process for end users. These templates can pre-fill incident fields with common information.
Client Scripts and UI Policies:
Implement client scripts and UI policies to enhance the user experience by adding client-side validation and dynamic behavior to incident forms.
Service Portal Configuration (Optional):
If you're using ServiceNow's Service Portal, configure incident-related widgets and forms to provide an intuitive and user-friendly interface for end users.
Access Control Lists (ACLs):
Define ACLs to control access to incident records and ensure data security and privacy.
Reporting and Dashboards:
Set up incident-related reports and dashboards to provide end users with visibility into incident trends and performance metrics.
Testing and Training:
Thoroughly test the configuration to ensure it meets end-user needs and aligns with your incident management processes. Provide training to end users on how to use the system effectively.
Documentation:
Create user guides and documentation to help end users navigate the incident management application and understand their roles and responsibilities.
3 helpful
Varad Bhagwat 17 Oct 2023
Thanks Vamsi for such brief explaination
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ann 25 Oct 2023
when user clicks on new form incident form will open, when user opens a new option that time in the state "cancel" option should be hidden. Once he submits a form "cancel" option should be visible.
how to achieve this
Can we select The callers' location's timezone in SLA ?
Gopal 16 Nov 2023
Yes, user.location
0 helpful
Anand 15 Feb 2026
You can choose "The caller's location's time zone" option from the timezone source
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Alaya 18 Dec 2023
I was asked in interview: On the incident form generally assigned to field is dependent on assignment group. What will happen if we remove the assignment group from the form, will assigned to field still be dependent on assignment group or will it show all the users?
Khaleed 18 Jan 2024
It will show all the users.
0 helpful
Sharath 26 Jun 2024
It will show all the ITIL users as per the default Use reference qualifier.
0 helpful
Bushra 14 Oct 2024
Add assignment_group(backend name of group field) in the dependent value of assigned_to field
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Karthik 09 Jan 2024
A senario where there multiple priority and different category incidents. In this how you manage the conflit of incidents among the team members?
0 Helpfuls
*Name is mandatory*Please enter a reply
Vishnu Priya 10 Jan 2024
When user opens any incident which has child incident then there should be message saying for assignee group members that "This incident is parent for INCXXXXXX", child incident needs to be resolved before resolving parent incident, how to implement this scenario?
0 Helpfuls
*Name is mandatory*Please enter a reply
Anand V A 21 Feb 2024
What is response and resolution Sla
Unknown 25 Apr 2024
Response SLA: Is calculated from the time the incident created and assigned to a group till it is assigned to someone from the group. It is the time taken to acknowledge the ticked.
Resolution SLA: It is calculated from the time incident is created till the time the incident is resolved.
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Sujatha 28 Feb 2024
when ever the problem work note updated,update the comment in attached incident work notes also
Nithin 03 Jul 2025
script in problem table >> var inc = new GlideRecord('incident');
inc.addQuery('problem_id', current.sys_id);
inc.query();
while (inc.next()) {
inc.work_notes = current.work_notes;
inc.update();
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Cookie 06 Mar 2024
Read Caller's name from the Caller field in incident table, and check for 1st letter, if it is a, print "apple", if it is b, print "bat"
Pradeep 21 Apr 2024
var caller = current.caller_id.getDisplayValue();
var text = caller.toUpperCase();
if (text.startsWith('A'))
gs.print('Apple');
else
gs.print('Bat');
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Cookie 06 Mar 2024
Insert 10 incidents from Incident table in an array
Heisenberg 24 Dec 2024
var incident_list=[];
var incidentGr=new GlideRecord('incident');
incidentGr.addEncodedQuery('active=true'); //Replace query based on the input
incidenGr.setLimit(10);
incidentGr.query();
while(incidentGr.nect()){
var obj={}; //Empty object
//Push attributes according to your choice. For now I am pushing only number and short description
obj.number=incidentGr.getValue('number');
obj.short_description=incidentGr.getValue('short_description');
incident_list.push(obj);
}
//Print List
for(var i=0;i<incident_list.length;i ){
gs.info('Number: ' incident_list[i].number ' Short Description ' incident_list[i].short_desciption '\n');
}
0 helpful
Divesh Jalandriya 22 May 2025
var arrayList = [];
var grIncident = new GlideRecord('incident');
grIncident.setLimit(10);
grIncident.query();
while (grIncident.next()) {
var obj = {};
obj.number = grIncident.number.getDisplayValue();
obj.short_description = grIncident.short_description;
arrayList.push(obj.number '->' obj.short_description);
}
for(var i=0;i<arrayList.length;i )
{
gs.info(arrayList[i]);
}
gs.info(arrayList.join(','));
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Cookie 06 Mar 2024
If an incident is in resolved state for 5 days, Close it
Anjali Singh 25 Mar 2024
1. Navigate to System Properties > System.
2. Locate the property Number of days (integer) after which Resolved incidents are automatically closed.
3. Set the Value to be the number of days to wait before closing a resolved incident.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sneha 08 Mar 2024
If I create ITIL user it will automatically added in manager group how can I do this?
Ajay 08 Oct 2024
There is a table called "sys_user_has_role" , write a Before BR on this table on insert, with the condition as role is ITIL and in the code you can include as below
var user_sys_id=current.user; // this will fetch the user with that got assigned the itil role
var gr=new gliderecord('sys_user_gr_member');
gr.initialize();
gr.group="Manager group sysid";
gr.user=user_sysid;
gr.insert();
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sk 30 Mar 2024
Hi,
I was asked this scenario :
If Assignment group and state is changed to particular choice Short description should become Mandatory and Description should become read only
Dhruv 27 Apr 2024
You can use UI Policy
UI Policy condition - Assignment Group is [Service Desk] AND state is [New]
UI Policy Action:
Make short description field Mandatory
Description filed Read Only
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ghouse Sharief 30 Mar 2024
Populate an alert or info message on incident form when assignment group changes on the incident . on the alert display the assignment group members
Sumit 04 Oct 2024
we have to use onchange client script for displaying alert , and for fetching assignment group members we hvae to write script include which will return the list of all members in that group
0 helpful
N Cinthala 07 Aug 2025
script include:
var namearr=[];
var y=this.getParameter('sysparm_value');
var x=new GlideRecord('sys_user_grmember');
x.addQuery('group',y);
x.query();
while(x._next()){
namearr.push(x.user.name '');
}
return namearr '';
client script:
var z=new GlideAjax('test123');
z.addParam('sysparm_name','demo');
z.addParam('sysparm_value',newValue);
z.getXMLAnswer(hello);
function hello(response){
alert(response '');
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sharad 08 Apr 2024
What are the priority tickets and how the tickets are classified as p1,p2,p3,p4 and their response time and resolution time sla?
Shrihari 05 May 2024
Tickets are prioritized based on the Impact and Urgency of the tickets. Impact is calculated based on the number of users, operational, financial and regulatory impacts on the business. Where as Urgency is calculated by from the business requirements of the service that is interrupted.
The tickets response time and resolution time will be a part of the SLA that is agreed.
0 helpful
Ayush Gurjar 11 Jul 2024
Each level has a different Service Level Agreement (SLA) for response and resolution times.
P1 (Critical) 1 hour to respond
P2 (High) 4 hours to respond
P3 (Normal) 8 hours to respond
P4 (Low) 5 days to respond
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
What is lead time in change management
Bhavesh 30 Aug 2024
Lead time is basically a total time period of change management i.e. the total time required to complete change request from its initiation to its implementation.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Kiran 03 Jun 2024
Suppose if I have priority 2 sla attached to my p2 incident suppose if itil user moves that to p1 ticket and major incident ala gets attached to that sla so what happens to p2 sla which is attached to the incident
Harshal 28 Jun 2024
OLD SLA Get cancelled when new sla attached
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sarthak 18 Jun 2024
If three priority change did take place on one incident. How can we calculate the SLA.
21 Feb 2026
When an incident’s priority changes, ServiceNow stops the old SLA and attaches a new one based on the updated conditions. The SLA calculation depends on whether you configure it to reset or continue, but only the SLA tied to the current priority remains active.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Shubham J 04 Jul 2024
i have been asked a question, Hide a specific field from Incident, problem, change, Service Portal, LIST VIEW from all this places in one go? how can we achieve it?
Kamini 10 Aug 2024
Make the field inactive
0 helpful
Snowexpertaastik 30 Nov 2024
Hi Shubham,
You can create an ACL on the task table with the operation set to add_to_list. By doing this, users will not be able to personalize that particular field. As a result, they won’t be able to see it in the list view or interact with it
1 helpful
Samaksh 26 Jun 2025
Dictionary Attribute (Global Control)
Go to: System Definition > Dictionary
Search for the field (e.g., cmdb_ci)
Open the dictionary entry
Add or modify the Attributes:
glide.ui.hidden = true → hides the field from form view
glide.list.hidden = true → hides the field from list view
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Venkatesh 10 Jul 2024
Can you explain the incident implementation Step by step and challenges you faced while implementing
0 Helpfuls
*Name is mandatory*Please enter a reply
Service-now Developer 28 Jul 2024
Interview question:
Hide child incident related list when incident assignment group> type is not itil.
How will you solve this?
Vaibhav 17 Sep 2024
Create UI Policy for the form with condition as field 'Action' is No.
To hide the related list Add the below code in the Execute if True script section.
g_form.hideRelatedList('related_list_table_name');
To show the related list Add the below code in the Execute if False script section.
g_form.showRelatedList('related_list_table_name');
Note: Get the related_list_table_name from thee list control of the related list. Right click related list header > Personalize/Configure List Control. Copy the value from the field 'Related list'
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sree 18 Sep 2024
There is a button on incident form, when I click on that it should redirect to RP and few fields from Incident should be mapped with RP variables
Ex:
Caller with Requested For
Short Description with Short Desc
Description with Desc
Anonymous 26 Nov 2024
you need to capture the data in url and pass those in the variables using onLoad catalog client script
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Narendra 29 Sep 2024
What is the use of schedule field in SLA?
Ttharun 18 Apr 2025
In ServiceNow, the Schedule field in an SLA definition dictates the business hours or working hours that the SLA will consider when calculating time. This allows for more accurate SLA tracking by factoring in weekends, holidays, and non-standard work schedules.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Zorro 29 Sep 2024
Suppose there are multiple duplicates for multiple records in a incident table now I want to know all the records which have duplicates, how can I be able to achieve it?
Manoj D 02 Nov 2024
var incidentGr = new GlideAggregate('incident');
incidentGr.addAggregate('COUNT', 'number');
incidentGr.groupBy('number');
incidentGr.query();
while (incidentGr.next()) {
var count = incidentGr.getAggregate('COUNT', 'number');
if (count > 1) {
gs.info('Duplicate Record: ' incidentGr.number ' Count: ' count);
}
}
0 helpful
Srinidhi 28 Aug 2025
gs.print(getDuplicates('incident','number')); // Assuming you have duplicate Incident Numbers
function getDuplicates(tablename,val) {
var dupRecords = [];
var gaDupCheck = new GlideAggregate(tablename);
gaDupCheck.addQuery('active','true');
gaDupCheck.addAggregate('COUNT',val);
gaDupCheck.addNotNullQuery(val);
gaDupCheck.groupBy(val);
gaDupCheck.addHaving('COUNT', '>', 1);
gaDupCheck.query();
while (gaDupCheck.next()) {
dupRecords.push(gaDupCheck[val].toString());
}
return dupRecords;
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Vaibhav Nikam 30 Sep 2024
When incident task is updated then incident is gets updated and also when incident is updated the related incident task is also updates.
How we can achieve it?
0 Helpfuls
*Name is mandatory*Please enter a reply
Varun 12 Dec 2024
Print 5 caller names who has highest number of incidents
0 Helpfuls
*Name is mandatory*Please enter a reply
Angie 24 Dec 2024
How knowledge record can be created from an Incident or a Problem record?
Sanjokta 06 Aug 2025
In ServiceNow, we can create a Knowledge article directly from an Incident or Problem by clicking on the 'Create Knowledge' related link on the record. It auto-fills the details like short description and resolution. We can then edit it, choose the Knowledge Base and category, and submit it for publishing."
0 helpful
Hans Raj 08 Aug 2025
You can create a knowledge article from an Incident or Problem using the "Create Knowledge" UI action. It copies relevant details like short description and resolution notes into a new article. We can also automate this via Workflow or Flow Designer for bulk or conditional creation.
There are other ways to do it as well:
1) Use the "Create Knowledge" UI Action (On the Incident or Problem form (after it’s resolved or closed), you'll typically see a button or related link called "Create Knowledge")
2) Manually Create a Knowledge Article
3) Via Workflow or Flow Designer
4) Scripted Creation via Business Rule or Script Action (use BR to automatically create knowledge article when Incident/Problem meets certain conditions
0 helpful
Vamsi Krishna 20 Nov 2025
If the customer has Now Assist installed, then using Generative AI capabilities, the fulfiller can easily create a knowledge article by clicking on the Create Knowledge UI action. Then, Now LLM will automatically populate the Knowledge Article form based on the short description, description, resolution notes, activities, etc. Later, the fulfiller/knowledge manager can review and publish it to the KB base.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Rohit 09 Jan 2025
What is stop condition in SLA ?
Chaitanya Petkar 11 Feb 2025
A condition when SLA stops counting the time after fulfilling the STOP conditions
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ammy Singh 17 Apr 2025
Please can someone provide answer to this question: How to show incidents to users only if they are part of current assignment group?
Sainath 11 Jun 2025
IN ACL Script :
if(gs.getuser().isMemberOf('current.assignment_group'){
answer=ture;
}else{
answer=false
}
0 helpful
Unknown 04 Nov 2025
filter condition: assignment group is(dynamic) one of my group.
Using script or dynamic condition, which is the best practice of these two?
0 helpful
N Cinthala 11 Apr 2026
We can execute this in two Ways;
1. Using Before Query Business Rule--> Condition (Assignment Group is one of my group) OR current.addEncodedQuery('assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744');
2. Using Record Level DENY Unless ACL Data Condition or Script--> If Condition (Assignment Group is one of my group) or Script -->
answer=gs.getUser().isMemberOf(current.assignment_group);
Always Choose Before Query Business rule instead of ACL for Record Visibility
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sainath 04 Jul 2025
I was asked, in the Incident table if, when you delete an incident, all child incidents should be deleted automatically. Which BR do you use
0 Helpfuls
*Name is mandatory*Please enter a reply
Akshay 10 Jul 2025
If Assigned To user is not active, then assign the incident to the Assigned To's manager" in ServiceNow ITSM
Surya 06 Apr 2026
what is manager is not part of the assignment group
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ani 23 Aug 2025
I want to create change task a b c d e and short description a1 b1 c1 d1 e1
When ever change moves to implement state
How cam we achieve this scenario
0 Helpfuls
*Name is mandatory*Please enter a reply
Arunavas 21 May 2026
We are migrating from ServiceNow instance A to Instance B. How we can ensure the SLA will be intact even after DATA migration?
0 Helpfuls
*Name is mandatory*Please enter a reply
Platform & General 23
Riya 29 Mar 2023
I was asked, what is the difference between setDisplay and setVisible method. I said, setVisible maintains space even if field is hidden and with setDisplay, we won't have space in between the hidden fields. But Interviewer asked me to explain it in more technical way, can somebody please help me to understand how this could be answered in more technical way?
Anubhav 29 Mar 2023
Sometimes, interviewer expects deeper understanding from candidates if candidate is having more experience. May be you could have explained how these things work in backend at DOM level.
e.g. We have equivalent concept in CSS, if we use visibility:hidden in CSS to hide fields, it causes their space to be retained. But, on the other hand, if we use display:none, it causes space to be removed. So, I believe this is what ServiceNow uses in backend. This answer could have impressed interviewer.
3 helpful
Riya 30 Mar 2023
I never knew this, it's really impressive answer.
Thank you.
1 helpful
Teja 29 Mar 2026
The key difference lies in how they manipulate the DOM and layout rendering. setVisible(false) hides the field visually but still keeps its container in the layout, similar to CSS visibility:hidden, so space is preserved. In contrast, setDisplay(false) removes the field’s container from the layout flow, similar to display:none, causing the UI to reflow and eliminating the space. Therefore, setDisplay impacts layout structure, while setVisible mainly affects visual visibility.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sahitya 08 Jun 2023
what is difference between normal update set and batch sets
Mohith 21 Jun 2023
Hi Sahitya,
Primary difference is that batch update sets enable you to group update sets together so you can preview and commit them in bulk on the other hand normal update set is single entity which can be committed separately.
Dealing with multiple update sets can lead to problems, including committing update sets in the wrong order or inadvertently leaving out one or more sets. Therefore, SN has introduced concept of batch update sets ( but many people now use merge update set functionality, both methods have its pros and cons)
The system organizes update set batches into a hierarchy. One update set can act as the parent for multiple child update sets. A given set can be both a child and parent, enabling multiple-level hierarchies. One update set at the top level of the hierarchy acts as the base update set.
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Sp Biswal 15 Jun 2023
What are the drawbacks of Table API?
Sourabh 11 Jul 2023
They get read/write access to whole table without any restrictions. Therefore it is possibility that if they make any mistake, it could create chaos in whole table.
Alternatively we should think of having scripted rest api where SN developer will have more control on what operation other toll can perform.
e.g. if other system is only going to change assignment group, adding a comment on incident then instead of providing table api access, you can write scripted rest api.
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Kumara Swamy 07 Jul 2023
what are the matcher field what are the setter field
Rohini 05 Sep 2023
The assignment lookup rule assigns incidents matching the values in the matcher fields (Category, Subcategory, Configuration Item, and Location) to the values in the setter fields (Assignment Group and Assigned To). A valid assignment lookup rule requires at least one matcher field and one setter field.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Suneel Kumar 07 Jul 2023
How to copy attachments from one record to another?
You can use glide function.
GlideSysAttachment.copy('from table', current.sys_id, 'to table', dmnd.sys_id);
var attachment = new GlideSysAttachment();
var incidentSysID = 'ab1b30031b04ec101363ff37dc4bcbfc';
var incGR = new GlideRecord('incident');
incGR.get(incidentSysID);
var copiedAttachments = attachment.copy('incident', incidentSysID, 'problem', incGR.getValue('problem_id'));
gs.info('Copied attachments: ' copiedAttachments);
0 helpful
3 Helpfuls
*Name is mandatory*Please enter a reply
Swetha 16 Jul 2023
During my interview, I was asked to write a script where I need to return a user's Manager's Manager(Seniormanager). If the field is empty, in that case i have to return his above level manager (Director).
Can you help me with the solution code.
Praveen K 20 Sep 2023
Try using Dot walking and if statement
for example -
var gr = new GlideRecord('sys_user')
gr.addQuery('sys_id','02826bf03710200044e0bfc8bcbe5d88');
gr.query();
if (gr.next()){
gs.print('User Name - ' gr.name)
gs.print('Manager Name - ' gr.manager.name)
if(gr.manager.manager.name){
gs.print('Managers Manager Name - ' gr.manager.manager.name)
//Make sure that managers field is populated in users and managers record
}
else{
gs.print('Director Details (I dont have director so not displaying)')
}
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Mujahid 10 Aug 2023
4. If you used GlideAjax method to get server side data then why used GlideAjax, why not getReference or Display BR?
Saritha 29 Aug 2023
g_scratchpad is sent once when a form is loaded (information is pushed from the server to the client), whereas GlideAjax is dynamically triggered when the client requests information from the server.
If you're using getReference you will get ALL data for each record you "get" whether you need it or not.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Navdeep Singh 24 Oct 2023
Hi, I have a question when we use "g_list.getChecked()" it returns the sys_ids of all the selected records but how can I get all the records. I have a requirement that If I don't select any records that means we need all the records.
Thanks in advance!
Pradeep 11 Apr 2024
I don't see any OOb method to retrieve all the records in the list,
But this can be achieved by using a GlideAjax call,
g_list.getChecked() returns the comma separated sys_ids of the selected records.
Here we can use g_list.getQuery() which returns the encoded query of the list filter, then we can pass this to the GlideAjax script include as a parameter, and then in the Script Include we can use this Encoded Query to glide the table, and then return sys_ids of the records back to the client side
3 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Ann 25 Oct 2023
on the catalog form below the submit button i want to add reset button which will reset all the values.
How to achieve this
0 Helpfuls
*Name is mandatory*Please enter a reply
Ann 25 Oct 2023
when I submit a new request on behalf of "xyz" when xyz opens that form should be editable for "xyz" and other forms should be read only to xyz
how can I achieve this.
Abdul 16 Nov 2023
created_by field will store your name and requested_by field will store 'XYZ'. NOw you can USE ACL or combination of Display BR and Client script
1 helpful
Pratiksha 24 Nov 2023
suppose you create incident on behalf of xyz the you can achieve above requirement in two ways.
1.create write ACL (in script check if logged in user is caller)
2. create display BR and onLoad client script
0 helpful
Isha 28 Nov 2023
ACL
0 helpful
Astik Thombare 04 Dec 2023
Hi @Ann,
You can create a new ACL on the incident table with the operation "write" and name it "Incident." Set the conditions to "None" and give the condition that the caller is dynamic. This way, you can achieve the above requirement.
Thanks!
Astik
2 helpful
Satyam Jain 02 Mar 2024
Create write ACL on the table.none and write the script in advance
answer=false;
var gr=gs.getUserID();
if(current.caller_id==gr){
answer=true;
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Dinesh Kumar 27 Jan 2024
GlideQuery() and GlideFilter() usage
Bhargav 21 Jul 2024
The GlideQuery API is an alternative to GlideRecord to perform CRUD operations on record data from server-side scripts.
The GlideFilter API is case-sensitive by default where as GlideRecord and GlideQuery queries are case-insensitive. Use the setCaseSensitive() method to enable or disable case sensitivity when using GlideFilter.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Naveen 01 Mar 2024
2.When the Caller field is changed, retrieve the caller's location and update the Location field accordingly.
Ajay 08 Oct 2024
you can achieve this with a on change client script and script include
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Suresh , K 21 Mar 2024
Let us consider there is checkbox field with 3 values. out of 3 checkbox field user should select atleast 2 checkbox. incase, if user did not selected 2 checkbox then error should display
Pradeep 02 Apr 2024
You can create onSubmit client script and write below script in it :
var check1 = g_form.getValue('checkbox1');
var check2 = g_form.getValue('checkbox2');
var check3 = g_form.getValue('checkbox3');
var checkArray = [check1, check2, check3];
var count = 0;
for (var i = 0; i < checkArray.length; i ) {
if (checkArray[i] == true) {
count ;
}
}
if (count < 2) {
g_form.addErrorMessage('Please check atleast 2 checkboxes');
return false;
}
0 helpful
Snowexpertaastik 02 Nov 2024
function onSubmit() {
var checkOne = g_form.getValue('u_one');
var checkTwo = g_form.getValue('u_two');
var checkThree = g_form.getValue('u_three');
var arrTrue = [];
var checkBoxArr = [checkOne, checkTwo, checkThree];
for (var i = 0; i < checkBoxArr.length - 1; i )
if (checkBoxArr[i] == 'true') {
arrTrue.push(checkBoxArr[i].toString());
}
if (arrTrue.length >= 2) {
g_form.addInfoMessage('Thank you for choosing atleast two check boxes ');
} else {
g_form.addErrorMessage('Atleast you need to sewlect three check boxes and as you have not sel;ected it you are not able to save it ');
return false;
}
}
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Priyanshi 29 Apr 2024
How to move a particular change from one update set to another update set.
Rathan 06 Jul 2024
Open the update set and open the customer updates record that you want to move to another update set. Once you open the record, below you will find the Update Set reference field from here you can select the another update set name.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Narasimha 14 May 2024
Hi All,
I have been asked a question where i need to show only 2 state choices (InProgress and Pending) in List View only to the users based on the logged in user if he has specific role.
Can anyone please help me if it is possible to hide few choices of state field to few users from List View in ServiceNow.
Lata 26 May 2024
I think they wanted to ask that user with the specific role user can see the state but they shouldn't be able to close incident form from list view in this case you can use oncell edit client script you can specify role first thn we can check if state is closed thn don't update record by sending false perameter to callback function which prevent record update else send true to callback.
0 helpful
Narasimha 04 Jun 2024
Hi Lata,
Thank You for your response i got your point.
But they have clearly mentioned how to hide few choices from list view.
0 helpful
Mahendra 20 Sep 2024
To show only the "In Progress" and "Pending" state choices in the list view based on the logged-in user's role, I would create an on-cell edit client script. This script will check if the user has the specific role and, if so, it will filter the state choices in the list view. This way, only the relevant options are displayed to the user in the list view, making it user-friendly and role-specific.
I chose an on-cell edit client script because it runs only when a cell is edited in the list, providing a dynamic experience without affecting other users. This solution ensures that the right state choices are available based on the user's role without impacting performance or other areas of the platform.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
How will you disable attachment to a specific table
Sharath 10 Jul 2024
Check the below serviceNow doc.
https://docs.servicenow.com/bundle/washingtondc-platform-administration/page/administer/form-administration/task/disable-attachments-on-table.html
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
How to publish an application. Explain step by step
0 Helpfuls
*Name is mandatory*Please enter a reply
Akash Mane 24 May 2024
Interviewer ask me Which entries did not capture in update set ? Can anybody tell
Tejas Adhalrao 29 May 2024
users, roles or groups and reports, scheduled jobs, homepages etc
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Hrdk 11 Dec 2024
Difference b/w setVisible() and setDisplay()?
- they both with hide or show the field but setDisplay will hide and reclame the space while setVisible will simply just hide that field.
Gvk 05 Aug 2025
setVisible() hides the content of a field, but the space is still there.
setDisplay() hides the field and removes the space it occupied.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Pooja 22 Jul 2025
I have field XYZ which is mandatory already and now to make it visible false on some condition.
How can to do this?
0 Helpfuls
*Name is mandatory*Please enter a reply
Samrat 05 Sep 2025
How to call Application based Script include into Scoped application?
Payal Pundir 23 Sep 2025
By using name as global.scriptIncludeName
1 helpful
Tanmay 17 Dec 2025
We can call Application based Script include into Scoped application by using this : global.scriptIncludeName
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Apurva 15 Oct 2025
Create a table with 2 fields - Employee Name and Salary.
Add 3-5 entries.
Employee Name Salary
Raj 2000
Keshav 3000
Seema 5000
Jason 6000
Using a ServiceNow code, Display the name of the employee with second highest salary
This module appears under the ‘System Policy application’ menu. It helps to automatically assign the tasks to a particular user or a particular group using the assigned_to and assignment_group fields respectively, depending on the specified set of conditions. One can define these assignment rules readily for their desired table.
0 helpful
Kumar 15 Aug 2023
Any examples?
0 helpful
Sandeep 24 Aug 2023
let's say we select category as 'Hardware' and subcategory as 'Mobile' based on these selections we can make 'assignment group' and 'assigned to' fields automatically display.
0 helpful
Nikhil Kamlekar 01 Apr 2024
Assignment Rules: In HRSD, i have used this I gave condition like if hr service is benefits inquiry and assigned to empty then you can assign to particular group.
0 helpful
Seetha Lakshmi Priappan 03 Jan 2025
Assignment rules in ServiceNow automatically set values in the assigned_to and assignment_group fields when certain conditions are met .Go to system policy->Assignment data look rules->create new record based on your requirement.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Riddhi 29 Mar 2023
I was given a scenario where I said, I can use after BR to achieve it. But, he asked me why After BR? why not before or Asynch BR? I was not able to justify my answer. Can somebody explain what should be the proper answer to this question? this was asked two times to me for different scenario.
Akanksha 30 Mar 2023
I think answer depends on given scenario. However, below are the short and simple use cases for different BR.
Before BR : Use this BR when you want to update anything on current record. If you use After or Asycnh BR for such scenario then you will have to use current.update() which is not considered as best practice.
Asynch BR : When you want to perform any operation which takes long time to execute. This way, user don't have to wait for this BR to complete as it runs in backend asynchronously.
After BR : When you want to perform any operation on other than current record, it could be record in other table or same table but other than current record.
Hope this helps.
0 helpful
Priyanka 23 Jul 2025
Before Business Rule:
A Before BR runs before the record is saved to the database. It’s best for scenarios where I want to validate or modify data on the current record. However, it’s not ideal when I need to create related records or trigger flows, because the current record’s sys_id isn’t guaranteed to exist yet. Relying on it too early could cause data integrity issues or trigger failures.
Async Business Rule:
An Async BR executes after the record is committed, but runs in the background. It is faster in terms of not blocking the main transaction, so it’s useful for non-critical operations like logging, notifications, or calling external systems. But for flows and catalog requests that require sequential execution or guaranteed timing, async rules can introduce risks, since they have no guaranteed execution time or order. It may delay or fail silently, which is unacceptable for time-sensitive tasks.
After Business Rule:
An After BR runs immediately after the record is saved and within the same transaction. This makes it ideal for creating dependent records, updating related tables, or triggering flows that rely on data that is now committed, including the sys_id. It ensures that everything runs in a reliable sequence and within a guaranteed time frame. In catalog requests or flow orchestration, this level of control is critical, so After BR becomes the best fit.
1 helpful
Gvk 05 Mar 2026
the `current.update()` method is used to explicitly save changes to a record. This method is particularly relevant in certain types of Business Rules (BRs) where updating the record is necessary or appropriate.
1. Before Business Rules:
- Usage of `current.update()`: Not recommended.
- Reason: Before Business Rules run before the database operation (insert, update, delete) occurs. Using `current.update()` here can cause recursion issues because the rule itself is triggered by a record operation. Since Before Business Rules are designed to modify the record before it's written to the database, the platform will save changes to the record automatically after the Before Business Rule completes. Using `current.update()` here can lead to infinite loops or unexpected behavior.
2. After Business Rules:
- Usage of `current.update()`: Can be used.
- Reason: After Business Rules execute after the database operation has completed. These rules are ideal for situations where you need to perform additional actions based on the changes made to a record, and then save these further modifications. Since the primary operation has already been completed, using `current.update()` here to make further changes won't cause the same recursion problems as in Before Business Rules.
3. Asynchronous Business Rules (Async BRs):
- Usage of `current.update()`: Can be used.
- Reason: Async BRs run in the background after the database operation has completed. They are used for tasks that don't need to be completed immediately and won't hold up the user interaction. `current.update()` is safe to use here to make further updates to the record, as it won’t affect the performance of the user-facing operations.
4. Display Business Rules:
- Usage of `current.update()`: Not applicable.
- Reason: Display Business Rules execute when a form is loaded and are used to manipulate the data before it is presented to the user. These rules are read-only and are intended to prepare data for display purposes. Thus, using `current.update()` within Display BRs is not relevant, as these rules should not modify the record.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Kishan 29 Mar 2023
How can you set the approvals in a way, Where if more than 50 percent approvers have approved- approve the request else vice-versa.
Anurag 30 Mar 2023
Hi Kishan,
We can write script in approval activity as below to identify if 50% approvals are approved or 50% are rejected based on result take action.
Approval activity script :
//Approve based on percentage indicated
var approvePercent = 50;
if((counts.approved/counts.total)*100 >= approvePercent){
answer = 'approved';
}
if((counts.rejected/counts.total)*100 > (100 - approvePercent)){
answer = 'rejected';
}
Our ServiceNow Guru explained this very well here : https://servicenowguru.com/graphical-workflow/approval-percentage/
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Rishikesh 30 Mar 2023
Why current.update() in before BR doesn't create recursion call to same BR infinitely?
Akanksha 30 Mar 2023
System has internal detectors for this and will prevent an endless series of such Business Rule executions, the detection of this has been known to cause performance issues in that instance.
Source : https://support.servicenow.com/kb?id=kb_article_view
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Satyapriya Biswal 10 Apr 2023
What is the code to execute a scheduled job from a serverside script?
Vardha 11 Apr 2023
scheduled job is used for server side scripting on a scheduled basis. You do not need to trigger it via some other script. Can you please elaborate what you are trying to achieve here?
0 helpful
Satyapriya Biswal 11 Apr 2023
Can you please tell me What is the use of Ondemand scheduled job?
0 helpful
Raj 11 Apr 2023
Hi Satyapriya,
Scheduled job can be executed by using gs.executeNow method in server side script, we need to pass scheduled job glide object as parameter as shown below :
var grSchedJob = new GlideRecord('sysauto_script');
if(grSchedJob.get('SCHEDULUD_JOB_SYS_ID_HERE')){
gs.executeNow(grSchedJob);
}
More info can be found on 'https://www.servicenow.com/community/developer- forum/what-is-the-sys-id-gs-executenow-is-returning/m-p/1577551/page/3'
Note : The above script can be found on 'Execute Now' UI action which is available on scheduled job form.
1 helpful
Satyapriya Biswal 11 Apr 2023
Thanks Raj
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Kiran 28 Apr 2023
How to trouble shoot if user is not able to login?
Pratiksha 04 May 2023
There could be different reasons why user is not able to login but most common is wrong password or user doesn't exist in ServiceNow. Therefore, we can troubleshoot issue by following below steps
1. Verify if user exist in ServiceNow User(sys_user) table.
2. Try resetting user password.
0 helpful
Astik 09 Dec 2023
If user is not able to login please check below things
1.User is active
2.user id is not empty
3.Most Important - User is not locked out
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Kiran 28 Apr 2023
how to call mail script ?
Lavanya 28 Apr 2023
Simillar question already exist above, but anyway users will know that this question is being asked in an interview.
Mail script can be called by using below script :
${mail_script:mail_script_name}
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Siva 26 May 2023
Hi, everyone, they have asked me about the difference between the Quebec version and the Rome version of ServiceNow, where can we find out the differences between the different versions of ServiceNow?
Mohith 01 Jun 2023
Hi Siva,
This is very common interview question where interviewer asks difference between latest ServiceNow version (Utah as of today ) and old version.
As Rome is latest version as compare to Quebec in your question so instead of finding out differences, you should know new features we have got in Rome release. New features in Rome release will indirectly gives you difference between Quebec and Rome.
Below is the official documentation which describes New features and products in Rome release :
https://docs.servicenow.com/bundle/rome-release-notes/page/release-notes/summary/rn-summary-new-features.html
Below video also explains new features in Rome :
Video Link : https://www.youtube.com/watch?v=zWMikrL9bck
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Mohith 01 Jun 2023
I would like to add here very important question that interviewer asks that is What is latest ServiceNow release and what are the new features in new release ( e.g. Utah as of today )
Sagar 21 Jun 2023
1 Indeed, this is common question in an interview. I have been asked this question many times. To find out answer, there are many YouTube videos gets released which explains new features in details.
0 helpful
4 Helpfuls
*Name is mandatory*Please enter a reply
Satya 15 Jun 2023
What is cleanup scripts?
Suneel Kumar 07 Jul 2023
Cleanup scripts automatically run on the target instance after the cloning process finishes. Use cleanup scripts to modify or remove bad data. Cleanup scripts run after data preservers and the clone are complete.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sp 15 Jun 2023
What is RetroActive Pause?
Rathan 10 Jul 2023
If Retroactive pause is checked, any new SLA gets associated to the ticket also considers the pause time.
For example, I have 2 SLAs for 2 different group. Both have Retroactive Start is set as ticket creation date.
When ticket is created and assigned to first group, SLA1 got associated to the ticket. The ticket was put on hold for 1 hour and then assigned to 2nd Group, which linked the SLA2 to the ticket. Since the SLA2 has Rectroactive Start is set as ticket creation date, it will consider the SLA start time as ticket creation date. Now if the Retroactive Pause is also set for SLA2, it will also consider the 1 hour of pause time, which will extend the SLA breach date by 1 hour.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Megha 21 Jun 2023
What is E bonding?
Priya 19 Jul 2023
Integration between one serviceNow instance to another Servicenow instance
0 helpful
Kishan 26 Aug 2023
In addition to Priya's answer, OOTB E-bonding spokes (flow actions ) are available with which we can connect to other instances.
0 helpful
Ruchi 15 Sep 2023
E- bonding, it means company A and company B are integrated and received an acknowledgment for the same with unique ticket number. Now Company A and Company B can practically transmit the updates and other transactions.
Outbound >
Company A -----New Submit Request --- > Integration-------> Company B
Inbound
Company A <-Acknowledgment with Company B Ticket Number--<Integration --<Company B
Above hole process is Ebonding.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Mahi 04 Jul 2023
What all things are copied when you clone a widget?
Satyam 14 Aug 2023
Everything other than name and ID.
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Mahi 04 Jul 2023
How do you create a new type of change?
Praveen K 22 Sep 2023
Check this documentation link - https://docs.servicenow.com/en-US/bundle/vancouver-it-service-management/page/product/change-management/task/create-a-change-model.html
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Mahi 04 Jul 2023
When you integrate two systems, how to get the parameters dynamically?
Kajol 09 Jul 2023
There are two ways to send parameter in integration.
1. You can append parameter in URL, which later can be extracted by other system. Remember that this method is not secure as everyone can see what data you are sending.
2. You can add parameter in request body.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Satyapriya Biswal 15 Jul 2023
What are Private functions and what are the uses of it?
Can we call a private function from one script include to another script include?
Can You share a scenario where we can use private functions?
Ritesh 28 Aug 2023
Private functions are the functions which can be accessed/called from same script include or child script include, which means it cannot be called in background script or Fix script directly.
Private function in SN can be defined by using underscore in the beginning of function name
e.g. _getUserData:function(){}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sammy 27 Jul 2023
How to update change state from "Scheduled" to "Implement" automatically when Planned start date is reached?
Suresh Thorati 26 Sep 2023
1. Create a BR on Change Table.
a. State = Scheduled
Advanced: use glide time
0 helpful
Trupti 09 Oct 2023
- You can either use Flow Designer or Scheduled Job.
- Schedule it to execute daily.
- Glide into 'Change' table and check if planned start date = todays date and state=scheduled then update change state to 'implement'
0 helpful
Snowexpertaastik 02 Nov 2024
Basically you can write one Scheduled job that runs daily and check those whose Planned Start date is today and if records matches conditions then update the state of those records to implement . Below is the sample code
var changeReqs = new GlideRecord('change_request');
changeReqs.addEncodedQuery('start_dateONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()');
changeReqs.query();
while(changeReqs.next()){
changeReqs.setValue('state',-1);
changeReqs.update();
}
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Priyanka 11 Aug 2023
What is affected CI?
Kishan 26 Aug 2023
Affected CI's are the CI's which are affected by associated change. This CI's are later considered to populate Impacted CI's or services.
More Details Here : https://docs.servicenow.com/en-US/bundle/sandiego-it-service-management/page/product/change-management/concept/c_AffectedCIsAndImpactedServices.html
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Satyapriya Biswal 31 Aug 2023
What is the use of stop processing check box in inbound email action?
Siva 05 Feb 2024
All Inbound actions process according to the order value defined. When "Stop Processing" checkbox is set to true it will stop processing further inbound email actions.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Vishnu 11 Sep 2023
scenario: for eg your client is asked to implement approval for standard change.. then how can you achieve this.
Praveen 22 Sep 2023
You can achieve this by modifying the OOB change workflow
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Ksr 13 Sep 2023
how to handle errors in restapi?
Pranav 31 Oct 2023
You can handle errors based on response status code. You get status code in series 400 if there is any error
e.g.
1. 402 is error code for incorrect user details
2. 404 is either the URL you have configured doesn't exist at all, or the resource you are trying to access doesn't exist.
0 helpful
Mustafeez 12 Jan 2024
There's also ERROR 401. It's for Basic authorization error.
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Atharva Chavan 23 Sep 2023
Use of Jelly Script with an example
2 Helpfuls
*Name is mandatory*Please enter a reply
Venkatesh 13 Oct 2023
What is Difference Between Business Elasaped time and Actual Elapsed Time?
Basavaraj 02 Nov 2023
Actual elapsed values are calculated on a 24x7 basis.
Business elapsed values are calculated based on the schedule specified in the task SLA. The schedule is taken from the SLA definition by default.
0 helpful
09 Dec 2023
Actual elapsed time is the total time the SLA has taken from the time SLA start until the SLA completed.
Business elapsed time is the total time which is calculated as per Schedule type (Give in SLA form for e.g., 2 business days by 4 pm) and as per time zone. To analyze the exact SLA timing condition, we always see Business elapsed time.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Susmitha 27 Oct 2023
I was asked about difference between 200 and 201 status code
Siri 16 Nov 2023
We can handle based on response status code if we get any status code like below
200 Success Success with response body.
201 Created Success with response body
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Venky 07 Nov 2023
What is user criteria, and what is their importance?
Pranathi 27 Nov 2023
User criteria defines conditions that are evaluated against users to determine which users can access service catalog items.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Tejashree 17 Nov 2023
what is Rule base and How to used it
Pradeep 10 May 2024
By using rulebase we can add the catalog items to a order guide.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Pratik 11 Dec 2023
How we can add 51-100 record out of 100 record available in Excel file.
Mohammed Mustafa V 17 Jan 2024
Select row header 50.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Shaik Mahamamad Rafi 20 Dec 2023
How we can add 51-100 record out of 100 record available in Excel file.
Abel Tuter 06 Jun 2025
Create onBefore transform script and add this
(function runTransformScript(source, map, log, target /*undefined onStart*/ ) {
// Add your code here
if(source.sys_import_row >= 100 ){
error = true;
}
})(source, map, log, target);
1 helpful
Gvk 25 Mar 2026
you can use onBefore transform script and skip the 1st 50 rows
(function runTransformScript(source, map, log, target /*undefined onStart*/ ) {
// Add your code here
var currentRowNumber = source.sys_import_row;
if (currentRowNumber < 50) {
ignore = true;
log.info('Skipping this row ' currentRowNumber);
}
})(source, map, log, target);
0 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Atharva 10 Jan 2024
How to call script include in background script?
Namrata 10 Jan 2024
You can use below script :
var scriptInludeVariable=new ScriptIncludeName(); //Replace ScriptIncludeName with your script include name
scriptInludeVariable.functionName();//functionName-> One of the function name from your script include
0 helpful
Gvk 05 Aug 2025
new ScriptIncludeName().functionName();
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Alekhya 21 Feb 2024
When an organization wanted to integrate with SSO , what are the general prerequisities and procedure?
Kartik Magadum 05 Feb 2026
An organization must have a supported Identity Provider (like Azure AD or Okta) and a common unique user identifier (email/username) aligned with ServiceNow.
In ServiceNow, configure Multi-Provider SSO (SAML or OIDC), exchange metadata with the IdP, map user attributes, test with a non-admin user, and then enable SSO with local admin login as fallback.
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Manal Aquil 22 Feb 2024
If an organisation is using multiple tools, then how we can synch up data of all the tool .
Priyanka 17 Apr 2024
By Implementing integration between them
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Mhr 22 Feb 2024
What is the difference between Service Portal and Employee Center Portal
Poornashree 17 Jun 2024
Key Differences
Service Portal: Broad service access, highly customizable for various users.
Employee Center Portal: Tailored for employee-specific needs, combining HR, IT, and other services into one portal.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Mhr 23 Feb 2024
How can we display announcement based on user location
0 Helpfuls
*Name is mandatory*Please enter a reply
Akshaypithore 25 Feb 2024
How many ways to raise a request?
0 Helpfuls
*Name is mandatory*Please enter a reply
Akshaypithore 25 Feb 2024
Can we raise service request into script if yes then how?
0 Helpfuls
*Name is mandatory*Please enter a reply
Sudheer 03 Mar 2024
I was asked what is the difference between getXML() and getXMLAnswer()?
Srinithi 09 Mar 2024
getXML() gives the entire XML document but getXMLAnswer() only retrieves the far more efficient Answer.
2 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Cookie 06 Mar 2024
Print system date and date a year ago
Pradeep 15 Apr 2024
var gdt = new GlideDateTime();
gdt.addYears(-1);
gs.print(gdt.getDate());
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Suresh Kaliyappan 19 Mar 2024
What is stop processing in inbound actions
0 Helpfuls
*Name is mandatory*Please enter a reply
Chandu 19 Mar 2024
Difference between addQuery and addEncodedQuery methods
Nikhil Kamlekar 01 Apr 2024
addQuery or addEncodedQuery methods we usually use in querying the records. Ex: If you have one query needs to be run, you can use addQuery('category','software); If you have multiple queries then for each time you have to use addQuery instead of multiple queries you can use addEncodedQuery addEncodedQuery('paste the query here')
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Suresh , K 21 Mar 2024
Difference between dynamic and advanced reference qualifier
Priyansh Rajvanshi 23 Jun 2025
Dynamic Qualifier - It uses a pre defined filter condition stored in the Dynamic Filter option table.
Advanced Qualifier - It allows you to add JavaScript condition to filter the data based on your logic.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 09 May 2024
which type of script run in both client and server in servicenow
Suri 06 Oct 2024
Script Includes or REST API calls
0 helpful
Sumit Kumar 10 Nov 2024
UI actions using gsftsubmit
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 09 May 2024
Give one scenario where retroactive start and retroactive pause is used
Ayush Srivastava 15 Aug 2024
Let’s imagine a project with a specific start date and timeline. However, due to unforeseen circumstances or delays, the project actually started a week later than originally planned. In this case, retroactive start can be utilized to update the project start date to reflect the actual day it commenced. This allows for accurate tracking of project progress and ensures that any associated tasks or dependencies are adjusted accordingly.
Similarly, if there was a need to pause the project for a certain period, retroactive pause can be applied to indicate the actual day the project was put on hold. This helps in recording the pause duration accurately, enabling project managers to plan and adjust future timelines and dependencies accordingly.
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
What is delete and delete multiple
Amarjeet 14 May 2025
delete is used to delete single record at a time. Whereas deleteMultiple can delete the more than one record in one go.
Be cautious while using deleteMultiple, however if you have to delete large amount of data(like 10K or 20K or even more) delete multiple is preferred.
1 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
What is HTML sanitizer
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
What is error 500
Sreedhar 07 Oct 2024
Internal Server Error - An unexpected error occurred while processing the request. The response contains additional information about the error.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Keerthana Arumugam 21 May 2024
How will you setup oauth 2.0 authentication
Anil 04 Jan 2026
We can set up OAuth 2.0 by creating a new record in Application Registry of source application client ID and client Secret. For tracking purpose we can tag specific user to this Application Registry record, so whenever the API call being made, it logs in name of the user.
0 helpful
2 Helpfuls
*Name is mandatory*Please enter a reply
Chandu 22 May 2024
How to pass values between two functions in Script Include
Abhinandan 09 Jun 2024
You can use function arguments to send in data from one function to other.
2 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Krishna 04 Jun 2024
i had a question asked what are the ITSM Implementation steps in step by step not theoretical but in practical steps how do you implement ITSM?
Sri Vani 12 Jun 2024
Assessment and Planning: Understand current processes, identify gaps, and define goals. Create a roadmap detailing the implementation process, including roles, responsibilities, and timelines.
Tool Selection and Configuration: Choose an ITSM tool aligned with your organization's needs. Customize and configure the tool to support defined processes and workflows.
Process Definition and Documentation: Document ITSM processes based on industry best practices like ITIL. Ensure clarity on roles, procedures, and communication channels.
Training and Communication: Provide comprehensive training to staff on new processes and tools. Communicate changes effectively across the organization to gain buy-in and support.
Continuous Improvement: Establish metrics and KPIs to measure process efficiency and service quality. Continuously review and refine processes based on feedback and data analysis to drive ongoing improvement.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Swapnil Narad 23 Jun 2024
What is the difference between c.server.update() and c.server.get() in widget's client controller ?
Divesh Jalandriya 07 May 2025
Use get() when you just need to load/reload data and don’t need to send any input from Client side to Server side.
Use update() when you need to send data (like user input) from client to server and want the server to act on it.
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Ps 18 Jul 2024
What is media query?
Sakshi 14 May 2025
media query is used in css to give the css according to screen width.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Akshay Kumar 27 Jul 2024
Guys, In my Interview They asked like
What complex Scenario you have worked on, how you have troubleshoted and if it not solved by you then by whom you get help ?
Please answer
Hans Raj 20 Jul 2025
Complex scenario depends on situations you've deal with while working. You can ask from AI to give you some sample. Generally, whenever we get issues, we put logs/error messages in the client script to check what's the actual issue occurred. when we get that error, we can check in google or servicenow community where we generally get all our answers.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
A 24 Sep 2024
Is there any way to utilize client callable function in server side code?
Ajay 24 May 2025
No,we can't use because it is only designed to call on Client Side.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sreedhar 07 Oct 2024
What is the Authorize state in the change about?
Heisenberg 24 Dec 2024
This is the final approval stage where the change is already reviewed and approved by the project team and now it will be evaluated by CAB (Change Advisory Board) Team to decide whether the requested change is ready for deployment or not.
If approved, change will be in queue for the deployment stage.
If rejected, then the requestor needs to review the change and it will undergo all approvals based on selection of change type/ change model.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Avinash 19 Nov 2024
Question: let's say a new employee has joined the servicenow team, and he is irritating you with the same kind of technical doubts. as an administrator/developer how would you handle this?
0 Helpfuls
*Name is mandatory*Please enter a reply
Speedy 24 Dec 2024
What is a change model and how is it different from Change Interceptor?
Nacro 28 Jan 2025
An Interceptor is a wizard-like layer before creating a record in all cases when it is not clear which type of record should be created.
for example, when we click on 'Create New' module under the Change application, we are greeted by a page which consists of different options like Emergency Change, Standard Change, various standarad chnage templates and so on....
This page/interface is known as the Interceptor.
Example with screenshot
https://www.servicenow.com/community/virtual-agent-forum/what-is-interceptor-in-servicenow/m-p/2782856
0 helpful
Nacro 06 Apr 2025
Change Model consits of the the allowed state transitions and the state transition conditions, that will be followed by the Change Record in it's lifecycle.
By default the change uses 'ITIL Mode 1', but if an organization wants their change request follow a modified lifecycle they will need to create a custom change model and base their Flow off the newly created model.
Read up more here
https://www.servicenow.com/docs/bundle/yokohama-it-service-management/page/product/change-management/concept/change-models.html
OR
https://www.servicenow.com/community/itsm-forum/change-types-vs-change-models/m-p/2642973
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sumit Bhandarkar 27 Jan 2025
What is interceptor page in Servicenow? What are the uses of it?
Mettela Trivendra 01 Mar 2025
An Interceptor Page in ServiceNow is used in the Service Portal to intercept and control the flow of requests before a user accesses a page. It allows for custom logic, such as restricting access, redirecting users, validating inputs, or applying conditions based on roles or permissions. Key uses include access control, redirection, error handling, data validation, and tracking user actions.
1 helpful
1 Helpfuls
*Name is mandatory*Please enter a reply
Pallavi 29 Jan 2025
How do you integrate servicenow with any other tool.Answer should be generic which can be used for any tool? This was asked by me in interview. Can i get the answer to this question
Pavan 14 Feb 2025
You should ask for more details as it requires, what kind of integration they are looking for ?
like if they want uni directionsla or bi directional
What kind of operations they want to do based on it you can select http methods
What kind of authentication they want like basic authentication, no authentication or Oauth,
What are the end points
what is the payload
How do you want the data ? either XML or JSON ?
Like this you need to ask more to recruiter,
0 helpful
Anil 15 Oct 2025
This was asked me in Infosys
0 helpful
Rohit 18 Mar 2026
to Intregrate Servicenow we have to follow below steps ( Few steps are not mandatory but can be used as a part of best Practices)
1) ask for API Documentation(to get the endpoint details, authentication URLs and other parameter)
2) create a application registry to setup authentication profile.
3) create Rest Message (from outbound application under filter navigation) --> setup Endoint, name etc. ---> setup authentication method---> add http methods under http request.
4) Under http request default "GET method" will be created. you can use it or modify as per requirement.
5) under http method you will have to setup again Endpoints, http Headers, http Query Parameter/http parameters, and you can test the connection once it the setup is done.
6) make sure you follow API documentation provided by third party application/tool. ( API documentation is given by tool you want to integrate with).
I hope this will help for outboud,
for inboudn you can go to REST API Explorer and select your methods and parameter you want to send to other tool. and test the connection.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Sushma Swaraj 04 Apr 2025
which entries that captures in updateset?
Payal Pundir 23 Sep 2025
Client Script, Business Rules, Script Include, Data Policy, UI Policy, UI Action etc.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Shweta 09 May 2025
Difference between client callable and server callable script include
Rama 04 Nov 2025
Whenever "Glide AJAX enabled" checkbox-enabled(checked) on Script Include form. It is called as Client Callable Script Include.
Note: Enabling the "Glide AJAX enabled checkbox" doesn't restrict it from being called on server side.
Whereas "Glide AJAX enabled"-disabled(unchecked) then it is server callable Script Include.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Hans Raj 05 Aug 2025
I was asked a question in an interview that, if there were a scheduled job that ran every 2 hours and fetched millions of data points. However, since it involves a lot of data, executing it completely can sometimes take up to 3 hours. So how will you handle this situation so that you won't lose the data or get any errors?
Vinita Kushwah 22 Aug 2025
I will implement a job locking mechanism so that a new execution won’t start if the previous one is still running. Additionally, I would optimize the job by processing data in smaller batches and using a checkpoint (last run time/sys_id) so that if a run is skipped, the next run resumes without losing data.
0 helpful
Snowexpertaastik 05 Sep 2025
You can handle this by adding a mutex/flag check before the job starts, so a new run won’t trigger if the previous one is still active. Another option is to use job queues or break the process into smaller batches with checkpoints. This way you avoid overlaps, ensure data integrity, and reduce errors.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Apurva 15 Oct 2025
Using a ServiceNow code, find your age.
Sowmya 08 Feb 2026
(function () {
var dob = '1996-09-20';
var dobGDT = new GlideDateTime(dob);
var today = new GlideDateTime();
var age = GlideDateTime.subtract(today,dobGDT).getYears();
gs.info("your age is:" age);
})();
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Apurva 15 Oct 2025
Given an array, find the duplicates of in the array and return an object with duplicate number and its index
input = [1,2,3,1]
output = { 1 : [1,4]}
Keerthi Kiran M 13 Nov 2025
var arr= [1,2,3,1];
var duplicate = {};
for(var i=0; i< arr.length; i ){
if(duplicate[arr[i]]){
duplicate[arr[i]].push(i);
}else{
duplicate[arr[i]]=[i];
}
}
var result = {};
for(var key in duplicate){
if(duplicate[key].length > 1){
result[key] = duplicate[key];
}}
console.log(result);
//output: { '1': [ 0, 3 ] }
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Paki 25 Feb 2026
How to debug if certain user are unable to access widget during peak usage hours only?
0 Helpfuls
*Name is mandatory*Please enter a reply
Priyanka 20 May 2026
i have large data set i want import data by spilt them into smaller chunks . how this is achieved explain in detail .
Sumit Sharma 05 Jul 2026
You can use a concurrent import set.
0 helpful
0 Helpfuls
*Name is mandatory*Please enter a reply
Rohit 25 May 2026
What is the difference between flow and Sub flow ?
0 Helpfuls
*Name is mandatory*Please enter a reply
No questions match your search.
Submit Your Own Interview Question
*Name is mandatory*Please enter a question
🚀 Go Beyond Free
Want to walk in fully prepared?
Community Q&A is a great start. The Job Switch Kit gives you a structured 15-day battle plan,
a practice bot, per-question notes & confidence tracking, and a complete job-switch strategy —
everything to go from "preparing" to "offer in hand."
📅15-Day Study Plan
Topic-order based on interview frequency. Battle plan + key talking points every day.
🤖Mock Interview Bot
Simulate a real 45-min interview round — video & audio recorded for self-review.
📊Progress Tracker
See which topics are done, what's pending, and your overall prep percentage.
💼Job Switch Guide
Salary negotiation scripts, counter-offer strategy, and how to compare two offers.
📝Notes & Revision Sheet
Add private notes to any question, rate confidence, and download as PDF.