ServiceNow Virtual Agent

Ravi Kumar
ServiceNow TechMinds
10 min readMar 11, 2019

Customer Service today, whether it’s serving external customers or your internal user-base, has some challenges. Many companies have enabled self-service that allows users to solve issues themselves, typically through a Service Portal.

But when a user needs help, they will probably start by searching for a solution. Unfortunately, that doesn’t mean they’ll always find the answer they are looking for. For an example scenario, a user has a cracked screen and types ‘Help, I broke my screen’ into the search bar. They could easily be presented with a number of options including User-Manual, Support Forum, FAQ and many more. None of these options are a quick fix. So the user then selects the ‘Get Help’ option which takes them to a form full of fields to fill in; Name, Age, Email, Address, Mother’s Maiden Name, First Pet and many more fields which should either already be known by the system they’re logged into, or irrelevant. (Source: https://community.servicenow.com/community?id=community_blog&sys_id=ea1c93bddba21780d58ea345ca961957)

What if there was a simpler way? What if they were simply presented with one question?

HOW CAN WE HELP YOU?

To resolve the challenge of self-service, Virtual Agent came into the picture.

What is ServiceNow Virtual Agent — Service Now Virtual Agent with Service Now’s Virtual Agent, that’s exactly what the user is going to get. A conversational UI (chat) across multiple platforms that asks the user what they need. No lists, no forms, just tell the Virtual Agent what you need. Sounds great, right? Sounds too good to be true?

Service Now Virtual Agent gives end users the ability to get help, to get things done by having a conversation with the virtual agent, Virtual agents understand the end user’s issue and then provide the fix and relevant solutions.

Through Virtual agent, a user can get help by their own simply by choosing options provided by the virtual agent.

The best thing with Virtual Agent is, it can be integrated with Service Now and third-party messaging apps like Microsoft Teams and Slack.

How to Activate ServiceNow Virtual Agent in Instance- Service Now Virtual Agent Application is not free, you have to ask your service now manager to get it by paying a subscription charge.

First, go to system definition- then under system definition, you can find a plugin module.

Now search for the Virtual and then you would see different plugins related to Virtual Agent.

First, you need to activate Glide Virtual Agent and then to get a predefined topic, you need to activate Customer Service virtual Agent Conversation and ITSM Virtual Agent Conversation.

Main Components of ServiceNow Virtual Agent- There are three main components of Virtual Agent:

A) Conversational Interface- Conversational Interface is space where virtual agent and customer will interact with each other, and the user will ask help there and the virtual agent will provide solutions.

B) Virtual Agent Designer- Virtual Agent Designer is a canvas where we define the workflow of the conversation.

1. Palette region -List of controls that you can drag onto the canvas to build a conversation:

  • User Input — controls used to prompt and capture information from the user in a conversation.
  • Bot Response — controls for displaying bot responses in a conversation.
  • Utilities — controls for performing actions within a topic, such as running a script or adding different conversation paths (branches) in a topic.

2. Canvas- Area that graphically displays the conversation flow. As you drag a control onto the canvas, that control becomes a node in the conversation flow. Includes an associated property sheet that opens in the right pane. Each flow has a Start and End node. The layout of controls on the canvas is organized automatically as controls are added and removed.

3. Property sheet -Properties specific to the selected node on the canvas. Each node has its own set of properties that you can define, which can include scripts that control the behavior or processing performed in the node.

4. Script editor -A script editor for adding or editing JavaScript scripts used in a property. Provides scripting assistance, including a list of valid elements at the insertion point, such as function name, object names, and variable names available for the topic.

5. Script variables-Section for declaring variables used within the topic (conversation session) to store values outside the control variables, to help with more complex scripting scenarios.

C) Live Agent Support — Live Agent Support, If User is not satisfied with the response of the bot then he can switch to live agent for further discussion. It gives Give users the option to switch to a human agent for assistance during bot conversations.

