Table of Contents
Welcome to our JAVASCRIPT PAGE Section L
Latest Docs Button
javascript:(function(){var a=location.href;if(a.toString().includes('docs.servicenow.com')){var b=a.indexOf('/concept/')+9;var c=a.indexOf('.html',b)+5;a='https://docs.servicenow.com/csh?topicname=%27+a.substring(b,c)+%27&version=latest%27;navigator.clipboard.writeText(a);alert(%27Latest%20page%20URL%20copied%20to%20clipboard.\nNavigating%20to%20latest%20page%20version.%27);location.href=a}else%20alert(%27This%20does%20not%20appear%20to%20be%20a%20ServiceNow%20Docs%20page.%20This%20button%20only%20works%20for%20pages%20on%20docs.servicenow.com.%27)})();
LIST BUTTON
javascript:(function(){var myURL = window.location.href;myURL = decodeURIComponent(myURL);if ( myURL.indexOf("service-now.com/") < 0 && myURL.indexOf('wwwsnow') < 0 ){alert("Looks like you are not on a ServiceNow page.");return;}if ( myURL.indexOf("_list.do") > 0){alert("Looks like you are already in a List View, not a Form.");return;}var indexOfColonSlashSlash = myURL.indexOf("://");var indexOfFunctionPath = myURL.indexOf("/", indexOfColonSlashSlash + 3) + 1;var domainPath;var remainder;var table;var indexOfSysId;var indexOfDotDo;var indexOfDotDoTwo;domainPath = myURL.slice(0, indexOfFunctionPath);remainder = myURL.slice(indexOfFunctionPath);indexOfDotDo = remainder.indexOf(".do?%22);table%20=%20remainder.slice(0,%20indexOfDotDo);if%20(table%20==%20%22nav_to%22){indexOfURI%20=%20remainder.indexOf(%22uri=%22);indexOfDotDoTwo%20=%20remainder.indexOf(%22.do%22,%20indexOfURI);table%20=%20remainder.slice(indexOfURI%20+%205,%20indexOfDotDoTwo);}indexOfSysId%20=%20remainder.indexOf(%22sys_id=%22)%20+%207;indexOfCharAfterSysId%20=%20remainder.indexOf(%22&%22,%20indexOfSysId);if%20(indexOfCharAfterSysId%20==%20-1){sysId%20=%20remainder.slice(indexOfSysId);}else{sysId%20=%20remainder.slice(indexOfSysId,%20indexOfCharAfterSysId);}var%20navToDoPrefix%20=%20%22nav_to.do?uri=/%22;var%20listSuffixAndQueryPrefix%20=%20%22_list.do?sysparm_query=sys_id=%22;var%20completeNewPath%20=%20domainPath%20+%20navToDoPrefix%20+%20table%20+%20listSuffixAndQueryPrefix%20+%20sysId;window.location.href%20=%20completeNewPath;})();
Licenses
A “License” is used to activate a “Plugin”.
Licensing - Subscriptions
LDMG Licensing
See document “ LDMG_Licensing_2022.pdf” for the LDMG licensing levels. The ServiceNow “Bundle” (“SKU”) that we (LDMG) are subscribed to called:
"ITSA Unlimited" with "CreateNow". \\
ITSA Unlimited includes
IT Service Automation Applications Agile, Demand, Project, Resource, Test Mgmt, Scaled Agile Framework, Audit (GRC), Policy and Compliance, Risk, Field Service Mgmt ITSM Standard Applications Incident, Problem, Change, Release, Asset, Request (Catalog), Cost, Walkup Experience. \\
CreateNow include
AppEngine - I believe this allows you to build new custom Applications. \\
Suite
At some point, ServiceNow adopted the concept of “Suites” which are collections of Applications, such as “ITSM Pro”.
Each suite has the following levels:
Standard
Pro
Enterprise
Higher subscription levels include more applications.
More mature organizations will generally need higher subscription levels.
The Pro level is about making things system-centric. (Humans never have to touch, in theory.)
Entitlement
The right to use a particular application A license to use a particular application When you sign a contract for a subscription to ServiceNow, you gain entitlements. \\
Plugin
A chunk of functionality which may or may not be activated within an instance. By NOT enabling plugins, you keep your system more "lean and mean", because unnecessary functionality does not run and is not visible. \\
Store.ServiceNow.com
Shows "Dependencies and Licensing" on the right \\
Fulfiller
Generally a user with the ITIL Role There is a charge for these. \\
Requester
A user who submit requests
Do not need roles.
No charge.
Reports can be used to show you what roles people are using.
We can always install / try any apps we want in our sub-production environments at no charge.
Lifecycle Events - Enterprise Onboarding and Transitions
Takeaway
Lifecyle Events is a Scoped App which helps with the process automation of employee onboarding, offboarding, relocation, leaves of absence, promotions, etc. The Employee Service Center provides a view of Lifecycle Events to the employee, as opposed to the Fulfiller.
Plugins
com.sn_hr_onboarding \\
Apps
com.sn_hr_lifecycle_events \\
Roles
sn_hr_le.case_reader Case Reader
Can read all cases.
sn_hr_le.case_writer Case Writer
Can create/modify cases.
sn_hr_le_activty_reader Activity Reader
Can read activity definitions, activity set definitions, and owner group definitions. sn_hr_le_activity_writer Activity Writer Can create/modify activities within an owner group. Can create/modify activity sets (but cannot activate them). Can create/modify HR activity configurations to setup HR services, templates, order guides, and record producers. sn_hr_le.activity_set_manager Activity Set Manager Can create/modify/delete activities and activity sets in any owner group. Can activate and trigger activity sets. sn_hr_le.pa.admin HR Performance Analytics Administrator
Can access/modify the Lifecycle Event PA content packs. May edit PA properties. May access the admin console. May launch Dependency Assessment.
sn_hr_le.admin Event Admin
Inherits all other Lifecycle roles. Can grant Lifecycle Events scoped roles to any users. Can create/modify/delete Lifecycle Events owner groups. Can add and remove users from groups.
sn_hr_core.hrsm_new_hire A role automatically assigned to a new employee when a new hire Onboarding Lifecycle Event is created.
sn_hr_sp.hrsm_new_hire Another role automatically assigned to a new employee when a new hire Onboarding Lifecycle Event is created.
The Plugin and Scoped App (Lifecyle Events) are automatically activated in SN, beginning with the NY release.
== ServiceNow can be configured to automate employee onboarding, offboarding, relocation, employee leave of absence, and other processes that involve not just HR, but IT, facilities, finance, legal, and other departments.
==
== The Lifecycle Events Application streamlines processes like onboarding by automatically creating tasks and submitting orders for items at the appropriate time in the process. ==
== Enterprise Onboarding and Transitions is a separately licensable application within HRSD. ==
== Handles Onboarding, Offboarding, Transfers, and Promotions. ==
Recommended Process:
1) Define and Document your Process before you start any Configuration. - Activities
- Assignment Groups for each Activity - Task Templates - Details - Case Template Requirements
2) Identify and Build Technical Requirements. 3) Build your Lifecycle Event. 4) Create an HR Service for your Lifecycle Event. \\
The following items may be needed to onboard an employee:
- Background Check Authorization
- Emergency Contact Information
- Employee Handbook Receipt of Acknowledgment
- Employment Eligibility Verification Form
- Health Insurance Forms
- Non-Disclosure Agreement / Confidentiality Agreement
- Safety Information
- Tax Withholding Form
Components include:
- Knowledge Articles
- HR Profile including Picture
- Organization Chart
- Cases, Requests, Tasks
- Chat
- Email to create a Case
Digital Signatures are secure signatures that are permanently embedded into a document and that are linked to your identity.
An eSignature is a picture/image of your signature, placed on a document to represent an acknowledgment or approval.
Employee Service Center
I believe this is the (new) Employee's view of Lifecycle Events (as opposed to the Administrator's view).
Activity
- A task assigned to an employee or fulfiller.
Activity Set
- A group of Activities.
- Has a Trigger Condition which dictates when the Activity Set should be initiated.
- Each Activity Set inside a Lifecycle Event Case must be either completed or skipped in order for the Case to be Closed.
Audience Records
- Contain sets of filters used to define the audience for HR Content.
- If an employee does not meet the criteria, the Activity will be skipped.
Lightweight Directory Access Protocol (LDAP)
- Takeaway
An LDAP integration allows a ServiceNow instance to use an existing Lightweight Directory Access Protocol (LDAP) server as the master source of User and Group data. It is a very common integration to ServiceNow. A scan of the LDAP servers is typically run once a night. Any changes to user or group record attributes are detected and migrated. Additionally, using a “Persistent Query”, changes may be detected on-the-fly and pulled down within 10 seconds. If a ServiceNow user record is populated with a reference to an LDAP server, that server will be queried on the fly when the user attempts to login. LDAP Integration uses regular Import Sets and Transform Maps. LDAP integration can be tricky. You need to be sure you don't pull down more information that is necessary. You also need to be sure many-to-many tables are populated to link record types.
- Modules
- System LDAP - Create New Server
- Here you tell ServiceNow about the details of one or more LDAP servers.
- Name, URL, Type, Starting Directory
- Be careful about pulling down too much information from an LDAP server. You need to specify folders and filters.
- Once you connect using System LDAP - Create New Server, you can actually hit the Browse link to directly see the folders and users from the LDAP server. - Use the “Attributes” field to limit the attributes that come back.
- System LDAP - LDAP Servers - [My LDAP Server] - LDAP OU Definitions
- I believe these are groups of data that you want to pull in from the LDAP server.
- System LDAP - LDAP Servers - [My LDAP Server] - LDAP OU Definitions - [My OU] - Data Sources
- System Import Sets - Create Transform Map
- System LDAP - Scheduled Loads
- LDAP setup along with Data Import involves quite a few error-prone details to work out. The Platform Implementation Lessons give you a LOT of help vs doing a “Challenge” on your own. This is not something you just want to Try Out. You need to follow a step-by-step guide. - An LDAP integration allows a ServiceNow instance to use an existing LDAP server as the master source of user data. - A scan of the LDAP servers is typically run once a night. Any changes to user record attributes are detected and migrated. - LDAP listener - A version of a persistent query (or persistent search). We issue a standing query for changes made to your LDAP server, and constantly listen for a response. Assuming your server supports a persistent search, any changes made to any of your applicable LDAP accounts are returned to the LDAP listener and sent to your instance within approximately 10 seconds. This is an extremely useful tool, allowing us to have a nearly real-time copy of your users' account details, without having to wait for the next scheduled refresh. - Multiple LDAP integrations may be configured in a single Instance. ServiceNow will query each LDAP Directory Server when a user tries to login. - IntegrationHub can be used to manage users, groups, and other objects via Microsoft Active Directory and Microsoft Azure Active Directory. - ServiceNow does not store passwords. They remain entirely within the HTTPS Session. - When a user goes to login to ServiceNow, if there is an “LDAP server” populated in the User's record, it ignores whatever is in the password field, and instead asks the LDAP server if the user can login (forwarding the password that the user typed in). In other words, even if ServiceNow has a Username and Password in its database, it checks LDAP on the fly to be sure the user can login. - User Account records are imported into ServiceNow via Import Sets. The accounts can then be authenticated using LDAP. - Note: The user does not need to first setup an account in ServiceNow. It can be created on the fly via “Just-in-time provisioning”. - Just in Time Provisioning can populate the account with all applicable LDAP information. - I believe the advantage to NOT using just-in-time provisioning would be speed, as information would not need to be downloaded from the LDAP server at the time of Login. - Steps: - Define an LDAP Server - Define Organizational Unit (OU) - Define Transform Map - Define Import Schedule - By default, the LDAP integration will return all attributes available for each record. By specifying a value in the “Attributes” field you can limit the attributes returned. - Organizational Unit (OU) Definitions - Define the directories that are the source of data to be imported. You can setup a filter to import only User records. - Example Parameters:
RDN: ou=CloundDimensionsDev,ou=Users Query Field: uid Filter: (cn=*)
- Abbreviations:
- Directory Information Tree (DIT)
- Relative Distinguished Name (RDN)
- Domain Component (DC)
- Common Name (CN)
- Surname (SN)
- User ID (UID)
- You can specify which attributes to import, rather than importing everything. - Filter: Example Filter: (&(objectClass=person)(sn=*)(!(objectClass=computer))(!(userAccountControl:1.2.840.113556.1.4.803:=2))) - This may be interpreted as:
Object should be classified as a person Object's sn (surname, aka last name) is not empty Object is not a computer Object is not classified as inactive - Search Internet for "LDAP Filters RFC" to learn more about LDAP filter syntax.
- Transform Map
- Moves data from the Import Set table to the Target Table (User or Group).
- The LDAP integration uses standard Import Sets and Transform Maps.
- Field Map Source Script: source.sys_import_set.data_source.ldap_target.server;
- The resulting user records will have LDAP Server and source fields similar to:
Source: ldap:cn=Aaron Foster,ou=CloudDimensionsDev,ou=Users,dc=my-domain,dc=com
LDAP Server: Class LDAP Server - Module: System LDAP - Transform Maps
- Scheduled Loads
- Should be run under a Service Account.
Line of Business (LOB)
Lists - List Views - ListViews
- Takeaway - A List is a Service Now user interface into a Table. Different Views within the list display different sets of columns. Once a View is displayed complex Filtering may be applied and a Favorite of the View/Filter may be saved. Lists are extremely powerful and there are many commands available in the hamburger menus and speed menus. You can Import records, Export records, Search, Group, and Sort. You can Preview a record without navigating away from the list and update most values inline. You can update multiple rows at once. You can instantly launch a report, graph, or visual task boards of the currently displayed records. You can also personalize which columns are displayed for each view. - A List displays the records from a Data Table, such as the Incident, Problem, or User table. - A List does Not usually display All columns of data. - You can right click any column header to generate reports and graphs on the fly, from any list. (Or use the hamburger menu next to the column header.) - List Elements:
- Title Bar
- Displayed immediately underneath the Banner. Does not extend past the Application Navigator.
- Hamburger Menu provides access to:
- View - AKA List Layout. A predefined set of columns for the list. - You can create your own views via the column menu - Configure - List Layout.
- Filter - Saved filters which limit the rows displayed.
- Group By - Collapses the records into groups that all have a common value for the field selected.
- Create Favorite - Creates a favorite item with all the currently applied filters.
- Search
- If you don't specify a wildcard in the search box, the system automatically applies one such as contains (*) or “ends with” (%) or “greater than or equal to”. This can be quite confusing when doing a search against “Short Description”, so remember to put a * in front of your search term.
- You can search for exact phrases by enclosing them in quotation “ ” marks.
- Filters
- Condition Filter - The funnel symbol - Allows you to build filter conditions with a special user interface.
- Filters may be saved for the current user, or depending on your role, for all users, or a group of users.
- Breadcrumbs display all of the individual filter conditions.
- Clicking on a Condition removes all conditions to its right.
- Clicking on a Condition separator removes just that individual condition (from the middle of the breadcrumb list).
- A Filter, once saved, may be applied to any View. Applying a Filter does not change the current View.
- Tools
- Column Filters - Magnifying Glass - Allows you to apply filters by each column.
- Columns of Data
- Clocking on any column Sorts the records by the values for that column.
- Many advanced commands such as Import and Export are available under the hamburger menu of each column.
- Import allows you to import records form Excel.
- Export allow you to export all currently displayed records to Excel, CSV, PDF, etc.
- Power Feature: You can select multiple records and then choose Update All to update all the listed records via form view, all at once.
- Power Feature: Menu - Show Visual Task Board allows you to immediately create a visual task board from the displayed list of records.
- Power Feature: Bar Chart and Pie Chart menu options allow you to view the list of records in graphical form, automatically grouped by values in the column.
- Update Selected allows you to update values for multiple selected records all at once via a form view.
- Power Feature: Right click any value in any column and choose “Show Matching” to instantly filter the table to match only those records that have the same value in that field as the one you clicked. Similarly, you can use “Filter Out” to show all records Except those matching the field you clicked.
Rows (& Values) - Select multiple Values with Ctrl Click. Select Multiple Consecutive values with Shift Up/Down Arrow. Then double click beside a value to edit. - Right clicking any value in the list opens a context-sensitive command menu. - Double-clicking Beside a value often allows the value to be updated inline, without first opening the entire record, if List Editor is enabled. - Clicking the Information Icon (I) opens a preview of the record, without navigating away from the list. - Below the rows there is an Action dropdown which performs actions on the selected records. Go To - Allows you to perform a quick search on any column. - If a table was defined with a Text index, you can search for a string across all fields, even those not visible in the list. - Boolean operators must be entered in UPPER case.
- Personalize List Columns / Personalized Lists (Gear Icon)
- Allows a user to “personalize” the Current View Only by specifying which columns should appear.
- The “Reset to Column Defaults” button may be used to switch back to the default column set for a view.
- Personalized list customizations do not affect what other users see in their lists.
- Personalized lists are stored under: Filter Navigator - System UI - Lists, then filter by username. (Table sys_ui_list)
- Note that a different concept, “Configure List Layout”, allows Admins to change the behavior of the list views for All users; but this is accessed via one of the individual list column menus.
- You may see the same column name listed more than once. This is saying that there are two separate columns in the table, both with the column label “Profile”. One has a column name of “clone_profile”; the other has the column name “profile”.
Example:
- List Configuration - Configuring Columns and Rows
The various user interface menus and buttons and controls can be a little confusing. The following explains how you can configure Columns and Rows and what options affect what users.
Columns or Rows Menu Menu Item Affects Others Used to Run or Configure Underlying Table Notes
Columns Main Menu View no Run sys_ui_list The main hamburger menu is also known as the “List Controls” menu.
Columns Small Column Menu Configure - List Layout YES Configure sys_ui_list
Columns Gear na no Configure sys_ui_list This gear menu is also known as the “Personalize List” menu. There is a “Reset to Column Defaults” button which may be used to get you back to the (non-personalized) baseline; only appears if you HAVE customized the list columns.
Rows Main Menu Filters no Run AND Configure sys_filter To configure, use 1st Menu Item: “Edit personal filters” Shows Common Filters AND then Personal Filters.
Rows Funnel na no Run AND Configure sys_filter To configure run the Filter then Click Save… Button.
- In the sys_filter table, those records with a User value are user-specific; Those with a group are group-specific; Those with neither are global (all users). If you are an admin, you can edit Group or Global filters by first going to Edit Personal Filters, and then using the breadcrumbs links to expand the records listed. - Favorites do not specify a View. They DO specify a Filter. They will use whatever the last view was that you were on the last time you visited the List. - There is no concept of specifying a Default Search Bar dropdown value. The search bar will remember, for each view, the last dropdown value which was actually executed. - Important: From any column menu, going to Configure - List Control brings up a configuration page where you can edit several properties including which Roles have access to various functions such as New, Edit, Filtering (Funnel), etc. - Example of adding a sys_id column to a List View https://community.servicenow.com/community?id=community_article&sys_id=4c65b2e8db6830144819fb243996191b - Client Side Code
- To get the total number of rows in the List View, use the following. For some reason this property does not seem to be documented in the API.
alert(“g_list.totalRows” + g_list.totalRows);
List View Configuration
- Geoff's Preferred Column Lists
Table Columns
item_option_new Name, Question, Type, Application, Active, Cat Item, Variable Set, Class, Order, Reference, Updated, Updated By
question_choice_list Text, Value, Question, Order, Application, Updated, Updated By
List Calculations
- Modules
- Configure - List Calculations
- List Calculations are Aggregates (Average, Minimum, Maximum, and Sum) which appear underneath the rows of a list.
- Total and Average apply only to Numeric type columns, but Minimum and Maximum may also apply to String, Date, or Date/Time fields.
- List calculations apply only to the view of the list in which they are configured.
- Example
Long Running Transactions
- How to Cancel
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0656014
https:<INSTANCE>.service-now.com/cancel_my_transaction.do
=====List of Subscriptions from table license details=====
New List