ServiceNow Interview Questions-Modified
ServiceNow Interview Questions-Modified
ServiceNow is an IT management tool that allows organizations to manage all aspects of their IT
infrastructure including asset management, IT Service Management (Incident management, problem
management, change management, etc.), CMDB etc.
Following are captured in update Sets: Business Rules, Client Scripts Fields Forms and Form Sections
Reports Tables Views Workflows
Data records can be captured, but you have to do it explicitly. From a list, check your records and then
use the list UI action option “Create Application File”.
Q. What is the condition to check which records will be captured within an Update Set?
The Condition is “update_synch=true “ . Navigate to the sys_dictionary. Personalize the list to include the
Attributes column. Filter on Attributes is update_synch=true.
To move the customization, open “sys_update_xml” table and update the “update_set” field with correct
update set.
The scratchpad in workflow is a space in the workflow context to store and share string based variables
between instances of activities within an executing instance of a workflow.
Or, the scratchpad is a special field on a Workflow context that allows workflow activities to
communicate data to subsequent activities.
Or, the workflow scratchpad is used to store data during the execution of a workflow. Values in the
scratchpad can be set and/or accessed by any activity in the workflow.
The scratchpad is global to the instance of the running workflow and as such, is available equally to all
activities.
Using the scratchpad requires at least two activities in a workflow, thesending activity which writes data
to the scratchpad, and the follow-up activity which uses this data.
The scratchpad can hold variables of any JavaScript data type that can be represented as JSON.
You cannot add functions or scriptable Java objects, such as GlideRecord, to the scratchpad.
The scratchpad itself is automatically available to an executing workflow and requires no specific
declaration. Variables are declared and stored in the scratchpad simultaneously by referencing it.
workflow.scratchpad.variableName = variableValue; Or var myValue =
workflow.scratchpad.variableName;
Q. List of Data Types stored by Workflow Scratchpad?
The primary difference between these methods is that 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. Other methods, GlideRecord and g_form.getReference()
are also available for retrieving server information. However, these methods are no longer recommended
due to their performance impact. Both methods retrieve all fields in the requested GlideRecord when
most cases only require one field.
Q. How we can get information from the server? And Among them which are the best ones.
We can get information from server using g_scratchpad, GlideAjax, GlideRecord, g_form.getReference().
The top ways to get information from the server are g_scratchpad and asynchronous GlideAjax lookup.
The g_scratchpad object passes information from the server to the client, such as when the client
requires information not available on the form. For example, if you have a client script that needs to
access the field u_retrieve, and the field is not on the form, the data is not available to the client script. A
typical solution to this situation is to place the field on the form and then always hide it with a client
script or UI policy. While this solution may be faster to configure, it is slower to execute. If you know
what information the client needs from the server before the form is loaded, a Display Business Rule can
create g_scratchpad properties to hold this information. The g_scratchpad is sent to the client when the
form is requested, making it available to all client-side scripting methods. This is a very efficient means of
sending information from the server to the client.
For example, assume you open an incident and need to pass this information to the client: The value of
the system property css.base.color Whether or not the current record has attachments The name of the
caller’s manager A display business rule sends this information to the client using the following script:
g_scratchpad.css = gs.getProperty(‘css.base.color’);
g_scratchpad.hasAttachments = current.hasAttachments();
g_scratchpad.managerName = current.caller_id.manager.getDisplayValue();
To access scratchpad data using a client script:
// Check if the form has attachments
if (g_scratchpad.hasAttachments) // do something interesting here
else
alert(‘You need to attach a form signed by ‘ + g_scratchpad.managerName);
The scratchpad itself is automatically available to an executing workflow and requires no specific
declaration. Variables are declared and stored in the scratchpad simultaneously by referencing it.
workflow.scratchpad.variableName = variableValue;
Or
var myValue = workflow.scratchpad.variableName;
Q. Define GlideAjax?
The GlideAjax class allows the execution of server-side code from the client.
Function names starting with “_” are considered private and are not callable from the client.
getXML() getXMLWait()
getXML is Asynchronous getXMLWait() is Synchronous
getXML() is used when you want processing to continue, even if the results have not been returned.
getXMLWait() is used when you want to halt processing until the results are returned. This will
halt everything and wait for it to finish and return the results
If you are retrieving some data from server and next tasks does not depend on what you are retrieving
from server. Then will use getXML(). When you are trying to retrieve value of the variable. After
getting value then only we can precede next step like comparing it with user input. In such scenarios will
use getXMLWait().
Q. Can we execute Script Include from Business Rule? Explain with example?
To execute a script include from Business Rule, you just need to create an object of that Script Include
(which is typically a class) and call that function of that script include with the object.
Script Include: MyScript
Function in the Script Include: myfunction() In the Business Rule just WriteVar x=new
MyScript();x.myfunction();
gsftSubmit(null, g_form.getFormElement(), “UI Action Id”) triggers the UI Action which is specified in the
3rd parameter, which is the action name/element id.
It is mostly used in UI actions that have a client side and a server side script.
At the end of the client side script, you call gsftSubmit in order to trigger the UI Action again – this time
running only the server side code.
Q. Define SLA?
SLA allows the service desk to track whether or not their representatives are providing a certain level of
service.The most common use of SLAs is to ensure that incidents are resolved within a certain amount of
time.
If an incident’s priority is changed to 1 – Critical and a Priority 1 SLA is attached at that time, Retroactive
start means that the SLA counts from when the incident was first created, rather than from when the
incident’s priority changed. If Retroactive start is cleared, the SLA starts on the date and time that it was
attached to the incident.
Reference Qualifier is used to restrict the data that is selectable for a reference field.
Dictionary Override provide the ability to define a field on an extended table differently from the field on
the parent table. For example, for a field on the Task [task] table, a dictionary override can change the
default value on the Incident [incident] table without affecting the default value on Task [task] or on
Change [change].
These are:
Missing object
Type mismatch
Collision
Uncommitted update
Application scope validation issue
Q. Fields not visible for one user?
ITIL can open, update, close incidents, problems, changes, config management items but ITIL_Admin role
has the ability to delete incidents, problems, changes, and other related entities.
Q. Define ACL .
ACL is used to control what data users can access and how they can access it. The system searches for
ACL rules that match both the object and operation the user wants to access. If there are no matching
ACL rules for the object and operation combination, then the object does not require any additional
security checks and the instance grants the user access to them.
NOTE: A user must pass both field and table ACL rules in order to access a record object.
If a user fails a field ACL rule but passes a table ACL rule, the user is denied access to the field described
by the field ACL rule.
If a user fails a table ACL rule, the user is denied access to all fields in the table even if the user previously
passed a field ACL rule.
A record producer is a specific type of catalog item that allows end users to create task-based records,
such as incident records, from the service catalog.
List value returns a comma-separated list of sys_ids. For example: List value, return an array which can be
iterated to retrieve the individual values submitted by your user.
var sys_id_string = producer. glide_list_field ;
var sys_id_list = string. split ( ‘,’ ) ;
Q. How can you redirect an end user to a particular page after the record producer is submitted?
producer.redirect=”home.do”; The following code redirects users to their homepage after the record
producer is submitted.
Order guides enable customers to make a single service catalog request that generates several items.
Order guide rules define conditions that must be met for a specific item to be included in an order. For
example, a New Employee Hire order guide rule can state that if the new employee job title is CTO or
Director, and the department is IT, then add an executive desktop item to the order.
Cascading allows values entered for variables in the initial order form to be passed to the equivalent
variables in the ordered catalog items. To enable cascading, select the Cascade variables check box when
creating the order guide. Then, create variables on the catalog items that match the names of the
corresponding variables in the order guide. When a customer places an order, the variables on the
ordered items inherit the values of the identically named variables in the order guide.
Yes, we can run an order guide automatically from within a workflow or a server script, passing
parameters to that order guide to define variable values.
Q. How can you direct users to a specific catalog via a URL to a module in that particular catalog?
In the Link Type section, select URL (from Arguments), then in the Arguments field, enter a URL of the
form catalog_home.do?sysparm_catalog=id of sc_catalog record&sysparm_catalog_view=view name of
sys_portal_page.
catalog_home.dosysparm_catalog=742ce428d7211100f2d224837e61036d&sysparm_catalog_view=catal
og_technical_catalog
Note: If a URL has a valid sysparm_catalog parameter, but an invalid or missing sysparm_catalog_view
parameter, the view with the default value from the corresponding Catalog Portal Page record is used. If
a URL has a valid sysparm_catalog_view parameter, but an invalid or missing sysparm_catalog parameter,
the corresponding Catalog Portal Page record is used to set the catalog.
If there are no active items in a category’s hierarchy, that category does not appear in (and cannot be
added to) the catalog. Users with the admin or catalog_admin roles can see all categories, regardless of
the number of active items. Configure the glide.sc.category.canview.override property to change this
behavior.
It is used to hide the item price in the cart and the catalog listing.
The Branch activity splits the workflow into multiple transition paths from a single activity.
The Join activity unites multiple concurrent execution paths into a single transition.
The Lock activity prevents other instances of this workflow from continuing past this activity until the lock
is released. For example, if a workflow is triggered when a record is added to a particular table and
multiple records are added one after the other, that workflow will be triggered multiple times: once by
each record insertion. In such cases, you can use the lock activity to ensure that this instance of the
workflow has completely finished one or more activities before any other instance of the workflow can
proceed.
The Wait for condition activity causes the workflow to wait at this activity until the current record
matches the specified condition. The workflow evaluates the wait for condition each time the current
record is updated. Use this activity to pause a workflow indefinitely until a particular criteria is met by a
record update.
The Wait for WF Event activity causes the workflow to wait at this activity until the specified event is
fired. Use this activity to wait for another activity to fire an event.
The SLA Percentage Timer activity pauses the workflow for a duration equal to a percentage of an SLA. A
workflow must run on the Task SLA table to use this activity.
The Timer activity pauses the workflow for a set period of time. This duration can be an absolute time
value or a relative value based on a defined schedule.
When conditions in a workflow triggers a Rollback To activity, the workflow moves processing backward
to a specified activity in the workflow and resets certain activities that have already executed back to
their original state.
The Approval Coordinator activity is used as a container for one or more Approval – User, Approval –
Group and Manual Approval activities. When the Approval Coordinator activity completes, all pending
approvals that were created by any of the Approval Coordinator approval activities are immediately set
to No Longer Required.
The Approval Action activity sets an approval action on the current task. Use this activity to mark the
current task record as approved or rejected.
Q. What is the difference between copy and insert/insert and stay catalog item?
Copy an item means creating a full duplicate of the item, including the item details, attachments,
variables, client scripts, and approvals. Insert only copies the item details.
Q. Can a Catalog item will be available in more than one catalog and category?
Yes, a catalog item can be available for multiple catalogs and categories.
Q. Define Metric.
A metric measures and evaluates the effectiveness of IT service management processes. For example, a
metric could measure the effectiveness of the incident resolution process by calculating how long it takes
to resolve an incident.
Q. What will you do if you want to configure the metrics on other table apart from task table?
To apply metrics to other tables, duplicate the metric events business rule that currently runs on the task
table for the other table. For example, To apply metrics to cmdb_ci tables, duplicate the metric events
business rule that currently runs on the task table for the cmdb_ci table. Without the events created, no
metric processing can occur.
The limitations of Database View are: • Database views cannot be created on tables that participate in
table rotation. • It is not possible to edit data within a database view.
Data Lookup is used to define rules that automatically set one or more field values when certain
conditions are met. For example, on Incident forms, there are priority lookup rules for the sample data
that automatically set the incident Priority based on the incident Impact and Urgency values. Note: • The
custom table must extend the Data Lookup Matcher Rules [dl_matcher] table. • The columns of a data
lookup table contain both matcher and setter field data.
These fields are typically used for Integration purposes. Correlation id is often used for storing third-party
ids. Like with the SCCM integration, it stores the SCCM resource_id in the ServiceNow correlation_id
field.
The correlation Display field can contain a free-form descriptive label of what third party system is
replicating or tied to this record. For example, if you are tying incident records to a third party ticketing
system when they are created within ServiceNow, the corresponding ticket ID from the third party would
be stored in the correlation ID field. You could also set the correlation display field to be “JIRA”, or
“REMEDY”, or whatever you want to indicate the third party system using this ticket.
Script include is basically re-usable code that are used to store JavaScript that runs on the server.
Service Portal is use to create more attractive, user-friendly interface for your users.
An update set is a group of customizations that can be moved from one instance to another.
Q. In which table customizations that are associated with the update set is stored?
Customizations are stored in Customer Update [sys_update_xml] table.
A view defines the elements that appear when a user opens a form or a list. Views are form layouts that
you can use to present the same record information in various ways. For example, end users see a
simplified view of the incident record and ITIL users see more fields. It’s the same data, just displayed in
different ways – or views
Coalesce means the field will be used as a unique key. In an import, If a match is found using the coalesce
field; the existing record will be updated with the information being imported. If a match is not found,
then a new record will be inserted into the database.
To only update records where a match is found, and skip records where a match is not found, specify a
coalesce field and add the following script as an OnBefore script to the transform map. if (action ==
‘insert’) ignore = true;
Applications automatically include any homepages and content pages that are created within or
associated to an application. We can manually add homepages and content pages to update sets:
To manually add a page to an update set:
• Navigate to Homepage Admin > Pages.
• Right-click a homepage record.
• Select Unload Portal Page.
A homepage is a dashboard that consists of navigational elements, functional controls, and system
information. When a user logs on Service Now, the default homepage defined for their role appears.
Homepages have two types of roles: read and write. Read roles limit who can view the page. Write roles
limit who can make edits to the page rename, such as moving around gauges or deleting the homepage.
• Navigate to Homepage Admin > Pages.
• Select the homepage you want to secure.
• Click the lock icons next to Write roles or Read roles.
• Move the roles you want to restrict homepage access to from the Available column to the selected
column.
• Click Update.
Q. How can you create global homepage or Homepage for specific users?
Q. Why it is very important to click on Edit Homepage related link while creating global Homepage or
Homepage for specific users?
We must click Edit Homepage to make changes to a global homepage that take effect for all users who
can access the homepage. If you click View Homepage and make changes, a personal homepage is
automatically created for you and those changes take effect only on that personal homepage.
Q. How can you specify a Login Landing Page using System Property?
To specify a login landing page for all users, change the property value on the sys_properties table:
• Type sys_properties.list in the navigation filter.
• Locate the glide.login.home system property.
• In the Value field, enter the name of the page that all users will see upon login. Use <page name>.do;
you may omit the http://”instance”.service-now.com/ portion of the URL. To determine the page name
or the URL of a page in the system, you can point to a link. Some possible pages are: incident.do
A Service Request works with the cart where you can add multiple and then you can order. On the other
end it creates a request, request item, and possibly approvals and tasks depending on its workflow.
A record producer is nothing but task based record. Record Producer uses a script or template to create
task based records, ideally not a Request.
If the Default update set is marked Complete, the system creates another update set named Default1 and
uses it as the default update set.
A business rule is a server-side script that runs when a record is displayed, inserted, updated, or deleted,
or when a table is queried.
Business rules run based on two sets of criteria: The time that the business rule is configured to run
relative to a record being modified or accessed.
The primary objective of display rules is to use a shared scratchpad object, g_scratchpad, which is also
sent to the client as part of the form. This can be useful when you need to build client scripts that require
server data that is not typically part of the record being displayed.
g_form is a global object in the GlideForm class that references the currently active form.
g_user is a global object in GlideUser that references the currently active user .It contains information
about the current user.
Note:- Both runs on Client Side.
Ans: When a user belongs to more than one group, each group provides him permissions.
Q.______ receives notification, meeting invites on behalf of another user. Ans: Delegate
Q.What is the important factor to remember when a user is creating catalog variable? Ans: Catalog
Variables are global by default.
Ans: An update set is a group of customizations that can be moved from one instance to another.
Q.How can you change the number prefix from "INC" to "IN" for incident table? Ans:
Q. Which setting allows the user to view knowledge articles without logging in?
a. ESS Role b. Public Setting c. View All Setting d. View all Role
Ans: Roles can contain other roles. When user is assigned to a role, he will inherit the contained roles as
well.
Ans: If there are row and field ACLs, user has to satisfy both to have access to the field.
Ans: It contains information about a field's data type, character limit, default value, dependency, and
other attributes.
Q.How do you know which release version of Service Now you are working on? Ans: Go to System
Diagnostics->Stats and check the Build name.
Q. What does this icon do (provided the home symbol in the banner)
Q. When user creates a table "abc", how does service now name it? Ans: u_abc
Ans: Coalescing on a field (or set of fields) means the field will be used as a unique key.
Ans: A transform map is a set of field maps that determine the relationships between fields in an import
set and fields in an existing Service Now table (such as Incidents or Users).
How is the application Navigator (left nav) populated onload Ans: It is populated based on the role of the
logged in user.
Ans: Client script runs at client side onLoad, onchange and onSUbmit of the form, BR runs at server side
before/after record in inserted, updated or deleted.
37. onChange client script runs on.? Ans: Change in the value of a particular field
Q. Links, buttons, context menu action belongs to.? Ans: UI action
Q. Which among the following can a UI policy accomplish? Ans: Making a field read-only
Ans: Moving an entry from Selected to Available slush bucket removes it from the form.
Ans: System Logs->events->system.upgraded, use this event to trigger the System Upgraded notification
Q.What all modules can an ESS user see under in Service Catalog?
Q.What are the variables that you can add when you create a catalog item? Ans: Options contained the
combinations of following fields: Slush bucket, multiple choices, additional category, single line text,
multi-line text, choice list, checkbox
Q. A set of selected catalog items based on conditions derived from the initial information.
Ans: Change the maximum size of attachments and restrict the type of attachments [I chose this option
as this requires a modification in sys_properties, other options were possible with non-admin roles]
Q. Which of the following are available in Service Catalog:-Ans: Record Producer, Catalog Variables, Order
Guides
When moved from left to right slush bucket, ref fields become bold
System tables cannot be deleted
Deleted system tables will be created again during an instance upgrade
[Don’t remember this one, I chose b]
Ans: An ACL rule only grants a user access to an object if the user meets all of the permissions required
by the matching ACL rules. -The condition must evaluate to true. -The script must evaluate to true or
return an answer variable with the value of true. -The user must have one of the roles in the required
roles list. -The other matching ACL rules for the object type must evaluate to true.
51. What is sys_id? ans - unique identifier for each record in a table
Q.What is the one pause condition for incident SLA? ans - awaiting <something>
ans - You can define visibility of variables on task form through workflow when it is created
What is BSM MAP?
ans - It compares the uniqueness of data if not found, creates new record
Q. What steps will u take to load data from spreadsheet? ans - load data, create transform map,
transform
Q.As an end user which modules of service catalog do you see? ans - My requests, Requested Item
ans - document creation, approval and review from SMEs and publishing
Gauge is added to ans - homepage
Ans. Save saves the record & stays on form, while Insert creates a new record & redirects to list view.
Q.If an admin wants to check the status of task from a service catalog request, what path he's expected
to follow
Q.How the catalog variables cab be arranged on a catalog item Ans. By setting the appropriate value of
field 'Order'.
Q. How do you modify the field behavior? Ans. Right click> Personalize > Dictionary
Q. What do you mean by Elevated Privileges? Ans. Session
Ans. Each update set is stored in the Update Set [sys_update_set] table, and the customizations that are
associated with the update set (stored in the Customer Update [sys_update_xml] table) appear as a
related list on the update set record.
82. KB articles are referred in which modules below? Ans. Service Catalog, News, INC.
83. What changes out of below would be applied in case of a merge update set?
Ans. You can merge multiple update sets into one for easy transfer.
Ans. The Platform Security Settings - High plugin is active by default on all new Service Now instances.
For instances in which the high security settings are active, observe the following cautions:
Integrations into Service Now tables fail unless access control lists (ACL) are defined for the tables being
accessed and the appropriate roles are assigned.
The same ACL requirements apply for import sets that apply to integrations.
The Platform Security Settings - High plugin automatically activates the Contextual Security plugin if it is
not already active. In addition, the Platform Security Settings - High plugin delivers the following settings
and features in the context of increasing the security of your Service Now platform.
Features:
High Security Settings: Default property values to harden security on your platform by centralizing all
critical security settings to one location for management and auditing. Default Deny Property: A new
security manager property controls the default security behavior for table access.
Security Administrator Role: A new role used to prevent modification of key security settings and
resources. The Security Administrator role is not inherited by the admin role and must be explicitly
assigned.
Access Control Lists: Prevents modification of sensitive and platform-level resources in prior versions.
Property Access Control: Enables the ability to set read and write roles to individual properties in order to
prevent modification.
Elevated Privilege: Allows users to operate in the context of a normal user and elevate to higher security
role when needed.
Transaction and system logs are read only.
Q.Data inconsistency correction is done from automated? Ans. Plugin, Configurations, Workflow
Q. Workflow editor and Service catalog differs in approval methodology? Ans. True
Q.If a split is added in a form, how many columns get created? Ans. Two
Ans. icon ( )
Application Navigation Search history is stored somewhere or not? Ans. No
Upgrade of instance, which is true?
As an SN Admin, you will manually do it
It happens once in a year at 8 pm