Welcome to our JAVASCRIPT PAGE Section N
Natural Language Understanding (NLU)
- Takeaway
Natural Language Understanding (NLU) is the ability for a machine to analyze, understand, and derive actionable meaning from (unstructured) human language. In NLU an Intent is what a user wants to do. An Entity is the Object of an Intent, or provides context for an Intent. An Utterance is a unit of text or speech input, such as a Sentence. For NLU to work, a Model must be constructed and then Trained on a Prediction Server. The NLU Application comes with some pre-built Models. A Model is a collection of Utterance examples and their Intents and Entities. Any ServiceNow application can invoke an NLU Model to get an inference of Intents and Entities for a given Utterance. A Model Builder inside of Developer Studio lets you create Models of Intents, Entities, and Vocabulary (synonyms). NLU Predictions are saved to a Predict Logs table which can be used to debug unexpected results.
- Personas:
NLU Model Builder - nlu_admin - Create and manage NLU models. Understands company jargon. \\
- Plugins:
com.glide.nlu NLU Model Builder - Core - Installs the required tables for NLU models. com.snc.nlu_studio NUL Model Builder - Enables the creation of NLU models. com.glide.platform_ml Predictive Intelligence - Enables the NLU Service APIs for model creation and inference. com.snc.itsm.nlu ITSM NLU Model com.sn_csm.nlu CSM NLU Model com.sn_hr_nlu_model HR Scoped App NLU Model \\
- Roles:
nlu_admin NLU Admin - Use/Build NLU Models in the NLU Builder. nlu_user NLU User - Has read access for NLU Modeler tables. \\
- Tables:
sys_nlu_vocabuliary NLU Vocabulary - A list of words (synonyms). sys_nlu_entity NLU Entity - A list of entities. m2m_sys_nlu_model_sys_entity NLU Model System Entity - Mapping between the models and entities. Entities may be used in multiple models. sys_nlu_intent NLU Intent - A list of intents. sys_nlu_model_status NLU Model Status - Stores the current state of each model: Draft, Trained, or Published. sys_nlu_model NLU Model - A list of Models which contain Intents, Entities, and Vocabulary. \\
- The ability for a machine to analyze, understand, and derive actionable meaning from human language.
- Allows transactions to occur in a more human-like manner.
- The goal of NLU is to understand unstructured language.
- NLU does not support domain separation at this time (03/11/2020).
- The NLU Service itself is trained on The Wall Street Journal (WSJ) and on Wikipedia.
- ServiceNow stores a list of NLU predictions in the Open NLU Predict Logs (open_nlu_predict_log) table. Use this table to identify unknown messages or unexpected results. Note, the data in this table is removed after several days to save space. The table shows the Request that was made to the server and the Response that came back. The intents that best match the utterance are underlined in red. The confidence scores are underlined in blue.
- Using NLU, users may perform “Conversation Switching” - Users can change the topic during a conversation.
- Entity
- An Object Of or a Context For an Intent.
- Types:
Simple (Laptop) List (Brand) Pattern (Incident Number) - Examples: Tickets Issues Requests - Named entity - A specific type of Object that is commonly used and is represented in a pre-defined model. - Examples: Date Time Currency Location Organization People Quantity \\
- IBM Watson
- ServiceNow offers a prebuild integration to IBM Watson Assistant to manage intent/entity in IBM.
- This allows you to take advantage of the work already done to build NLU models.
- Two Integration Options:
1) Dialogs Only
- Intents and Entities are extracted from the IBM Watson Assistant
- Construct conversations in ServiceNow's VA Designer. The topics can consume Intents and Entities from IBM Watson Assistant.
2) Intents, Entities, and Dialogs
- Users can interact with IBM Watson Assistant within the ServiceNow chat client in the service portal.
- The conversation flows, Intent, and Entity extraction are running in IBM Watson Assistant.
- Inference Service
- Takes an Utterance as an input, and returns an Intent/Entity as an output.
- Helps the system understand natural language and drive intelligent actions.
- Predicts Intents and Entities for an utterance in the model.
- Intent
- What a user wants to do.
- Intents cannot be identified automatically. They must be defined manually.
- An NLU Intent corresponds to a VA Topic. There is a 1 to 1 relationship between NUL Intents and VA Topics.
- Model
- A collection of Utterance examples and their Intents and Entities.
- Used by the system as a reference to infer Intents and Entities when a new Utterance is input.
- NLU has prebuilt models, however, if additional models need to be created, the a process may be followed.
- Any ServiceNow application can invoke an NLU Model to get an inference of Intents and Entities for a given Utterance.
- Model Builder
- A part of Developer Studio.
- Allows an admin or delegated developer to build models in the ServiceNow Studio.
- You can Train, Test, Validate, and Publish models.
- Lets you create Models containing Intents, Entities, and Vocabulary.
- You can Train, Test, and Publish your models in the builder.
- Clicking on an Intent displays a list of Utterances.
- The NLU builder allows the ability to associate entities to utterances.
- Prebuild Models
- ServiceNow provides prebuild models for ITSM, CSM, and HR
- Process for creating a Model:
- Create Model
- Create Intents
- Enter 10 - 30 Utterances (Samples). They should be expressed in a variety of ways, such as active voice, passive voice, or in the form of a question. Should be fully formed sentences, including keywords.
- Create Entities
- Train
- Do this every time you change an Utterance, Entity, or Synonym.
- Each time you train your model, a version number gets assigned.
- Train your model after you have crated your first ten Utterances. Then keep adding, training, and retesting until you have covered all potential utterances for the Intent.
- Test
- Publish
- If users provide feedback about a request that was not found, you should test that request (Utterance) in your model, and add it as an additional Utterance if needed.
- Predictive Intelligence
- Requires a subscription.
- Predictive Intelligence models use a Prediction Server to request predictions.
- Encompasses NLU. Like Predictive Intelligence, NLU is another machine-learning capability of ServiceNow.
- Both Predictive Intelligence and NLU require “training” before use.
- For NLU models are trained on the Prediction Server and Virtual Agent makes calls to the Prediction Server to predict the correct Intent.
- Utterance
- A unit of text or speech input.
- A specific way in which a user asks for something. Examples:
- “What's the status of my ticket?”
- “Is my issue fixed yet?”
- Vocabulary
- Used for giving meaning to an unknown word, or to override the meaning of a word.
- Vocabulary may be defined as a literal word, or as a regular expression.
- Vocabular is case-sensitive.
- A list of synonyms that help NLU better understand the lingo/language in your organization.
Node.js - An asynchronous, event-driven JavaScript runtime (execution environment). - Designed to build scalable network applications. - This is in contrast to today's more common concurrency model in which OS threads are employed.
- Thread-based networking is relatively inefficient, and difficult to use.
- Additionally, since there are no locks, there is no chance of dead-locking the entire process.
- In contrast to JavaScript libraries that provide an event model, Node.js hides the entire event loop from the user.
Newline Character
- You can insert a <BR> tag into a regular string and then output that string using gs.addInfoMessage(“My <BR> String”); and it will honor the line break.
Next Experience - A UI Framework. - Involves ONE browser tab (the Workspace UX). - Supports multiple ServiceNow tabs (within the single browser tab). - Web Experience Platform
- JavaScript UI Framework.
- No dependency on any 3rd party APIs such as Angular.
- Built on Web Standards.
- ServiceNow component library.
- Supported by “UI Builder” (UIB)
- Allows you to configure, extend, and create upgrade-friendly applications.
- Allows you to configure components, experiences, and entire applications.
- Shows the content on your page in a Tree View.
- Over 100 OOB components may be added to a page.
- You configure “Data Resources” to link to data.
- “Page Scripts” allow you to manipulate data before you send it to your page components.
- You can see live data as you are building pages.
- Component Events allow you to define actions that happen when the user clicks on something or takes other actions.
- Many components exist in the Now Experience Components library.
- Extend any existing component to meet your specific needs.
- Supports a Command Line Interface (CLI)
- Misc
- May have been called “Now” Experience previously.
- Started in San Diego
- Designed to improve the look, fell, and usability of all Web Applications on the Now platform.
- First version of Workspaces did not have much in the way of Personalization.
Notifications - Outbound Email
- Takeaway
- A Notification is an Email, Text Message, Meeting Invite, or Push Notification, in response to an activity in ServiceNow. A user may set his own notification preferences. A user may also subscribe to a notification even if he is not in the ordinary “Who will receive” list.
- Modules
System Notification - Email - Notifications
System Notification - Email - Notification Email Scripts
System Diagnostics - Email Diagnostics
System Properties - Email Properties
System Logs - Emails
System Logs - System Log - Application Logs
System Mailboxes - Administration - Email Accounts
System Mailboxes - Administration - Email Properties
System Mailboxes - Outbound
System Mailboxes - Inbound – Received
- Look for emails which have been generated in filter navigator “System Logs - Emails”, table syslog_email.
- To dynamically reference a field value from the record that triggered the Notification:
${MyFieldName}
- Use dot-walking to reference field values on related records.
${ReferenceFieldName.FieldName} \\
- To reference the event parameters parm1 and parm2, use
${event.parm1} or ${event.parm2}
- Links may be added within the message body to reference the record that triggered the Notification or a related record, as follows:
- ${URI}
- ${URI_REF}
- ${caller_id.URI}
- ${caller_id.URI_REF}
- Note, using ${URI_REF} uses the display value for the linked record text instead of the word 'LINK'. For example “INC00000055”.
- Screenshots:
- The Notification “Weight” Field is used by the system to determine which notifications to send when there are multiple notifications triggered by the same record, to the same recipient. Notifications with a weight of 0 are always sent. Of the Notifications with non-zero weight values, only the notification with the highest weight value is sent.
- A notification sends an outbound email to one or more recipients, in response to an activity in ServiceNow. - Notification triggers include:
- Record Inserted or Updated
- Event Generated
- Notification Activity executed in a Workflow.
- Send Email action executed in a Flow
- A notification channel can take the following forms:
- Email
- Meeting Invite (if the company is using Microsoft Outlook)
- Push Notification (for mobile device users)
- SMS (Text) message
- Notifications are sent out to users when workflow records change state.
- Each user can set his own notification preferences, such as Primary Email, Mobile App, or Text Message.
- Ordinarily, adding a user to a notification's “Who will Receive” section does not guarantee that the user will receive the notification. User Notification Preferences may suppress the notification. However, the “Force Delivery” setting may be used to force a notification to a user even if he has unsubscribed.
- Important! If the “Sent to event creator” checkbox is Unchecked, ServiceNow will NOT add the event creator to the recipient list, even if he would normally be added by one of the other methods such as Event Param or directly in the Users field!
- Important! Emails only show up in the Activity Stream on the Notes tab if “Email sending enabled” is set to Yes under System Properties - Email Properties.
However, emails will still appear in the Outbox (table sys_email) even if that setting is “No”.
- glide.email.smtp.active
- Notification recipients do Not need to be ServiceNow users. Notifications may be sent to any email address.
- ServiceNow will send a notification to all recipients, even if they do not have access to view the associated record. To prevent this, a developer would need to use a script to restrict the recipient list to just those users or groups who would normally have access to the record.
- Preview
- You can preview a Notification after you build it. Any email recipients which are struck out will not be sent the email at runtime.
- Subscribable
- An attribute of a Notification that allows a user to be notified, even though he does not appear in the “Who will receive” users list.
- Weight
- A property of a notification.
- Used by the system to determine which notifications to send when there are multiple notifications triggered by the same record, to the same recipient.
- Notifications with a weight of 0 are always sent.
- Of the Notifications with non-zero weight values, only the notification with the highest weight value is sent.
- Users/Groups In Fields
- This attribute allows you to specify any Reference Field that resolves to either a User or a Group. ServiceNow will then send the notification to that user or group. This can add more flexibility for Notification recipients, and reduce the number of times the Notification needs to be edited, because the recipient list is more flexible.
- The Notification Activity in a workflow can be used to send an email. It has fewer configuration fields than a true Notification form.
- Notification Email Scripts
- A server side script which is used to “print” additional dynamic content to a Notification message.
- Invoked from within a Notification using the following syntax:
${mail_script:MyEmailScriptName}
- The Notification Email Script overrides any content which was set in the basic Configuration of the notification.
- Must be created in the Platform UI, Not in Studio.
- Has access to the following script objects:
- current (GlideRecord API)
- email (GlideEmailOutbound API)
- template (TemplatePrinter API)
- event (only for notifications which are responding to events)
- The javascript function template.print() is used to render content to the Message field of a notification.
- Example:
Generate an instance-specific Hyperlink to the Portal My Approvals page.
(function runMailScript(current, template, email, email_action, event) {
var sAnchor = '<a title=“My Approvals” href=“[XXX]/sp?id=approvals” target=“_blank” rel=“noopener noreferrer nofollow”> My Approvals</a>';
sAnchor = sAnchor.replace(“[XXX]”, gs.getProperty('glide.servlet.uri'));
template.print(sAnchor);
})(current, template, email, email_action, event);
- A notification's “Who will receive” section does not have fields for CC or BCC. You must add these using the “email” global variable.
- A “mailto” email template may be used to create a link for a notification recipient, which, when clicked, will pre-populate an email response message.
- The “SMS Alternate” field may be used to specify what is sent in place of an email, for an SMS device.
- In order to test Notifications it seems like I had to turn on “Email sending enabled” under Navigator - System Properties - Email Properties.
- glide.email.smtp.active
- Sending an Email Notification via an Event
- Be sure “Send to event creator” is checked or ServiceNow will refuse to send to the event creator!
- The Table involved is specified in the Notification itself.
- The sys_id (Record Reference) is contained in the event. Thus, table fields may be referenced directly.
—-
Use the syntax ${field1} that is, curly brackets around a table record field name, to inject the value of a field directly into the email body.
Use the syntax ${field1.field2.field3} to Dot Walk from through a reference field to another value of interest.
Use the mail_script keyword to invoke a mail script and inject output directly into the email body; example: ${mail_script:Portal_MyApprovals_Link}
—-
- See Also
Inbound Email Actions
====== Now Experience Components ======
https://web.dev/web-components/
https://github.com/WICG/webcomponents
- Life Cycles
- There are callbacks (hooks) for connection, disconnection, attribute value change, and others. The UI Framework does NOT directly expose these to the Component Author, but instead provides the ability to define callbacks that are executed by the UI Framework. These hooks keep the View free of any business logic, making it nothing more than a representation of State.
- Shadow DOM
- Styles are scoped. No styles “bleed in or out”. The DOM is isolated also, so other libraries can't accidentally select and manipulate the component's DOM. All component views and styles are rendered in the Shadow DOM (shadowRoot).
- Slots
- The “composition model” for components.
- An optionally named tag that is a descendent in a component's shadowRoot.
- A placeholder that the component author has chosen for consumers to insert markup.
- Prevents a poor design in which the parent could have knowledge of a child or vice versa.
====== Now Learning ======
https://nowlearning.service-now.com/
Rome Delta - Certified Application Developer
- Takeaway
- Now provides amazing tools for learning ServiceNow and for showing others what you have learned. It is where you pursue Certifications. Many of the courses are free. They include excellent videos, hands on activities, knowledge checks, and even (instance) simulators. Also, the system generally keeps track of which courses you have completed automatically.
- “Now Learning” is ServiceNow's learning and recognition portal, and provides access to the full range of training content. Anyone who chooses to create a user account can take advantage of the content.
- See the document “SN_Learning_Nightmare” for a good matrix of the different Certifications and “Learning Paths” and associated courses! This document also contains a list of all of the ServiceNow products, from A to Z, from here: ProductsByCategory
- A support case may be entered, when signed in, via the hamburger menu at the top right.
- Upcoming ServiceNow Training Courses
- Certifications
Training and Certification
MicroCertifications
- Also, unfortunately, contains “Micro Certification Assessments.
ServiceNow Certification FAQ
- Read 11/24/2019:
- See pages 7 and 8 here for the Mainline and Micro certification learning paths (but not all courses are listed).
- A certification is a benchmark for recognition or knowledge and experience. It is a tangible measure of your educational investment.
- There are over 35 certifications offered by ServiceNow.
- Certification Types
- Mainline
- Demonstrates mastery of a ServiceNow product.
- Intended to show that one has the skills and knowledge necessary to configure, implement, and maintain the Platform.
- Micro
- Validates one's experience in a small or niche area.
- All Micro Certification Assessments (tests) are free of charge and available online.
- Delta
- A small certification on the Release Notes of an updated product.
- Exams
- ServiceNow Certification exams are computer‑based, multiple‑choice exams delivered by ServiceNow testing partner Kryterion, in a proctored environment. Online proctoring involving web cameras is also available.
- Exam questions are based on Training Materials, the ServiceNow Documentation Site, and the Developer site.
- Register for certification exams here: https://www.webassessor.com/SERVICE_NOW
- Implementer Certifications as of 09/20/2022
- Certified Implementation Specialist (CIS)
- Example:
- CIS-ITSM
https://nowlearning.servicenow.com/lxp?_ga=2.227721885.16810271.1663589233-3896820.1660674339&id=amap_detail&summary_id=79d64e311bfcf01002ed2f89bd4bcb51&achievement_id=6c8e1d77dbc27f40de3cdb85ca961970
- Note, when one of the dark green buttons says “Review”, that is an indication that the system knows that you have already taken that course.
- Exam Specification including Requirements
https://nowlearning.servicenow.com/lxp?id=learning_course&course_id=51b4f18bdb804d109e32db85ca961992
- Geoff completed courses:
https://nowlearning.servicenow.com/lxp?id=profile&spa=1&parent=a99369d31b08705002ed2f89bd4bcbc2&child=adc5a9571b08705002ed2f89bd4bcbef
- Not a Requirement
Configuration Management Database (CMDB) Fundamentals
14% complete as of 09/21/2022
- Write Use Cases. What do you want to accomplish? Only track CIs that track back to use cases.
- If you can't imagine a decision that will be based on the data, then don't track the data.
- Goals should consist of What, How, Why, and Measure.
- Configuration Control Board (CCB) - Oversees changes to the Configuration Management Plan. A steering committee.
- CI Class - A group of CIs that share attributes and are stored in their own table.
- CI Type - A friendly name that a CI is know by such as computer, router, or printer.
zzz
- Requirements:
One of the following:
- Instructor-Led Course - ServiceNow Fundamentals - Completed in 2020
- Path - ServiceNow Fundamentals On Demand
All of the following:
- Get Started with Now Create
- CMDB Fundamentals: Help me choose
All of the following:
- Instructor Led Course - ServiceNow Platform Implementation
One of the following:
- Course - IT Service Management (ITSM) Fundamentals On Demand (San Diego)
- Instructor-Led Course - IT Service Management (ITSM) Fundamentals
One of the following:
- Course - IT Service Management (ITSM) Implementation On Demand (Rome)
- Instructor-Led Course - IT Service Management (ITSM) Implementation
All of the following:
- IT Service Management (ITSM) Implementation Simulator (San Diego)
—-
- Courses
- There are over 150 on-demand courses.
- There are over 30 virtual, instructor-led courses.
- Courses include videos, webinars, hands-on activities, guided tours, and knowledge checks.
- Fundamentals
- The most popular on-demand course, recommended for all job roles.
- I completed the “ServiceNow Fundamentals” “Learning Path” using the “On Demand” method, rather than the “Instructor Led” method.
ServiceNowFundamentals_InstructorLed
ServiceNowFundamentals_OnDemand
- Contains 14 courses “modules” which you can take on your own time in any order.
- The Additional ServiceNow Fundamentals Content for System Administrators and Developers course contained within the ServiceNow Fundamentals learning path is optional. It is a significant additional chunk of content which I waded through.
- Took me about 7 days to complete, in total, since I did the “Additional Content”.
- I passed the 2 hour test my first time. Test seemed difficult. They do not provide a score, or any feedback.
- Learning Path
- A Role-Based, collection of courses and certifications, presented in a specific sequence.
- These have Levels, from beginner to advanced, but the levels don't seem to reflect the difficulty of the learning paths at all. :\
- Learning Plan
- A way to remember the learning activities that you're interested in, so you can complete them at a later time.
- You can add any of the following items:
- Certification
- Course
- Path
- Simulator
- Micro-Certifications
- Smaller certifications than Mainline Certifications.
- Targeted for specialty products or topics.
- Micro-Certifications may be completed directly within Now Learning, as opposed to Mainline Certifications which require you to take a proctored test.
- Each Micro Certification can be completed in a day or two.
- Only a couple of the Micro-Certifications require fee-based classes.
- Simulator
- A pre-configured Instance of ServiceNow, along with some Admin or Implementation tasks. It allows you to get hands-on practice in a live instance and receive feedback in the form of “validation”.
- WebAssessor - A certification management tool that will help you register for an exam, track certification statuses, and take non-proctored exams online.
WebAssessor Certification Exam Registration
Now Platform / Platform
- The “Now Platform” provides all the infrastructure needed to develop, run, and manage applications. It is a cloud-based computing model. Allows you to automate manual, repeatable processes and standardize service delivery. Accessible from a web-based UI built on top of a flexible table schema. Includes backups, security, and availability.
- In a Multi-Instance architecture, only the hardware is shared between companies. The other components of the Instance, the VM, OS, Middleware, and Application, are all segregated, and a single client can have multiple instances.