Table of Contents
Welcome to our SNOW INFO PAGE Section I
Image Management
- An IIX file may be renamed to another image type, such as PNG. Often when you try to download an image from ServiceNow, it will be in the IIX format. - Image Tables
db_image - Public table. Accessible by any ServiceNow user.
- Uploading an image here allows it to be referenced from HTML fields by appending the name of the image to the URL of the instance! - Attachment Tables (Attachments Tables)
- Some Images are stored here! Probably those that do not need to be referenced in HTML fields.
sys_attachment
- File name
- This contains the name of the image field where the image was uploaded.
- Table Name
- After a “ZZ_YY” prefix, this contains the name of the table where the image was uploaded.
- Table sys ID
- This contains the sys_id of the RECORD where the image was uploaded, not the sys_id of a table. sys_attachment_doc
- Data is stored here in 4k chunks.
- Sys attachment - Contains the name of the corresponding parent record in the sys_attachment table.
- Deployment To get an attachment from one instance to another, you can filter on the sys_attachment table and export to XML, and then filter on the sys_attachment_doc table (filter by Sys Attachment = Your Record Name in sys_attachment), and then export to XML. If you then Import the XML records to the target instance, your attachments will be magically attached to the proper records in ServiceNow.
Impersonate - Impersonation - Impersonating Users
- Roles
impersonator
- Impersonation allows users with the impersonator role to temporarily “become” another authenticated user for testing purposes. The impersonating user does not need to know the impersonated user's password. - When impersonating another user, you can see and do exactly what the impersonated user can do. - Many issues are caused by users forgetting to Stop impersonating. - Don't forget that Impersonating another user is not the ONLY way to act as that user. If you have the ability to change user passwords, then you can actually set a password for any user and log in directly as that user. - Tip: It's usually a good idea to create a new browser tab before you impersonate a user because some users will be taken directly to the portal and may not even have Platform UI access; so there may be no easy way to turn OFF impersonation when you are done acting as the user.
Implementation
- Host for MID Server should be a Windows 64 bit machine with PowerShell 3.0+ Installed. - Credentials should be available:
- Windows Domain User with local admin rights on discovery targets.
- SSH User with limited SUDO permissions.
- SNMP read strings, vCenter read only username/password.
- CIM for SMI-S information to discover Storage.
- Target IP Ranges, Subnets, or Lists should be known. - Web Proxy Information should be known/available. - Firewall / ACLs should be configured for the MID Server
- Internet (WLAN) outbound only access on port 443
- Intranet (LAN) inbound (preferably)
- Any / Any for windows desktop firewalls
- Allow SNMP on network devices if access controls lists are in place (ACLs)
—–
====== Importing Data - Import Sets ====== (Not to be confused with Update Sets) - See file: ImportSet_InfoGraphic_XX.pptx - Takeaway ServiceNow can import data from several different data sources, including CSV, FTP, HTTP, JDBC, LDAP, Network Files, XML, and Excel (XLSX). - Modules - Note Knowing how to navigate to these objects “from scratch”, WITHOUT using any Related List hyperlinks; important to know and will prevent a lot of confusion.
- Critical Modules
1) System Import Sets - Load Data 1.1) System Import Sets - Administration - Data Sources 2) System Definition - Tables - [MyStagingTable] - Show List (Related Link) (To see actual data that was loaded) (Personalize list columns) 3) System Import Sets - Advanced - Import Sets 4) System Import Sets - Administration - Transform Maps 5) System Import Sets - Run Transform 6) System Import Sets - Advanced - Transform History 7) System Import Sets - Advanced - Import Log
- Additional Modules
- System Import Sets - Import Set Tables - Cleanup - System Web Services - Inbound - Create New - Roles: import_admin import_set_loader import_transformer - Summary of Terms
- Data Source - A record which defines where data will come from, or where it came from.
- Import Set Table - A staging table where data is loaded from an external source, and held, before it is transformed into its final resting place.
- Import Set - A record which contains metadata about a set of data records in an Import Set Table.
- Data Sources - A Data Source defines where data will come from. Data source types include Flat Files (CSV, XLS, XLSX), FTP, HTTP, JDBC, LDAP, Network Files, and XML. - The data source fields vary based on the data source type; for example a JDBC data source would have fields for: Database name, Username, Password, Server, Database port, Query, and Table name - Import Set Table - A staging table that may contain records from multiple import operations (multiple import sets). Only one import set at a time may be transformed. The records in a staging table may NOT all be transformed at once, unless they all came from a single import set. - Import Sets - An Import Set is a single record that stores information (metadata) about a Set of data records which were Imported into a staging table, known as an Import Set Table. The records specified by an Import Set may be Transformed into a target ServiceNow table, their final resting place. An Import Set keeps track of the following information: - The original data source, such as the filename of the flat file that the import set records came from. - The name of the staging table that the flat file records were imported into. - The time the records were loaded. - Exactly which records in the staging table belong to the import set; that is, which records were imported together in a single import operation. (The related list table “sys_import_set_row” is used to keep track of the information about each specific row, including its “state”.) - The fields (data types) of the import set table are generated automatically based on the imported data. - After an Import Set is run (Transformed/Imported), you can see only the records that were imported by going back to the Import Set and clicking on the Import Set Rows section (tab). The Preview (i) icon for each row shows only the imported fields. Open the record to see all fields. - Web Service Import Set - A Web Service Import Set makes it easier to create an import set table and transform map to be consumed via either REST or SOAP. - Creating a Web Service Import Set will create an import set table with the associated SOAP and REST endpoints and then allow you to easily create and configure a transform map.
- If an application involves bringing data into ServiceNow, Web Service Import Sets must be used when certifying an application for the store.
- Transform Map - Coalesce - The Coalesce flag is used to tell ServiceNow if it should Update an existing record, rather than create a new record. - Coalescing before transforming is recommended for imports where duplicate records could possibly be inserted, and duplicates are not desired. - The Coalesce option in a Transform Map is used to determine if a row in the Import Set matches a record in the target table. - The Coalesce option makes a field a part of a record's unique key. - Set the Coalesce value to True for a field to check for record collisions (matches) All fields must match for there to be a collision (match). - To set a Coalesce field, in the Transform Map - Related Links - Field Maps section, change the Coalesce column value from False to True. - If a match is found using the coalesce fields, the target record is updated with the information imported from the staging table. If no match is found, a new record is inserted into the database. If no fields are designated as coalesce fields, source records are always imported. - TransformRow Example: (function transformRow(source, target, map, log, isUpdate) {
if (source.priority == 1) { target.impact = 1; target.urgency = 1; } else if (source.priority == 4) { target.impact = 3; target.urgency = 2; } //…etc
})(source, target, map, log, action===“update”); - Simple Process Steps 1) Create a new Transform Map (using a related link or “System Import Sets - Administration - Transform Maps”): tmu_ist_sys_usersys_user Source table: u_ist_sys_user Target table: sys_user
- Optionally, use “Auto Map Matching Fields” to create some of the Field Maps.
- Set one or more of the field maps to “Coalesce” so that existing records will only be updated if the data for that map matches.
2) For each import set… - Optionally set some records to a state of “Ignore”. - Transform the data specified by a single Import Set into the Target Table. - Even though the staging table may contain rows from multiple import sets, imports sets must be transformed one at a time. :\ - Also, the State of the entire import set must be “Loaded” in order for even one record in the import set to be Transformed.
- Review data in your ServiceNow target table.
- If something unexpected happened, and you need to make changes to the Transform Map or Field Maps…
- For each Import Set, use the “Reprocess” related link to change the state back to “Loaded”.
- Optionally set individual records to “Ignore”.
- Transform again, as necessary.
- See also Data Policy Docs - Import Sets
- Full Process example - Steps A) Load the data from a Data Source (such as Excel) into a ServiceNow Staging Table. B) Map the data from the Staging Table to a regular (permanent) Target Table. C) Transform the data. (The Transform operation actually loads the data into the Target Table.)
Before getting into the various objects which are used to import records into ServiceNow, making a note of two things will help prevent a lot of confusion. - Note 1. In various places in the ServiceNow UI you will see the label “Import Set Table”, when what is really meant is “Staging Table”. A Staging Table may contain records from multiple Import Sets. An Import Set represents a single load of records into a Staging Table. An Import Set “points to” records in a Staging Table, but an Import Set is not a table and does not contain data records. When you see “Import Set Table” think Staging Table or Intermediate Table. - Note 2. The various objects related to the importing of records in ServiceNow have hyperlinks (also called “UI Actions” or “Related Links”) which help you navigate back and forth between those various objects. For example, after you Load Data, you will see links to “Import Sets” and “Loaded Data”. However, it is important to know how to navigate to the various objects Independently using the Filter Navigator. To that end, in the notes below, I have included the “Path” of each object, that is, how you may navigate to it from the Filter Navigator. When working on a data import, it is very helpful to keep multiple tabs open, one for each object type; otherwise you can easily lose your place or have trouble getting back to reprocess something.
0) Path: File System / Windows File Explorer For each data file you will be importing from… - Name the file something descriptive. - Remove unnecessary columns. - Remove unnecessary rows. - Example Filenames:
sys_user_1.xlsx sys_user_2.xlsx
1) Path: System Import Sets - Load Data Loads data from a flat file (CSV, XLS, or XLSX) or other data source, into a New or Existing Staging Table. (You can do this over and over again, without creating a new staging table each time.) As soon as rows are loaded, they go into the staging table with a State value of “Pending”. Only after they are transformed and inserted into a ServiceNow target table will their State be set to “Inserted”. If you hit “Reprocess” on the Import Set, the Existing Rows will be set back to “Pending” and thus may be transformed once again. You can load data from the same external table multiple times if you want, and it will make multiple Import Sets and each one will be tied to its own records in the “Import Set Table” (Staging Table). Then, when you Transform one of the Import Sets, it will import only the corresponding records; it will not import all of the records sitting in the staging table.
Example Import Set Table (Staging Table) Names, using naming convention prefix of "ist".
Name: ist_sys_user Dictionary Name: u_ist_sys_user (ServiceNow automatically prepends a u_ onto whatever name you provide.)
2) Path: System Definition - Tables - [MyImportSetTable] - Show List (Related Link) Additionally, you can use the “Loaded Data” related link to locate the staging table and review it. You load your data into a “Staging Table”. When you do this, you can see the actual columns and rows of your data just like you do in Excel. Important: You will need to use the Gear (Personalize List Columns), to add your columns to your list view, before you will see any data that you recognize! The dictionary name of the “Staging Table” will have a prefix of “u_” such as “u_ist_sys_user”. The field types of the Staging Table are generated automatically based on the fields of the Data Source. After you Transform your Staging Table records into a Target table, each row will show a link to a “Target Record”, so you can see Exactly how each Staging Table data record was transformed and where it ended up. Note, however, that if you Delete the data after it is imported, the “Target Record” field of the Staging Table record will shows as “(empty)”.
3) Path: System Import Sets - Advanced - Import Sets Each Time you import data, an “Import Set” is created automatically. An Import Set represents a single Import Operation form a Data Source into a Staging Table. The import set keeps track of exactly which rows in your Staging Table, came from that one Import operation. An Import set has the following fields: State “Loaded” - Means that data has been loaded from a Data Source (such as a flat file) into the Import Set Table. (OR, this may indicate that you initiated a “Reprocess” action on the Import Set.) “Processed” - Means that data from the Import Set Table has been Transformed into the Target ServiceNow table. Load Completed Time Load Run Time Data Source (the external file itself) Import Set Table (where the actual raw data rows appear). Should really be called/labeled “Staging Table”. Related Lists: Import Set Rows. This is just a view into the Import Set Table itself. Best to use THAT direct view, instead of this related list. Import Set Runs: This is just a view into the Transform History table. When you first import data into the Import Set Table, this will be blank. - The “Reprocess” button sets the Existing rows (associated with this Import Set only) in the Staging Table to a value of “Pending”. This gets them ready to be transformed again, to the target table. It does NOT reload the data from the external data source (such as Excel). “Reprocess” is useful if you are working on a Transform map and/or Field Maps, and you need to do a Transform operation over and over again for testing purposes.
4) Path: System Import Sets - Administration - Transform Maps The Transform Map is composed of individual Field Maps. “Auto Map Matching Fields” constructs some of the Field Maps for you. You may construct others using the “Mapping Assist” tool. Mapping may be very simple, or it may use the full power of the ServiceNow scripting environment. To prevent duplicate entries in the Target Table, import set fields may be designated with a “Coalesce” flag. If all of the values from the Coalesce fields match a values from an existing record in the Target Table, that record will be updated instead of a new record being inserted. (Coalesce fields work like a foreign key.)
5) Path: sys_transform_entry.list (or access via the Transform Map related list) Individual Field Maps are the most straightforward place to modify individual values AS they are transformed (in flight) between the Staging Table and the Target Table. Checking “Use Source Script” makes a script field available. This field has access to all of the source (Staging Table) values, and you can run GlideRecord queries for additional data. You simply return the value that you want to be written over to the Target field. (Something odd is that there is no “syntax highlighting” in this field, so it's like writing script in Notepad; not sure why this is.)
6) Path: System Import Sets - Run Transform Here you specify an Import Set, and a Transform Map, and you actually TRANSFORM the data from the Staging Table into the Target table. Only those Import Sets which are in a state of “Loaded” will appear in the “Import Set” dropdown. Note that Imports never stop running mid-way through to request user intervention or to delete previously imported records.
7) Path: System Import Sets - Advanced - Transform History Shows each execution of an Import Set, the Staging Table the data came from, the Transform Map used, and the number of Inserts, Updates, Ignored Records, etcetera, that there were. Also shows the start time, end time, and run time.
8) Path: System Import Sets - Advanced - Import Log This is a very succinct (one line) summary of a Transformation. Shows number of source records, inserts, updates, processed records, ignored records, skipped records, and errors.
9) Path: System Log - All Very useful for debugging Data Import Operations. Log messages as follows: log.info(“xyz”);
- Before importing data into ServiceNow, you should:
1. Understand and be familiar with the data you are bringing in. 2. Decide what to do with incomplete or erroneous data. 3. Create a plan to map the source file columns to the target columns. 4. Plan for how you will handle collisions between the source data and the target table. Keep target? Keep source? Create duplicates?
- Transformation Events:
Transformation Events
- A Transformation Event is an event which occurs during the import of data from a Staging table to a target table. - Transformation Event Scripts modify the transformation behavior at different points in the transformation process. Such trigger points are:
- onStart
Processed at the start of an import run, before any data rows at all are read. Has access to the “import_set” object and the “map” object. - onComplete Processed at the end of an import run, after all data rows at all are read. Has access to the “import_set” object and the “map” object. Might be useful for triggering an Event. - onBefore Useful. Run once for every single row. Has access to the source row and the target row. Processed at the start of a row transformation, before the source row is transformed into the target row. Note. An excellent ALTERNATIVE to using an onBefore Transform script is to use a “Source script” for an individual Field Map. That way, you don't have to permanently change any of the Staging Table data. - onAfter Run once for every single row. Has access to the source row and the target row. Processed at the end of a row transformation, after the source row has been transformed into the target row and saved. You can NOT simply modify values such as target.xxx. This will have no effect. If you want to modify the target at this point, you need to totally re-query the record, make a fresh modification, and update the record. - onChoiceCreate - onForeignInsert - onReject - To create a Transform Event Script, under a Transform Map, switch to the Transform Scripts related list. - In the script functions for a Transform script, there are some important variables which are not a part of the argument list to the function. They may be found here: Map with transformation event scripts - Note that Field Maps take precedence over Transform Map scripts. How so??? - If you want to specify a value for all mandatory fields in the Target Table, but there is no corresponding data in the source table, you have some options:
1. Add a column to the source table, and populate it with values in some manual or automated way. 2. Use a Script as part of the Transformation to generate values for the target column.
- Cleanup Module - There is a Cleanup Module under - System Import Sets - Import Set Tables - Cleanup. - It can be used to “Delete data only”, that is delete the records from staging tables. - It can be used to delete the staging tables themselves. - Or it can be used to delete the staging tables And related transform maps. - Geoff: Not clear on what happens to an Import Set after the related Staging Table is deleted. - During a transform, Transformation Event Scripts may be triggered; trigger points include onStart(), onAfter(), onReject(), etc. If the Data Source will utilize REST or SOAP, a feature called a Web Service Import Set may be used to assist with the import process. - Apparently, from a Data Soruce record, you can use the paper click (attachment) icon to select a data source file, and re-use the Data Source record, transform map, etc. - When you use Load Data, if you already have a Data Source defined, you can choose Data Source instead of File, for the Source. There are several “Exmaple XXX” data sources out of the box.
Import Set API "Import Set" REST API
- Articles
https://community.servicenow.com/community?id=community_article&sys_id=24e2a8d5db05c1d0dd886c8e13961974
https://developer.servicenow.com/dev.do#!/reference/api/rome/rest/c_ImportSetAPI#import-POST-insertMultiple - A built-in, out of the box, API, similar to the Table API. - The advantage of this API over the Table API is that it's much easier to validate the incoming data since it goes into an intermediate table. - The table you are inserting data into should extend table “Import Set Row”. This will allow it to be easily transformed into the final target table. You create this table manually. - The Import Set API allows for you to push data into an import set row table and either synchronously or asynchronously transform it. The API will then either return the results, or it will return a sys_id to enable you to check the results in a separate call. - To insert and transform a single record (not recommended) a POST request with a JSON body can be sent to /api/now/import/{staging_table_name} and the data load will occur synchronously. - To insert one or more records synchronously, use the method: POST https://[YourInstanceName].service-now.com/api/now/import/%7bstagingTableName%7d/insertMultiple - Important Note: Be sure to first configure a record in the sys_rest_insert_multiple table with a nested sys_rest_insert_multiple_column_mapping record with a Column Mapping value of “Column Name”. Otherwise, the API may be expecting Label names instead, which is very strange. - This method returns two IDs, from the following tables:
sys_import_set_row sys_import_set
- The import set number may then be looked up, and passed in a query to sys_import_set_row, where each imported record will be listed, along with its sys_target_sys_id value which is the final sys_id in the final target table. - Import Sets When a web service message inserts a record into an import set table, and the table did not previously have an import set referenced, a new one will be created, and its Mode will be set as “Synchronous”. Any “synchronous” import set transforms the data as soon as it is inserted, provided that the transform map already exists. This import set will also have a default State of “Loading”. By default, the state of all synchronous import sets is automatically set to Processed at midnight.
Inbound Email Actions - Email Actions - Inbound Actions - Record Actions
- Modules System Policy - Inbound Actions - Tables
sysevent_in_email_action
- Takeaway An Inbound Email Action is an action which is taken in the system in response to an inbound email. An action may 1) modify a database record, or 2) send another email. Email Actions have a script block which has access to the record involved, and the email itself. ServiceNow will look for a record number in the Subject, Body, and Watermark (last line) of an inbound email. - An Email Action Script has access to the following objects:
- current - (GlideRecord API) - Remember to call the current.update() method to update the record in the database.
- event - The parameter param1 is the record number and param2 is the user name.
- email - Properties such as email.subject, email.from, etc.
- logger - Use the logger.log() method to write to the system log.
- ServiceNow matches each inbound email with a user in the sys_user table. Then there are 3 possibilities: 1) If a match is successfully found, ServiceNow impersonates the user to take action in response to the email. Else…
2) If "automatic User creation" is enabled, a user is created automatically, on the fly, and then that user is impersonated. 3) Otherwise, "Guest" is impersonated.
- Replies or Forwards are detected by ServiceNow by examining the subject line for known character strings such as “re” or “fw”. These are set by the system administrator under System Mailboxes - Administration - Email Properties - If an inbound message is recognized as a Reply or Forward, ServiceNow looks for a “watermark” in the subject line or message body. By default, watermarks are inserted as the last line of an outbound message. Example: “RefMSG0002146_901RBee4090aZroGUg6d”. If no watermark is found, ServiceNow still searches the subject and body of the email for a record number. - Conditions are used to determine if any Inbound Email Action should be taken. Email Actions only execute when:
1) The email type matches the Inbound Action type. ??? 2) The watermark or record number matches a record in the target table. 3) The inbound action Conditions evaluate to true.
- Action Types include:
1) Record Action - To modify a database record. 2) Reply - To send an email.
- Geoff: There are 2 conditions under which you can get an email to ServiceNow to be added to a ticket (in our instance): 1) The subject of the email needs to be a REPLY, so it needs to include the string “RE:” AND the Subject line or the email body contains a Ticket number. — OR — 2) The email contains a Watermark (sent from ServiceNow) such as “Ref:MSG59988391_8M6LwJKt6IX4VpUqWSC”
Each email in the Inbox view, when opened, contains an “Email Log” related list, and this tells you, FOR EVERY inbound email action, if that action was processed, and if not why not. Very useful.
Incident - Incident Management
- Takeaway - An Incident is an unplanned interruption (or reduction in quality) of an IT Service. - All incidents move through four states: 1) New, 2) In Progress, 3) Resolved, 4) Closed. Incidents are typically assigned to a Group for resolution. SLAs specify goals for how long Incidents of different Priority levels may sit in each State. - An Incident is an unplanned interruption (or reduction in quality) of an IT Service. - Could apply to corporate-wide service, or local services such as a printer. - Incidents may be recognized by technical staff, communicated by users, or reported by event monitoring tools. - All incidents move through four “States”: 1) New, 2) In Progress, 3) Resolved, 4) Closed - Incidents also have Categories and Subcategories. - By default, incidents close automatically after a predetermined amount of time. - The Service Desk or Helpdesk is an IT Support function staffed by live customer service reps (IT Service Staff). - The system can be configured to allow Incidents to be opened directly from emails. - Users may create incidents through the Self-Service home page, or from the Service Catalog. - IT Service Staff may, of course, create Incidents directly in the Platform UI. - It is a Best Practice to assign incidents to a Group, not to a specific user. - If more than one Incident appears to have a common underlying cause, a Problem may be created to identify the root cause. - If a Change to Infrastructure is needed, an Incident will often result in a Change Record being created. - Adding Resolution Notes can be helpful to other Service Staff in the future. - SLAs specify goals for how long Incidents of different priority levels may sit in each state. - Incidents may be added as Children of other incidents (I guess to indicate that one issue was the root cause of other issues).
Information Technology Financial Management (ITFM)
- Allows IT leadership to communicate the value realized by IT spending. - The General Ledger (GL) is the fundamental source of information. - GL expenses include Hardware, Software, Telecom, Facilities, Labor, Cloud Resources, and others. - Helps show how IT expenses apply to different Business Units such as HR, Security, Finance, IT, Marketing, Support, and Legal.
Information Technology Infrastructure Library - ITIL
- The ITIL Framework is the most widely accepted approach to IT Service Management (ITSM).
Information Technology Operations Management (ITOM)
- Includes Discovery, Service Mapping, Event Management, Cloud Management, and more. - Provides visibility into your Business Services and Resources. - Steps: - 1. Setup credentials for the following Apps to access the systems on your network: Discovery, Service Mapping, Orchestration, Cloud Management. - 2. Install one or more MID servers to move data between other systems (internal or cloud) and ServiceNow. - Discovery finds Applications and Devices on your network, and the important attributes of those devices such as OS, Software, and Memory. - Service Mapping uses top down mapping to find and map Cis that are part of business services in your organization, such as email services. Allows you to view all of the Cis used to provide a service. - An “Event” is a notification about an issue that your IT team should be aware of, such as a failure or a warning. - ServiceNow Applications use “Credentials” (typically a Username and Password) to access external systems. A ServiceNow App typically logs into the external system as a User with the appropriate credentials for the function that needs to be performed. With this approach, you don't need to install an Agent on each external system. You do need to create a User Account on each external device that you intend to access in this way. - SSH stands for Secure SHell, and represents credentials for a Linux device.
Information Technology Service Management (ITSM)
- Takeaway Information Technology (IT) Service Management (SM) (ITSM) is one of the major suites in ServiceNow, and includes Applications such as Incident, Change, and Service Catalog. Service Management handles business functions that have a “Request” type of workflow including steps such as Approve, Qualify, Assign, and Complete. A person who completes the work of an ITSM process is known as a Fulfiller. ITSM has a guided setup module for initial instance configuration. - One of the major application suites in ServiceNow. - Includes the following applications:
- Incident
- Problem
- Change & Release
- Asset
- Facilities
- Legal
- Finance
- Marketing
- Service Catalog
- Service Management allows you to manage business functions that require a Request type workflow, where Requests are: - Approved - Qualified - Assigned - Completed - Guided Setup Application: - Provides a sequence of tasks to help you configure the ITSM Applications on your instance. - Walks you through the initial configuration of your ServiceNow instance. - Helps you understand Best Practices. - Some tasks include setting company colors, logos, time format, etc. Forms and fields are also setup along the way. - Tasks can be assigned to multiple administrators from within Guided Setup. - ServiceNow ITSM Process: - Service catalog contains products and shared services: Products, Computers, Peripherals, Furniture, Software, Password Reset, etc. - CMDB includes Configuration Items. - Incidents are created via emails, calling Service Desk, or in the Platform UI “Self-Service” Application. - Problem records are used for root-cause analysis. When a problem is resolved, the corresponding incidents are resolved also. - Change Requests introduce beneficial changes to the organization, with minimal impact. A Change may resolved a corresponding Problem. - Core ServiceNow Applications are: Incident, Problem, Change, Service Catalog, and Configuration (CMDB). - Fulfillers are people who handle Requests in the ServiceNow system. - ServiceNow is certified on 11 of the ITIL Processes.
Instance Security Center (ISC)
- Part of Madrid. - Allows Admins to monitor security events and notifications, and identify potential security gaps. - Specifically designed to make it easier to manage security. - A security banner displays color-coded security events. - An event ribbon shows key metrics for the current instance. - Tiles show common tasks. A compliance score tile shows the current overall security score and a trend line. - “Hardening” contains mandatory, recommended, and optional settings you can update to strengthen security. - Email domains may be whitelisted or blacklisted. - Notifications appear to alert the user when elevated privileges are added to an account.
Instance Stats
- Modules System Diagnostics - Stats - Stats - Hidden Feature: You can enter “stats.do” in the Filter Navigator.
Version of ServiceNow / ServiceNow Version Release of ServiceNow / ServiceNow Release Example: - Build Name: Orlando
- To aid in performance evaluation, the Stats module provides statistics for system activities that affect performance, such as the execution of queries, scripts, and transactions. It also tells you which Version, Patch, and Hotfix your instance is running.
Integrations
- Standard integrations for ServiceNow include Login (Single Sign On), LDAP, Communications, Monitoring, and Systems Management. - Integrations for most applications have already been built. Check the product documentation and the Store before you build something from scratch. - Common integration methods include Web Services, Flat Files, and Email.
IntegrationHub - Integration Hub
- Takeaway IntegrationHub is a ServiceNow technology that facilitates the encapsulation of Integration activities into Flow Designer “Action” components. Such integrations may involve third-parties or another ServiceNow Instance. Once in Flow Designer these Actions may then be utilized by less technical users with no or low code required. Related IntegrationHub Actions, and perhaps SubFlows utilizing those actions, are packaged up into a Scoped Application called a Spoke. IntegrationHub comes with a number of Spokes already included, such as one for eBonding to other ServiceNow instances, and one for Microsoft Teams. IntegrationHub also comes with some built-in Action “Steps” to make building Integration Actions easier; these include one for REST, one for SOAP, and a “Payload Builder” for creating name-value pairs in JSON or XML. IntegrationHub is an alternative to an older technology called “Orchestration”. IntegrationHub does involve a subscription and a plugin. IntegrationHub Action Steps often make use of Connection records and Credential records, rather than using hard-coded values. - Modules
System Applications - My Company Applications
Connections & Credentials - Credentials Connections & Credentials - Connection & Credential Aliases Studio - Create Application File - Flow Designer - Action. - Plugin com.glide.hub.integrations - Role integration_hub_admin - Action Designer, Connections, Credentials, Flow Designer, MID Server Script Files, SOAP Security Policies, and Web Services. action_designer - Can create and save custom actions. api_analytics_read - Allows a user to read API analytics data. connection_admin - Docs:
IntegrationHub
- Definition - Provides Integration between ServiceNow's Flow Designer and 3rd Party applications. - IntegrationHub is a ServiceNow framework which facilitates integration with third-party platforms. Developers use IntegrationHub to build friendly ServiceNow “Actions” which may be used in Flow Designer to execute commands against external APIs. Actions are the reusable building blocks of Flow Designer. Actions may be used in Flow Designer by less technical users, with no code or low code. Steps are the building blocks of Actions. - Benefits:
- Automates application logic for interaction with external platforms.
- Reduces the need for complex, custom-coded integrations, by enabling the execution of third-party REST APIs as a part of a normal workflow.
- Enables a Subject Matter Expert to develop and share an Action which a developer can leverage in other custom applications.
- Provides a natural-language description of integration logic in an application, to help a non-technical user create and understand Flows.
- Use Cases: - Data Synchronization across multiple ServiceNow instances. - Third-party REST API Integrations - Active Directory, Azure Active Directory, and collaboration channels like HipChat, Slack, and Microsoft Teams.
- Create REST actions - Supports the development of custom REST web service actions to support API development for web-based applications.
- Spoke * / Spokes * - A bundled set of Flow Designer Actions, SubFlows, and supporting files, all wrapped in a Scoped Application, for interacting with a third-party API (or a particular record type). - A Scoped Application that includes Flow Designer custom Actions or SubFlows (Not Flows). - By best practice, the name of a Spoke Scoped Application should end with the word “Spoke”. - Integration Hub comes with a number of Spokes already included. There is one for integration to other ServiceNow instances (called eBonding). Another is for integration with Microsoft Teams. There are also spokes for Customer Service, Field Service, ITSM, and Security Operations.
- Spokes are created by developers and utilized by Flow Designer users.
- A Spoke is not required to include Integration logic. For example, there are spokes for Password Reset, for ITSM, and for the Visual Task Board. Another way of saying this is that not all Spokes are Integration Hub Spokes. - Like any scoped app, spokes can be published to the ServiceNow Store or to the ServiceNow Share. Several spokes are available for free or for a fee. - Actions Actions - Actions are developed to encapsulate complex operations and expose user-friendly (no code / low code) configuration options to Flow Designers. - Studio - Create Application File - Flow Designer > Action. - Action Designer is included with the Now Platform as a part of Flow Designer. In Flow Designer, it's the “Actions” tab. - An Action consists of a set of Input variables, a set of Steps (such as Call a Rest API), and a set of Output variables. The input and output variables are used to connect the Action to the rest of the Flow in which it will be used. - Steps - A subscription to IntegrationHub adds the following Steps to the menu of available steps: - Payload Builder - Enables the creation of name-value pairs in JSON and XML. - REST - Sends outbound REST web service requests to external systems.
- Includes variables for an Endpoint URL, a Resource Path, and Query Parameters.
- SOAP - Sends outbound SOAP web service requests to external systems. - PowerShell - Runs Windows .NET Framework scripts on remote machines through a ServiceNow MID Server. - Script - - Data Pills are used to pass information from the Inputs to Steps, or from Steps to other Steps, or from Steps to Outputs. - Orchestration: - Use Orchestration *Rather than* Integration Hub when: - Unsupported protocols are required. - There is no IntegrationHub spoke, but there IS an Orchestration “Activity Pack”. - As of the Madrid release, ServiceNow is no longer selling Orchestration. Orchestration will be available only as an “entitlement” of IntegrationHub. - Activating Integration Hub - Requires a separate subscription, and must be activated by ServiceNow personnel. Contact your ServiceNow account manager. He can have the plugin activated in your sub-production and production instances within a few days.
- IntegrationHub has 4 subscription levels, each of which includes Spokes, capabilities, and demo data.
- You can activate the Integration Hub on a Developer Instance via the Manage menu in the developer portal (not in the PDI itself). - You can tell if Integration Hub is installed on an instance by, in Flow Designer, opening up a new Action and looking for “HipChat” or “Microsoft Teams”. - Subscription Levels:
Starter Pack - No cost. Allows up to 1M transactions per year. Available on Developer Instances. Standard Pack Professional Pack Enterprise Pack
- Connection
- Used to define the properties of a particular connection.
- May be used in multiple custom Flow Actions.
- This allows connection details to be updated without the need to reconfigure every Action which uses the connection. - A Connection defines the URL (hostname) used to connect to a third-party platform. - Optionally specifies a MID Server to communicate with. - Points to a Credential record. - In practice, if you have an integration that is connecting from your ServiceNow Dev environment to a third-party Dev environment; test to test, and prod to prod, you would create THREE Connections, one for each instance in your Company's environment. Then you would set the single relevant connection as Active, depending on the instance. - Since a Connection is considered Data, and not an Application File, a Connection should only be added to an Application if it accesses a Public REST API. - Connection & Credential Alias - A pointer to one or more Connections. - Can have multiple related Connection records. This allows an administrator to switch between hosts easily by setting the Active flag on only the Connection that should be active. - Types
Basic HTTP (REST) JDBC JMS
- A Retry Policy specifies how to handle retry requests when a network failure occurs. - Credential Record
- Holds the authentication data used to access a REST API.
- ServiceNow stores credential information in an encrypted field. Once it is entered, it cannot be viewed.
- REST API Credentials
- REST APIs use three credential types:
API Key - A unique code provided by the REST API to identify the calling application or user.
Basic Authentication - A username and password combination. OAuth 2.0 - An authentication provider provides a secret and uses that information to grant access to a resource. Advanced topic. - To use a Credential, select the Credential on a Connection record.
- Learning Exercise: - In the main ServiceNow platform UI, create an Application (which, later, when published, will be known as an Integration Hub “Spoke”). - In Flow Designer, create a new flow “Action”. - Define the Inputs to the Action; that is, declare variables of different types, which will be used to input data to the Action, from the rest of the Flow that the Action is used in. - Define the Outputs of the Action; that is, declare variables of different types, which will be used to output data from the Action to the rest of the Flow that the action is used in. - Define the Steps that make up the Action itself. Especially, take advantage of the steps that come with IntegrationHub, such as Payload Builder, REST, and SOAP…
1. REST GET method call. - TEST Action at this point to make sure it at least returns a response payload. 2. Script to move data from the REST object into the Output variables of our custom Action. - TEST to be sure Output variables are populated. - Map the Step Output to the Action Outputs. TEST again. - Publish the Action
- In the Platform UI… Create a Credential Create an Alias ???
Attach the Credential to the Alias using the Alias's Related List. This is also where you specify the URL.
Configure Connection Attributes using the Global scope. (Then switch back to Application Scope.) Update the REST Step to use the Connection Alias instead of Header Variables defined “inline”. Update the Parse Response Step to use the newly changed values from the REST step. TEST again. Verify that the Action has an output including the answer, as does the answer step. - The general strategy to get extracted data from a REST Response in an Action is to: Review the response to select the data to return. Create input and output variables in the Script step. Create an input variable to pass in the Response Body from the REST step. Create output variables to return data from the response. Create a Script Step to parse and map data. Developers can use the Script Step to manipulate response data before setting the Output values. Use the JSON.parse() method in a Script Step to parse a JSON response body. Map the parsed data to the Output variables. Create Action Outputs for any variables to make that data available to the rest of the Flow the action is used in. - If a customer does not want to purchase Integration Hub, but still wants to integrate, you can use: REST API Explorer, Transform Maps, or Scheduled Jobs.
Interfaces - User Interfaces
- There are 3 interfaces to the Now Platform:
- Platform UI
- Service Portal
- Mobile Apps
- May be downloaded from the app store or play store.
- Agent / Mobile Agent - Targeted to the role of Fulfiller.
- Mobile - Targeted to the role of Employee. Allows reporting of broken items and finding available conference rooms.
- Onboarding / Mobile Onboarding - Targeted to the role of New Hire, prior to the start of employment.
IT ASSET MANAGEMENT (ITAM)
- The Gorilla Guide to IT Asset Management success - Includes Hardware Asset Management (HAM) and Software Asset Management (SAM). - ITAM is about knowing what you've got, where it is, who's using it and how much it costs. - ITAM is about Visibility, and Optimization. - Helps you manage capital and operational costs. - ITAM can be an important element in an organization’s strategic decision-making process. As alternatives are weighed, selections made, deployments undertaken, and so forth, ITAM provides valuable data to help organizations make good technology choices and improve their returns on such investment. - ITAM gathers all licensing information and correlates it with Contracts. - Shows when the organization is out of compliance with licensing and subscription requirements. - IT lifecycle management - The beginning-to-end process of requesting, acquiring, installing, maintaining, tracking, and retirement of an asset. - Challenges - In many organizations, IT assets are quite numerous, widely distributed, and neither fully inventoried nor documented. - Wasted Spending
- Paying for software or subscriptions no longer in use.
- Paying for more licenses or subscription seats that are really necessary.
- License OVER-use
- Admins deploying software without understanding license rules; some are quite complex.
- Deploying licenses on virtual machines without understanding or applying license rules.
- Manual Work - Keeping up with software assets can be tedious, time-consuming, and labor-intensive - One of the primary causes for “Shadow IT” comes from users who need software or services right away. - ITAM can eliminate organizational silos, add automation benefits to reduce manual operations, create an audit-ready organization, make costs transparent and predictable, and help improve user satisfaction. - ITAM helps to create a current and consistent record of IT assets within an organization. - A set of business practices built around record keeping. - Contractual functions - Inventory - Discovery (looking out onto an organizations network to sniff out assets)
- Who, for what purpose, for how long?
- Discovery Tools
ServiceNow Discovery Manager Engine Nagios Spiceworks SolarWinds - Financial activities.
Acquisition cost Licensing Upgrades Maintenance
- Contracts - Licenses - Subscriptions - Services - Software lifecycle:
request/purchase/deploy/reconcile/service/retire
- The ITAM Implementation Process
- Obtain Executive Sponsorship (CIO)
- Obtain Internal Resourcing (staff, budget, time)
- Decide if you will use an experienced business partner (consulting organization)
- Software Licensing Knowledge
- Practical Best Practices
- Technology Expertise
- Use a Phased Approach to implementation.
- User Desktops
- Servers
- SaaS Subscriptions
- Make governance an operational function (part of your IT lifecycle process).
- You should have an Impetus for implementing ITAM, such as:
- Software Waste Reduction
- Upcoming Renewals
- Data Center Expansion or Consolidation
- Migration of software into the Cloud
- Cybersecurity Initiatives
- Pilot
- Start small, with a single, specific initiative.
- Example: Tracking a single software vendor and going through a software audit with them.
- The SAM approach starts with paperwork on one side (purchase and license or entitlement records), and actual discovered software on the other.
- These 2 inputs go into a normalization and reconciliation process.
- The ServiceNow Content Library can identify thousands of software publishers, and millions of software and hardware titles, including versions, releases and levels. It can also handle discovery, procurement, and lifecycle data. - Users can always submit anything the library fails to recognize to ServiceNow’s research team through the automated feedback loop. Once validated, this should ultimately lead to its identification and inclusion in the ServiceNow Content Library - The discovery process provides information about what's present and in-use on an organization's network. - ServiceNow's SAM solution analyzes your organization's purchase, license, and entitlement records. - Some licenses or entitlements pertain only to specific computers. Some are measured in aggregate. Some may be associated with specific departments. - After analysis, SAM can report if the org has more licenses or entitlement than are actually used. And it can identify terms and conditions regarding allowable use, renewal terms and dates, and how unused resources might be reallocated. - ITAM is not a trivial program to setup. - Case Study In some cases, CHS had been double-counting licenses because of the different versions and deployment patterns. Nearly 20,000 machines with some overlap in licensing were discovered in the initial analysis. The direct monetary savings have been impressive—a roughly 40% reduction in licensing costs thanks to having a proper inventory. Consolidating software asset information also allowed for more useful conversations with vendors, pushback on audits, eliminated 10 months of response time per audit and set up negotiation room for volume pricing. - Getting ITAM Right
- Use Discovery to Identify Assets and develop a Hardware and Software inventory (including Software As A Service resources).
- ServiceNow Discovery tracks down physical and virtual machines, including switches, routers, and storage, as well as applications.
- Clear and information-rich asset listings are the result.
- Show the dependencies among the various objects.
- ServiceNow’s SAM can help provide visibility into SaaS subscriptions - Workbench - Publisher Tab
- Specifics of Individual Software product including Version, Publisher, License Metrics, Compliance Info, Reconciliation Info.
- Knowing how intensely, widely, and often a given software product is being used—with or without correct licensing—can enhance a negotiating position. - Publisher Packs Provided by top tier vendors that typically comprise 80%+ of an organization’s software budget (e.g. Microsoft, Oracle, and so on). These packs typically provide additional or extended functionality. - Software Reconciliation - Compares your software usage with your license entitlements. This is critical when you face an audit or other check on your compliance. - ServiceNow’s software reconciliation process is fully automated and customizable, along with providing complete granularity. It can be run on demand for different groups, for example, including specific software publishers, groups, and subgroups. - Orchestration - Automation generally refers to eliminating a manual process in a single task, such as creating a new user account, whereas orchestration refers to optimally arranging a series of automated tasks in a workflow - Asset Management is a critical part of every major cybersecurity framework. - SAM helps you prove to auditors that you have anti-virus software running on all in-scope systems. - With ITAM, you can also identify personal data and create an information asset that gets tracked similar to other assets. Once you have an information asset, you can identify every place it exists, where it moves, get reports about information assets, and easily remove a specific asset when necessary. You can then embed compliance controls, such as GDPR, into your processes and identify dependencies across programs and services. - ITAM data improves your help desk’s ability to assist your end users. When ITAM is integrated with your service management (or ticketing) system, IT support technicians get a complete snapshot of a user’s environment. When a user calls or creates a ticket in your service management system, your support technicians can quickly and easily pull up all the important information they need about any assigned assets the user may have, such as hardware make and model, installed software (and versions), latest operating system and software updates, recent configuration changes, warranty information, and service and support history. - Software Catalog - ITAM Data lets you create a more personalized software catalog that matches a user's role and assets with the software options that are supported and authorized for that user and his device. - Track service and support contracts to ensure they don’t expire for critical hardware assets. - Monitor EOL and EOS dates to help organizations plan and budget for hardware replacement. - Identify unused hardware such as new inventory, parts and spares, pooled equipment, and unallocated resources that may be available for allocation or deployment. - Identify siloed, one-off, or “shadow IT” purchases to centralize procurement and potentially take advantage of volume discounts from software publishers and/or vendors. - Discover unused or underutilized software licenses that can be reallocated where needed. - Consolidate different applications with similar functionality used throughout the organization (for example, Asana, Mavenlink, Microsoft Project, and Smartsheet may all be used for project management). - There are also indirect cost savings, such as increasing interoperability and productivity across teams, workgroups, departments, and business units by using the same applications for the same purposes. - CMDB - The CMDB is an excellent tool for tracking changes, but it does so at a very granular level that may not always be easily consumed by humans. A CMDB tracks changes to individual configuration items (CIs), which may include servers, physical memory, processes, dynamic link libraries (DLLs), and so on. - Configuration items and assets are similar in some ways, but also distinct. ITAM focuses on the financial and contractual aspect of an asset throughout its entire lifecycle, from planning to disposal. - Configuration management focuses only on operational usage while a configuration item (CI) is live (or being serviced) and their logical relationships.
- It's an Asset if:
- You care about tracking the item's purchase, cost, depreciation, etc.
- Documenting the end-of-life or destruction is required.
- There are associated Contracts, like maintenance, warranty, licenses, etc.
- Inventory tracking is expected.
- It's a Configuration Item if:
- It may be associated with an Incident, Problem, or Change record.
- You monitor and track its technical specifications.
- You need to know the item's relationship to other items in production.
- Note, there is OVERLAP between Assets and Configuration Items. Some are both.
IT Business Management (ITBM) / Application Portfolio Management
- One of the major application suites in ServiceNow. - Includes the following applications. - Agile Development
- Can integrate with Jira.
- Application Portfolio Management
Portfolio should be evaluated on a regular basis, perhaps quarterly.
- Demand Management
- Demands are moved into the PPM module to be implemented.
- Demand Manager looks at Ideas.
- Ideas are assigned to a Demand Manager.
- Demands have a state, such as In Development.
- You can jump straight into a Demand, without going through an Idea.
- Types include Project, Enhancement, etc.
- You can add a list of “Collaborators”, who can provide additional information.
- You can identify (link) various Business Capabilities and Business Applications.
- You can link to enterprise “Strategies” also.
- There are fields for Risk of performing, Risk of not performing, etc.
- Resource plans may be attached.
- You identify groups that you want to work on the project.
- Resource managers may respond and say Confirmed or Allocated (if resources are busy).
- Cost plans include Labor and other items such as Hardware.
- Financial Management
Plans Actuals Forecast
- Idea - Everyone has access. Everyone can vote, potentially. - Ideas have a State, such as submitted. - Ideas may be Voted on (upvoted or downvoted). - Access via the Filter Navigator or other channels. - An idea may be converted into a Demand. - Crowd-sourcing. Not every organization uses this. - You can setup an Idea Manager, or a business relationship manager to control promoting Ideas to other records. - Project / Portfolio Management - Resource Management - Test Management
UAT
IP Address Management (IPAM)
- A methodology implemented in computer software for planning and managing the assignment and use of IP addresses and closely related resources of a computer network. It does not typically provide Domain Name System (DNS) and Dynamic Host Configuration Protocol (DHCP) services, but manages information for these components.
Internal Integration User
- Allows a user to bypass the WS-Security authentication requirement. - Comes into play when “WS-Security” is enabled. - When WS Security is enabled, authentication is required for all SOAP requests. - However, the MID Server, ODBC Driver, Remote Update Sets, and high availability cloning communications cannot implement WS-Security due to technical implications.