Virtual Agent is integrated with the Live Agent module to offer a seamless transfer from a bot conversation to a live agent. With Live Agent, you specify the agent chat queues to be used, including the chat interactions transferred from a virtual agent to a human agent. Your users can request a live agent transfer at any time during a Chatbot conversation. You can also initiate a live agent transfer through custom conversation flows that you build.

How to add Virtual Agent Widget in Your Service Portal- Add the Virtual Agent Service Portal widget to a Service Portal page to enable your user to run Virtual Agent within your service portal.

Procedure

  1. Navigate to Service Portal > Service Portal Configuration in the navigation bar to open the service portal configuration page.
  2. Click Designer to open the Service Portal Designer.
  3. Select the service portal page where you want the Virtual Agent widget to appear.
  4. Use the Filter Widget text box in the navigator to filter the widget list for term Virtual Agent

5. Click and drag this widget to the bottom of the page. The widget itself appears empty, however, you should see a floating blue Chat Widget at the bottom right of the page.

How to add Topic in Virtual Agent Designer- Define the flow of user inputs, bot responses, and actions performed in a chatbot conversation. The main steps in topic creation are:

  • Define the topic-level properties.
  • Build the topic flow with user inputs, bot responses, and utilities. For each control, specify the properties that determine how the control functions in the conversation. Save the topic frequently as you build the flow.
  • Preview and test the topic as you build it.
  • Save the topic flow

Procedures -

  1. Navigate to Collaboration > Virtual Agent > Designer, and in the Topics page, click + Add a topic.

The Topic Properties page displays.

  1. Enter the topic properties

Fields

Description

Name

A unique name for the topic that reflects its business purpose

Description

A brief description of the topic.

Keywords

A list of key phrases or terms that users enter to initiate the conversation with the chatbot. Press Enter after each phrase

Condition

Expression logic that uses one or more conditions to control who sees a topic in the Virtual Agent client. If left blank, the expression is true

Roles

The roles that an end user must have to view and run the topic. If a topic is public (available to users, including guest users, who are not authenticated in ServiceNow), select only the Public role

Live Agent variables

The Live Agent variables defined in Live Agent setup. Select the variables that provide dynamic context (information from the Virtual Agent chat) transferred from the topic to a Live Agent

3. Click Save.

4. Click Edit Topic flow.

Flow Sample- Topic Name- to Add a comment in an Incident

  1. In Virtual Agent Designer, add a Reference Choice control to the conversation flow. This control is used to select the incident.

a. Enter Choose an incident for the Name property. The variable name choose_an_incident is automatically generated for the control.

b. In the Prompt property, enter the text the user sees before selecting an incident.

c. In the Acknowledge Message property, enter text the user will see after making a selection. This value can be a static string, for example, Thank you for making a selection. Leave the Default Value property blank.

d. In the Reference Type property, select Record.

e. In the Table property, select an incident.

f. In the Choice Value Expression property, input the following code:

2. Add a Card control to the flow. This control shows information from the record selected by the Reference Choice in the previous step.

a. Enter Status Card for the Name property.

b. In the Reference Type property, select Record.

c. In the Record property, select Choose an Incident. This choice refers to the Reference Choice control created in the previous step, so the data displayed comes from the record chosen there.

d. In the Fields control, select a field. The choices available are the available fields on the chosen record. In this case, you can see the fields on the incident table. After a field has been selected, click the Add Field option to add additional fields to the card. A delete icon appears to the right of each selected field. Clicking these icons removes the field from the card.

  1. Add a Boolean control to the flow. This control is used to prompt the customer with a yes/no question. In this case, the control checks to see if the user wants to leave a comment on the selected incident record.

a. Enter Leave Comment? for the Name property. The variable name leave_comment_ is automatically generated for the control.

b. In the Prompt property, enter the text the user sees before the prompt. In this case, ask the user whether they want to leave a comment on the incident.

c. Optionally, you can enter a value in the Acknowledge Message property. This value appears after the user chooses yes or no.

4. Add a Decision control to the flow. This control branches the conversation into two possible paths. The path the conversation follows depends on the choice the user made in the previous step.

  1. There are no properties on the decision control, however, there are properties on the branches below the decision. By default, there is a single branch labeled Always. Click the blue plus icon at the bottom of the decision control. A second branch appears labeled Never.
  2. Click the Always branch of the decision to access the properties for this branch.
  3. Change the name to Leave Comment.
  4. In the condition property, enter the following code.

e. Click the Never branch of the decision to access the properties for this branch.

  1. Change the name to No Comment.
  2. In the condition property, enter the following code.

h. One of the two branches you have created points to the End node of the conversation. The second branch should also lead to this node. Click the arrow at the bottom of that branch, and drag it the End node

5. Add a Text Input control to the Leave Comment branch of the conversation. This control is used to request text input from the user.

  1. Enter Get Comment for the Name property. The variable name get_comment is automatically generated for the control.
  2. In the Prompt property, enter the text the user sees before the prompt. In this case, ask the user for the text of the comment.
  3. Optionally, you can enter a value in the Acknowledge Message property. This value appears after the user enters a comment.

6. Add an Action control to the conversation below the Get Comment control. This control is used to add the text entered into the previous control as a comment on the selected incident.

  1. Enter Save Comment to Incident for the Name property.
  2. In the Action Type property, select Update a Record.
  3. In the Record property, select Choose an Incident. This choice refers to the Reference Choice control created in the previous step, so the record chosen there is the one that this Action control updates.
  4. In the Field property, click Add Field. A pop-up window appears. Fields from the record can be selected and given values in this window.

After designing the flow, you have to save it and activate the topic to make visible in Chatbot.

Manual transfer to a live agent using the Contact Support option

In the Virtual Agent web-based client, users can choose the Contact Support option to transfer to a live agent

Scripting Part of the Virtual Agent- in Virtual agent, Two custom variable is introduced rest is same as other scripting working on ServiceNow:

User Input Variables: When you add an input control to a topic, the system automatically creates a variable to store the user input.

The syntax is vaInputs.myvar where myvar is the name you assigned to the input node

Script Variables: Script Variables are similar to workflow scratchpad variables that store primitives such as integers, Boolean values, or strings.

The Variables syntax is vaVar.myvar where is the name you assign to the variable

Benefits of ServiceNow Virtual Agent-

Implementing a virtual agent to handle common requests and tasks enables your users to get immediate help, day or night. Providing your virtual agent on channels familiar to your users, such as third-party messaging apps, offers a convenient way for them to get work done quickly. A virtual agent can also offer personalized customer experiences by applying and remembering user information during the conversation.

Typical Tier 2 support tasks that can be accomplished with virtual agents include:

  • Answering FAQs.
  • Providing tutorial (“how to”) information.
  • Querying or updating records, for example, to get status on cases or incidents.
  • Gathering data, such as attachments, for the live agent.
  • Performing diagnostics.
  • Resolving multi-step problems.
  • Drives Self Service Model
  • Get end users what they need faster than ever before
  • Requires organizations to staff less service desk agents
  • Automates common task that was manually performed by the service desk.
  • Reduce cost in service desk process.
  • Make work easier and give feel good which ultimately convert into customer satisfaction.

Automating these support tasks with a virtual agent frees your support agents to focus on more complex user issues and enables you to scale your support organization accordingly

Source-

docs.service-now.com

community.service-now.com

Created by Ziaur Rahman

About Ravi Kumar:

Ravi Polishetty (ravi@fortuneminds.com) is an IT Expert covering 15+ years of experience in design/architect/developing Enterprise and Cloud-based Applications; as well as working on IT and Software projects for the top Fortune 1,000 companies using ServiceNow, Oracle Fusion Middleware, and Java/J2EE technologies. He is also a ServiceNow SME with a versatile set of experience in the Design, Development, and Implementation of ServiceNow Applications.

--

--

Ravi Kumar
ServiceNow TechMinds

ServiceNow Architect | Entrepreneur | Technology Trainer | Startup Mentor