ServiceNow Scripting Interview Questions 2025
What is the difference between Fix Script and Background Script?
1. We can check progress for Fix Script but not for Background Script.
2. We can kill running fix scripts in between but background script we cannot(Unless we go to Active Transactions via other session and kill it).
3. We can run Fix Script in background but Background script only runs in foreground.Foreground means the current session will be blocked until script execution gets completed, background process means you can keep on working on other stuffs while script runs in background.
4. Background script cannot be run for Scoped Application but Fix Script can be.
1. We can check progress for Fix Script but not for Background Script.
2. We can kill running fix scripts in between but background script we cannot(Unless we go to Active Transactions via other session and kill it).
3. We can run Fix Script in background but Background script only runs in foreground.Foreground means the current session will be blocked until script execution gets completed, background process means you can keep on working on other stuffs while script runs in background.
4. Background script cannot be run for Scoped Application but Fix Script can be.
What is the purpose of setWorkflow() method?
The purpose of setWorkflow method is to enable/disable the running of further business rules that may be triggered by current update.
The purpose of setWorkflow method is to enable/disable the running of further business rules that may be triggered by current update.
What is difference between initialise and newRecord method while inserting new record?
initialize(): Creates record with empty default field values.
newRecord(): creates a GlideRecord, set the default values for the fields and assign a unique id to the record.
Example :

Output :

initialize(): Creates record with empty default field values.
newRecord(): creates a GlideRecord, set the default values for the fields and assign a unique id to the record.
Example :
Output :
What is the use of get method in Glide record?
The ‘get’ method is used to return first record in the result set.
The ‘get’ method can also be used when you know the sys_id of that record. It returns Boolean values based on the result.
Example 1:
var grIncident=new GlideRecord('incident');
if(grIncident.get('9e7f9864532023004247ddeeff7b121f')){
gs.print('There exist incident with sys_id 9e7f9864532023004247ddeeff7b121f');
}else{
gs.print('There is no incident with sys_id 9e7f9864532023004247ddeeff7b121f');
}
Example 2:
var grIncident=new GlideRecord('incident');
if(grIncident.get('number','INC0000601')){
gs.print('There exist incident with number INC0000601');
}else{
gs.print('There is no incident with number INC0000601');
}
The ‘get’ method is used to return first record in the result set.
The ‘get’ method can also be used when you know the sys_id of that record. It returns Boolean values based on the result.
Example 1:
var grIncident=new GlideRecord('incident');
if(grIncident.get('9e7f9864532023004247ddeeff7b121f')){
gs.print('There exist incident with sys_id 9e7f9864532023004247ddeeff7b121f');
}else{
gs.print('There is no incident with sys_id 9e7f9864532023004247ddeeff7b121f');
}
Example 2:
var grIncident=new GlideRecord('incident');
if(grIncident.get('number','INC0000601')){
gs.print('There exist incident with number INC0000601');
}else{
gs.print('There is no incident with number INC0000601');
}
How can we update records without updating system fields like Updated, Created, etc. for a particular update?
The autoSysFields is used to disable the update of ‘sys’ fields (Updated, Created, etc.).
Example Script:
var gr = new GlideRecord('incident');
gr.addQuery('category', hardware);
gr.query();
while(gr.next()){
gr.autoSysFields(false);
gr.category = 'software';
gr.update();
}
The autoSysFields is used to disable the update of ‘sys’ fields (Updated, Created, etc.).
Example Script:
var gr = new GlideRecord('incident');
gr.addQuery('category', hardware);
gr.query();
while(gr.next()){
gr.autoSysFields(false);
gr.category = 'software';
gr.update();
}
What is the necessity of script action if we already have script include to write server side script?
Script Actions are executed asynchronously while Script Includes are executed synchronously.
If there is scenario where script execution is going to take longer time then it's always better to go with Script Actions as user don't need to wait for script execution completion.
Script Actions are executed asynchronously while Script Includes are executed synchronously.
If there is scenario where script execution is going to take longer time then it's always better to go with Script Actions as user don't need to wait for script execution completion.
How to stop form submission on Client and Server side?
On client side, we can use 'return false'.
On server side, we use the function 'current.setAbortAction(true)'.
On client side, we can use 'return false'.
On server side, we use the function 'current.setAbortAction(true)'.
What are the private function in script include and how to define them?
Function names starting with underscore are considered as private functions. These functions can be called only in same script include or extended/inherited script include.
Function names starting with underscore are considered as private functions. These functions can be called only in same script include or extended/inherited script include.
Assignment for you:
1. What is the difference between getXML(), getXMLAnswer() and getXMLWait() in GlideAjax? What are the drawbacks of using getXMLWait() function?
2. What is the best way to find difference between datetime on server side and client side?
3. How to copy attachments from one record to another?
1. What is the difference between getXML(), getXMLAnswer() and getXMLWait() in GlideAjax? What are the drawbacks of using getXMLWait() function?
2. What is the best way to find difference between datetime on server side and client side?
3. How to copy attachments from one record to another?
Prepared and confident for your interview?
Practice makes perfect! Test your skills with our virtual interview practice buddy and ensure you're fully ready for your upcoming interview.
User Added Interview Question and Answers
In ServiceNow, to write a background script that closes a related RITM (Request Item) when the corresponding SC Task is closed
GlideQuery() and GlideFilter() usage
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);
What is cleanup scripts?
Why we don't use initialize function in scriptinclude while calling it from a client script using GlideAjax
🚀 Power Up Your ServiceNow Career
Join a growing community of smart ServiceNow professionals to stay ahead in interviews, sharpen your development skills, and accelerate your career.
Fuel My Passion
Loving the content? Well, of course you are. Here’s your chance to indirectly fuel the chaos that keeps this website running. Your contribution helps keep the wheels turning and allows me to continue pretending to be a responsible adult—while cranking out more content for you. Thanks for supporting my delusional dreams and helping me keep this website alive!
Buy Me a Coffee
Support with UPI
If you prefer making a UPI payment to support the website maintenance cost, scan the QR code below: