ServiceNow is a very robust IT service management tool and has an interface to match. It's designed to be both easy to use, and to support a multitude of business processes and applications (including the unforeseen variety). It must be able to bend to the will of the business and be putty in the hands of a capable developer like you! Don't worry if you don't consider yourself a capable ServiceNow developer just yet; read on!
Regardless of what software system you're interested in learning about, understanding the interface is likely to be the first step toward success. In this chapter, you'll learn all the major components of the user interface (UI), and how to manipulate them to suit your business' needs, find and display useful information, and administer the platform effectively. You'll also learn some time-saving tips, tricks, and UI shortcuts that have been built into the interface for power users to get around more quickly.
This chapter will cover the key components of the user interface, including:
The content and ServiceNow frames
The application navigator
UI settings and personalization
UI16 interface components and configuration
Differences between the interfaces in modern and earlier versions of ServiceNow
Pro tips for flying around the interface like a seasoned pro
Throughout this chapter, and the rest of this book, we'll be referring to various versions of ServiceNow. The versions of ServiceNow go in alphabetical order, and are named for geographic locations, beginning with Aspen—released in 2011. The ServiceNow versions, in order, are as follows:
This book will focus on the latest version of ServiceNow at the time of writing: Kingston. However, we will also reference prior versions of ServiceNow, including Jakarta, Istanbul, Helsinki, and Geneva.
ServiceNow is a cloud platform that runs inside your browser window. Within your browser, the ServiceNow interface is broken up into frames. Frames, in web parlance, are just separately divided sections of a page. This section will show you what the different frames are, what they generally contain, and the major UI elements within them.
In ServiceNow, there are two main frames: the ServiceNow frame, and the content frame. Both have different controls and display different information.
The ServiceNow frame consists of many UI elements spanning across both the top, and left side of the ServiceNow window in your browser:
The banner frame runs along the top of every page in ServiceNow, save for a few exceptions. There's room for company branding on the left, while on the right there contains more functional components for administrators and developers. From right to left, you'll find:
System Settings cog
Help and documentation button
Conversations panel button
Instance search button
Application picker (if enabled)
Update Set picker (if enabled)
In your developer instance, on the far-top-right, you will see a sort of cog or sprocket. This is generally recognized as a universal settings menu icon. Clicking on that icon reveals the System Settings menu:
This menu is broken down into several sections:
Developer (admins only)
The settings in this menu generally apply only to the current user who's signed in, so you can freely toggle and modify these settings without worrying about breaking anything. However, be aware that changing your time-zone only impacts your current session. To modify your time-zone permanently, you'll need to navigate to your user profile record, which can be found by clicking your username at the top-right of the page, and then clicking Profile.
In the General tab of the System Settings menu (as seen in the below screenshot), you'll find toggles to control accessibility options, compact the user interface, select how date/time fields are shown, select your time-zone, and even an option to display a printer-friendly version of the page you're on.
On the Theme tab, you'll find several pre-made ServiceNow themes with names like System and Blues (as seen in the below screenshot). One of the first things that a company often does when deploying ServiceNow, is to create a custom-branded theme. We'll go over how to do that in a later section, and you'll be able to see your custom themes here in this System Settings menu section.
The Lists tab (below) contains the option to wrap longer text in list columns (which was under the General tab in Geneva and earlier versions of ServiceNow), as well as options to enable striped table rows (which alternates rows in a table between contrasting shades of gray, making it easier to follow with the eye from left to right) and modern cell styles. All options in the Lists tab except Wrap longer text in list columns require the List V3 plugin to be enabled before they'll show up, as they only apply to List V3.
If your ServiceNow instance was set up initially on Helsinki or a later version, the List V3 plugin will be enabled by default. However, if you've upgraded from Geneva or an earlier version, to Helsinki, you'll be on List V2 by default, and List V3 will need to be enabled. This, and any other plugins, can be enabled from System Definition | Plugins in the application navigator.
Related lists are lists (like related tables in a spreadsheet) of related records that appear at the bottom of forms. Forms are where key data about an individual record are displayed, and collected. Selecting the After Form Loads option in the Related list loading section may improve load-time performance of your ServiceNow forms if there is a lot of related data to display.
The Notifications tab allows you to choose whether to get notifications on your mobile device, desktop toast notifications, e-mail notifications, or audio notifications. The following image shows the Notifications settings in Istanbul and prior releases of ServiceNow:
In Jakarta and later releases of ServiceNow (which you'll more likely be running), the Notifications menu shows the notifications that the platform may send out, organized by category. You can unsubscribe from them here if you choose. You will also find your Notification Channels listed here. Notification Channels are end-points for notifications; such as an email address, or mobile number:
Finally, we have the Developer tab (as seen in the below screenshot). The Developer tab is only available to users with the admin role, and is where you can find settings relating to application and update set based development.
By default, your selected Update Set should say Default [Global], which means that any configuration changes you make in the instance will not be captured in a portable update set that you can move between instances. We'll go into detail about what these things mean later on. For now, follow along with the steps below in your developer instance using your Administrator account, as we create a new update set to contain any configuration changes we'll be making in this chapter:
If you don't already have the System Settings menu open, click on the System Settings gear in the top-right of the ServiceNow interface.
If you haven't already done so, click on the Developer tab on the bottom-left.
Next, navigate to the Local Update Sets table:
In the main section of the System Settings dialog, you should see the third row down labeled Update Sets. To the right of that should be a drop-down with Default [Global] selected, followed by three buttons.
The first button () is called a reference icon. Clicking it will take you to the currently selected update set (in this case, Default). The second button () will take you to the list view, showing you all of the Local Update Sets. The third button will refresh the currently selected update set, in case you've changed update sets in another window or tab.
Click on the second button, to navigate to the Local Update Sets list view.
Click on the blue New button at the top-left of the page to go to the new update set form.
Give this update set a name. Let's enter
Chapter 1into the Name field.
Leave State and Release date to their default values.
Click Submit and Make Current.
Alternately, you could click Submit or right-click the header and click Save, then return to the record and click the Make This My Current Set related link.
Now that we've created an update set, any configuration changes we make will be captured and stored in a convenient and exportable package that we can back out or move into another instance to deploy the same changes. Now let's just confirm that we've got the right update set selected:
- If the selected update set still shows as Default, click the Refresh () button (the third icon to the right of the selected update set).
If the update set still shows as Default, just select your new
Chapter 1update set from the Update Set drop-down list. A notification should come up at the top of the window, as whenever you change your selected update set, the system will display an alert to confirm that you've done so.
The Help menu is context-sensitive, and has multiple sections depending on what page you're on, such as: What's New, User Guide, and Search Documentation. On certain pages, help information will be displayed directly in the side-panel. On other pages, you'll see a big blue Take Tour button at the bottom. Clicking this button will walk you through the module, page, or whatever it is that you're viewing.
Clicking What's New just brings up the introduction to your instance version, with a couple of examples of the more prominent new features over the previous version.
The User Guide will redirect you to an internal mini-guide with some useful pocket-reference type of info. It's very slim on the details though, so you might be better off searching the developer site (http://developer.servicenow.com) or documentation (http://docs.servicenow.com) if you have any specific questions.
Speaking of the documentation site, the Search Documentation link in this menu will take you directly there. Clicking this link from a form or list will automatically populate a query relating to the type of record(s) you were viewing, though this often doesn't quite work and you may need to search to find what you're looking for.
Moving further left in the banner frame, you'll find the conversations button. This opens the connect side-bar, showing an (initially blank) list of the conversations you've recently been a part of. You can enter text in the Filter conversation box to filter the conversation list by participant name. Unfortunately, it doesn't allow you to filter/search by message contents at this point. You can also click the plus icon to initiate a new conversation with a user of your choice. This can be a great tool for messaging users about a ticket they've submitted.
The next link to the right in the banner frame is probably the most useful one of all—the global text search. The global text search box allows you to enter a term, ticket number, or keyword and search a configurable multitude of tables.
As an example of this functionality, let's search for a user that should be present in the demo data that came with your developer instance:
Click on the Search icon (the one that looks like a magnifying glass). It should expand to the left, displaying a search keyword input box.
In that input box, type in
abel tuter. This is the name of one of the demo users that comes with your developer instance:
Press Enter, and you should see the relevant search results divided into sections.
Entering an exact ticket number for a given task (such as an incident, request, or problem ticket) will take you directly to that ticket rather than showing the search results. This is a great way to quickly navigate to a ticket you've received an e-mail about for example, or for a service desk agent to look up a ticket number provided by a customer.
The search results from the global text search are divided into search groups. The default groups include Tasks, Live Feed, Policy, People & Places, and in Jakarta: Knowledge & Catalog. Below each search group (or to the right, in versions prior to Jakarta), is a list of the tables that the search is run against for that group.
The Policy search group, for example, contains several script types, including Business Rules, UI Actions, Client Scripts, and UI Policies. These are different types of scripts or rules for the UI or business logic, all of which we'll learn about in future chapters.
The last item on our list of banner-frame elements, is the Profile link. This will show your photo/icon (if you've uploaded one), and your name. As indicated by the small down-facing arrow to the right of your name (or System Administrator), clicking on this will show a little drop-down menu. This menu consists of up to four main components:
The Profile link in the drop-down will take you directly to the Self Service view of your profile. This is generally not what Administrators want, due to the limited functionality available from this view, but it's a quick way for users to view their profile information.
Impersonate User is a highly useful tool for administrators and developers, allowing them to view the instance as though they were another user, including that user's security permissions, and viewing the behavior of UI policies and scripts when that user is logged in.
Elevate Roles is an option only available when the High Security plugin is enabled (which may or may not be turned on by default in your organization). Clicking this option opens a dialog that allows you to check a box, and re-initialize your session with a special security role called
security_admin (assuming you have this role associated with your user account). With high security settings enabled, the
security_admin role allows you to perform certain actions, such as modifying Access Control Lists (ACLs/security rules).
Finally, the Logout link does just what you'd expect: it logs you out by redirecting you to the page /logout.do on your instance.
The application navigator is one of the UI components with which you will become most familiar, as you work in ServiceNow. Nearly everything you do will begin either by searching in the global text search box, or by filtering the application navigator.
The contents of the application navigator consist of modules nested underneath Application Menus. The first application menu in the application navigator is typically Self-Service. This application menu consists in part, of what's available to a user who doesn't have any special roles or permissions. Underneath this application menu, you'll see various modules such as Homepage, Service Catalog, Knowledge, and so on:
When you hear the term application as it relates to ServiceNow, you might think of an application on your smartphone. Applications in ServiceNow and applications on your smartphone both generally consist of packaged functionality, presented in a coherent way. However in ServiceNow, there are some differences. For example, an Application header menu might consist of modules that only have links to other areas in ServiceNow, and contain no functionality of their own. An application might not even necessarily have an application header at all.
Generally, we refer to the major ITIL processes in ServiceNow as Applications (Incident, Change, Problem, Knowledge, and so on)—but these can often consist of various components linked up with one another; so the functionality within an application doesn't necessarily need to be packaged in a way that it's separated out from the rest of the system.
It isn't strictly a search, it's just filtering the list of items in the application navigator, which means that the term you enter must appear somewhere in the name of either an application menu, or a module. So if you enter the term
Incident, you'll see modules with names like Incidents and Watched Incidents, as well as every module inside the Incident application menu. However, if you enter
Create Incident, you won't get any results. This is because the module for creating a new Incident, is called Create New, inside the Incident module, and the term
Create Incident doesn't appear in that title.
In addition to filtering the application navigator, the filter text box has some hidden shortcuts that ServiceNow pros use to fly around the interface with ninja speed. Here are a few pro tips for you:
Once you've entered a term into the filter text box in the application navigator, the first module result is automatically selected. You can navigate to it by pressing Enter.
Enter a table name followed by
.listand then press Enter to navigate directly to the default list view for that table. For example, entering
sc_req_item.list[Enter] will direct you to the list view for the
sc_req_item(Requested Item) table.
Enter a table name followed by either
.do(and then pressing Enter) will take you directly to the default view of that table's form (allowing you to quickly create a new record). For example, entering
sc_request.form[Enter] will take you to the New Record intake form for the
Enter a table name followed by
.configto be taken to that table's configuration page. This will display all of the standard configuration options for a table, including Business Rules, Client Scripts, Security Rules, and more. You can also reach this page by going to any form or list, right-clicking the header, and going to Configure | All.
Each table has a corresponding form, with certain fields displayed by default.
.LISTin caps, to navigate to the list or form view in a new tab or window!
Opening a list or form in a new tab (either using this method, by middle-clicking a link, or otherwise) breaks it out of the ServiceNow frame, showing only the content frame. More on that later in this chapter.
Try it yourself: Type
sys_user.list into the application navigator filter text field in your developer instance, and press Enter. You should see the list of all the demo users in your instance!
Users can add favorites within the application navigator by clicking the star icon, visible on the right when hovering over any application menu or module in the application navigator. Adding a favorite will make it come up first when filtering the application navigator using any term that it matches. It'll also show up under your favorites list, which you can see by clicking the tab at the top of the application navigator, below the filter text box, with the same star icon you see when adding a module to your favorites.
Let's try out Favorites now by adding some favorites that an admin or developer is likely to want to come back to on frequent occasion.
Add the following modules to your favorites list by filtering the application navigator by the module name, hovering over the module, and clicking the star icon on the right:
Workflow | Workflow Editor
System Definition | Script Includes
System Definition | Dictionary
System Definition | Business Rules
System Update Sets | Local Update Sets
System Logs | System Log | All
This one (All) is nested under a module (System Log) that doesn't point anywhere, and is just there to serve as a separator for other modules. It's not much use searching for All, so try searching for System Log!
- At the bottom-right of the application navigator in the ServiceNow frame, click on the Edit Favorites pencil icon ().
Click on the favorite item called
Workflow – Workflow Editor. This will select it so you can edit it in the content frame on the right:
In the Name field, give it something simpler, such as
Workflow Editor. Then choose a color and an icon. I chose white, and the icon that looks like a flowchart. I also removed my default Home favorite, but you may choose to keep it.
Here is what my favorites look like after I made some modifications:
incident.listinto the filter text box at the top of the application navigator; then press Enter.
Click on the Edit filter icon at the top-left of the Incidents list, and filter the Incident list using the condition builder.
Add the following conditions:
Active is true, and
Assigned to is empty. Then click on Run:
- The list should now be filtered, after you hit Run. You should see just a few incidents in the list. Now, at the top-left of the Incident table, to the left of the Incidents table label, click on the hamburger menu () (That's really what it's called). It looks like three horizontal bars atop one another.
In that menu, click on the Create Favorite button or, if you prefer, drag the last condition in the query breadcrumb at the top of the list to the application navigator to create a favorite.
Choose a good name, like Unassigned Incidents, and an appropriate icon and color. Then click Done. You should now have an Unassigned Incidents favorite listed!
Finally, if you click on the little white left-facing arrow at the bottom-left of the application navigator , you'll notice that no matter which navigator tab you have selected, your favorites show up in a stacked list on the left. This gives you a bit more screen real-estate for the content frame.
Starting in the Geneva version and later, ServiceNow began storing your history in an easily accessible tab to the right of the Favorites tab in the application navigator. This allows you to see the pages, records, and lists you've visited during your session, and click on any of them to get back to a previous page.
There are a few particular application menus and modules that developers and administrators should be aware of, as they're home to some of the more useful tools and parts of ServiceNow. You've already seen a few of them, and have added them to your favorites list! Here, I'll go through a few of the other more useful modules and what they're for:
System Definition: Home to a great many useful modules, and contains definition information for various components of ServiceNow such as scripts and dictionary records.
Catalog Definitions: Under Service Catalog | Catalog Definitions, Maintain Items allows you to see and modify catalog items, including related lists for their variables, categories, and other related records. Similarly, you can maintain categories, catalog shopping cart layouts, and even different service catalogs from this sub-menu.
System Applications: Using the Studio link in the System Applications menu takes you to the Application Development Studio interface, where you can build powerful scoped applications to create or enhance the functionality of your instance. This is useful, especially as some applications are installed in a special walled-off scope (for example, the HR application).
System Clone: Using this application menu, you can create a clone target (such as adding your company's development and/or UAT instance(s) as clone targets for their production instance) and initiate a clone from one instance, over another. This is an important bit of housekeeping, since the more development work done in an instance, the further it tends to drift from the state of the production instance, and thus the more likely any future development that's done in it is to have issues when pushed to production. To keep instances in sync, it's usually a good idea to clone regularly.
Session Debug: Under System Diagnostics | Session Debug, you'll find all kinds of helpful debugging options. We'll go into detail on debugging in another chapter, but suffice it to say that Session Debug is a very useful section. Just remember to disable debugging when you're finished, as debugging usually impacts performance for at least your session!
System diagnostics: This section contains several useful diagnostic tools, including my favorite: The Script debugger. We'll go into more details on how this works in a later chapter, but it's a fantastic tool for debugging server-side scripts, and well-worth bookmarking!
System Properties: The System Properties application menu contains links to properties pages for various aspects of the UI, system configuration, service catalog, and more. Properties are just system values stored in a table which can be modified to change certain behaviors. For example, the
glide.ui.ui15_switch_rolesproperty controls whether users can choose to manually switch between UI15 (the old version of the ServiceNow interface) and UI16 (the new interface version) using a button in the System Preferences window, based on roles.
The content frame of the user interface is where you'll find the lists, forms, pages, and other contents. When left-clicking on a module in the application navigator, the resulting page, list, or form will load in the content frame (with a few exceptions such as the Workflow Editor):
The content frame is displayed inside the ServiceNow frame (under the banner, and to the right of the application navigator). However, you can actually break the content frame out from the ServiceNow frame by opening a link in a new tab or window; for example, by middle-clicking a link in the application navigator.
Whether it's a link inside the content frame itself, or a module in the application navigator, opening the link in a new tab or window (whether from the right-click menu, by middle-clicking, or by Ctrl-clicking the link) will open just the content frame with the linked contents, but the banner and application navigator will not be present.
Without the content frame, the URL will look something like this:
With the content frame, the URL will look like this:
nav_to.do?uri= before the rest of the URL after the forward-slash following the domain name (
service-now.com) essentially navigates to the ServiceNow frame (located at
nav_to.do), and passes a URL parameter (the bit after the question mark) named
uri with a value of whatever text happens to follow the equals sign.
URL parameters can be strung together using the ampersand (
&), and can be accessed as name-value pairs from within client scripts. For example, have a look at this URL:
www.url.com/page?parmOne=code&parmTwo=is%20cool. This URL contains two parameters:
parmOne is set to the string
parmTwo is set to the string
is cool (because we decode the
%20 to a space).
So if you middle-click or otherwise open a link in a new tab, you'll be directed to the URL sans
nav_to.do?uri=, but you can easily add this back into the URL. However, there's a small catch here. Only the first URL parameter uses the question mark. Any subsequent parameters use an ampersand.
When navigating the ServiceNow UI, it's important to understand the difference between configuration, and personalization. These are defined terms within ServiceNow. As a general rule, configuration results in changes for everyone, whereas personalization results in changes just for you.
Most configuration modifies global system settings, configuration records, and properties (properties can be found in the
sys_properties table), whereas most personalization results in modified or generated preferences (user preferences can be found in the
sys_user_preference table). You can create Global default preferences by creating a preference record in the
sys_user_preference table that isn't assigned to any particular user, but these default preferences can be overridden on a user-by-user basis, if users modify their preferences manually. It would be possible to create a data policy or business rule to prevent users from customizing certain preferences, but this may lead to a bad user experience. We'll discuss data policies and business rules in a later chapter.
Changing the columns that are displayed when viewing a given list, using Personalize List Columns from the hamburger menu at the top-left of lists:
- Or by clicking the gear ()menu at the top-left of the list view in Geneva and earlier.
- Adding or removing fields on a form using the Personalize Form () button at the top-right of a form.
Changing the columns that are displayed when viewing a given list, using List Layout from the hamburger menu at the top-left of the list view (or by right-clicking the list header, and navigating to Configure | List Layout if you're using List v2). This is similar to the Personalize List Layout personalization option we discussed earlier, but it alters the default list layout, which impacts all users who view the list.
Modifying the system themes from the System UI | Themes module in the application navigator—not to be confused with selecting a theme from the System Settings dialog, which constitutes personalization rather than configuration.
Adding/removing fields or moving fields around on a form, using the Form Designer (Configure | Form Design), or from Configure | Form Layout.
Take care not to make configuration changes when you mean to make personalization changes. Having the admin role can be a burden in this way. Some even avoid this by having entirely separate admin-only accounts that they must log into separately, so they won't make configuration changes by accident.
In this chapter, we learned about how content is organized on the screen, within frames—the banner frame, application navigator, and content frame. We also learned how to use the global text search functionality to find the records we're looking for, what it means to elevate roles or impersonate a user, and how to get around the application navigator, including some pro tips on getting around like a power user from the filter text box.
In the next chapter, we're going to discuss what are probably the two most important UI components: lists and forms. You'll learn how to customize and personalize your instance's lists and forms, and get hands-on experience doing just that!