Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Help & Learning Resources
Quick Start Guide
Accessing the Platform
Navigating the XO Platform
Building a Virtual Assistant
Using Workspaces
Release Notes
Current Version
Previous Versions
Request a Feature
Conversation Designer
Dialog Tasks
Mock Scenes
Dialog Tasks
Navigate Dialog Tasks
Build Dialog Tasks
Nodes & Connections
Node Types
Intent Node
Dialog Node
Entity Node
Entity Rules
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections Setup
Sub-Intent Scoping
User Prompts
Voice Call Properties
Dialog Task Management
Supported Entity Types
Supported Company Names
Supported Colors
Knowledge AI
Knowledge Graph
Knowledge Extraction
Build Knowledge Graph
Create Node Structure
Build the Graph
Add FAQs
Add FAQs from an Existing Source
Run a Task
Traits, Synonyms, and Stop Words
Manage Variable Namespaces
Update Knowledge Graph
Move Question and Answers Between Nodes
Edit and Delete Terms
Edit Questions and Responses
Knowledge Graph Analysis
Knowledge Graph Import and Export
Prepare Data for Import
From a CSV File
From a JSON File
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Answer from Documents
Alert Tasks
Small Talk
Digital Skills
Digital Forms
Digital Views
Session and Context Variables
Context Object
Intent Discovery
NLP Optimization
ML Engine
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
Event Handlers
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentinment Management
Tone Analysis
Default Standard Responses
Ignore Words & Field Memory
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Conversation Testing Overview
Create a Test Suite
Test Editor
Test Case Assertion
Test Case Execution Summary
Health and Monitoring
NLP Health
Flow Health
External NLU Adapters
Dialogflow Engine
Test and Debug
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Custom Meta Tags
Create Custom Dashboard
Create Custom Dashboard Filters
NLP Insights
Conversations History
Conversation Flows
Conversation Insights
Feedback Analytics
Analytics Dashboard Filters
Usage Metrics
Containment Metrics
Smart Bots
Universal Bots
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Manage Assistant
Plan & Usage
Usage Plans
Support Plans
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data Table
Table Views
App Definitions
Data as Service
Sharing Data Tables or Views
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
Migrate External Bots
Google Dialogflow Bot
API Reference
API Introduction
API List
API Collection
koreUtil Libraries
SDK Reference
SDK Introduction
SDK Security
SDK Registration
Web Socket Connect and RTM
Using the BotKit SDK
BotKit SDK Tutorial - Blue Prism
Widget SDK Tutorial
Web SDK Tutorial
Introduction to Admin Console
Administration Dashboard
User Management
Add Users
Manage Groups
Manage Roles
Data Tables and Views
Assistant Management
Invite Users
Send Bulk Invites
Import User Data
Synchronize Users from AD
Security & Control
Using Single-Sign On (SSO)
Two-Factor Authentication (2FA)
Security Settings
Cloud Connector
  1. Home
  2. Integrations
  3. Configuring the ServiceNow Agent

Configuring the ServiceNow Agent

ServiceNow helps you build digital workflows on a single, unified platform. XO Platform’s ServiceNow Agent integration allows you to seamlessly hand off the virtual assistant conversations to your live agents on ServiceNow. 

This post provides the configuration steps to enable the ServiceNow Agent integration. Use the configurations provided below as general guidelines, as there could be some differences based on the version of the ServiceNow that you are using.

Overview’s Virtual Assistant (VA) serves as the central point of interaction for the users. In addition to its regular capabilities, the VA acts as a proxy or intermediary between the users and the ServiceNow agents to hand over conversations seamlessly. The VA also allows you to integrate with the ServiceNow platform. The VA facilitates communication and interaction between the user and the ServiceNow agent using the chat module. 


To configure the ServiceNow agent, follow the instructions in the sections below.

Step 1: Define the Host URL in the REST Message in ServiceNow

  1. Log in to your ServiceNow account. The ServiceNow account will have a unique URL for each developer instance in their Service Management or App Engine Studio. For example, the instance url is:
  2. Go to System Web Services > Outbound > REST Messages from the left menu.
  3. In the REST Messages page, click the New button to create a new REST Message.
  4. Copy the WebHook URL from’s virtual assistant configuration page and paste it in the Endpoint URL field.
  5. Click Save to save the new REST message.Note: You can also see a list of all the REST Messages that have been configured.

Step 2: Define Outbound REST Message Requests in ServiceNow

  1. To define REST Outbound Message, navigate to System Web Services > Outbound > REST Messages in the left menu.
  2. Select the REST Messages for which you want to define the Outbound message from the list of REST Messages. For example, search and select the Platform – Agent Integrations message.
  3. In the REST Message form, you can enter the API details, such as the name, endpoint URL as Callback URL from the Configurations page, and HTTP method.
    Note: This will be the endpoint through which ServiceNow will send Agent’s messages to the user.
  4. To define the HTTP header, click the HTTP Request tab and select the Add New Row button.
  5. In the new row, add the HTTP Header as shown below:
    • HTTP Header: Name: Content-Type, Value: application/json
    • Method: Add the POST method and paste the Webhook URL that you copied from the Configurations tab in the Endpoint field.
  6. Once you have entered the required details, click the Update button to save the REST Message.

Step 3: Define Outbound REST Business Rules in ServiceNow

  1. To define an Outbound rule, search and select the Business Rules under System Definition from the left menu.
  2. Click the New button to configure the Business Rule.
  3. Enter the following business rule details:
    • Name and select the live_message table from the Table drop-down.
    • Select the Active and Advanced check boxes.
    • Click the When to run tab, and select after from the When drop-down and select the Insert checkbox.
    • Add Filter conditions to execute this Business rule if created by is not a chatbot_interface.
  4. Click the Advanced tab, add the code below and click Submit:
    var request;
    request = new sn_ws.RESTMessageV2('Platform - Agent Integrations', 'Platform - Agent Integrations');
    request.setRequestBody("{\"group\":\"""\", \"formatted_message\":\""+GlideStringUtil.escapeForHomePage(current.formatted_message)+"\", \"sys_created_by\":\""+current.sys_created_by+"\",\"last_message\":\""+current.last_message+"\", \"sys_id\":\""+current.sys_id+"\"}");
    request.setRequestHeader("Content-Type", "application/json");
    var response = request.execute();

    Note: The code is optional. It is recommended to use the code when you face any issues during execution. This rule executes the API configured in REST Message.

Step 4: Create a New Queue

  1. Log in to your ServiceNow account.
  2. From the main menu on the left, search and select Queues under Connect > Support Administration and click on the New button.
  3. In the Queue dialog, enter the following queue details:
    • Name of the queue.
    • Select Consumer Service Support in the Assignment group field.
  4. Click the New button in the Chat Queue Entries section and assign the chat queue entry to a user as shown below:
  5. Click Submit to save the chat queue entry details.
  6. Click Submit again to save the queue details.
  7. Copy the ID from the Queue ID field.

Step 5: Enable the ServiceNow Agent

  1. Log in to the XO Platform:
  2. Select a Virtual Assistant for which you want to configure the ServiceNow agent. 
  3. Navigate to Build > Integrations > Agent Transfer and click the ServiceNow button.
  4. Click the Configurations tab and enter the following credentials for the ServiceNow Agent:
    • Host: The company’s URL hosted on ServiceNow.
    • User Name: The username of your ServiceNow account.
    • Password: The password of your ServiceNow account.
    • Queue ID: The unique queue identification number.
    • Webhook URL: The web URL for custom application function callbacks.

  5. If you want to make ServiceNow as the default agent, enable the Default Agent System for all bot channels option.
    Note: This option is enabled only when you have multiple agents configured for your VA.  
  6. You can customize the channel mapping by clicking the Manage link as shown below:
  7. Once you click Manage, you can map the channels for which you want to use ServiceNow agent to  hand over the conversations. 

    For example, if you have configured a Genesys chat integration, Intercom and ServiceNow agents. You can make one of them as default and map channels to agent systems. In this case, the Web Client and WebHook are mapped to Genesys and Intercom. Slack is mapped to the default ServiceNow agent. To learn more about channel enablement, see Adding channels to your bot.
  8. After mapping channels, click Done.
  9. Click Save to enable the ServiceNow agent.
  10. Publish the VA. For more information, see Publishing Bot.


This section helps you verify how the conversations from the XO Platform are handed over to the ServiceNow agent after enabling it. 

To verify the data exchange between’s VA and ServiceNow agent, follow these steps:

  1. Open a virtual assistant for which you have enabled the ServiceNow agent.
  2. Create a new Agent Transfer Node task. For example, create a Platform Agenttask with the UserAgent node and configure it to use the ServiceNow agent. For more information, see Agent Transfer Node.
  3. Click the Talk to Bot icon to launch the VA and enter Help.
  4. In the ServiceNow Engine, select the Impersonate User from the Profile option as shown:
  5. Enter the Username that you created in the Chat Queue Entries section. For example, select the Harry Anthony username.
  6. When a user initiates the chat from the VA, it transfers the conversation to the ServiceNow agent and sends a message to the user.
  7. Agent receives a notification about this on ServiceNow.
  8. Now, the connection between the ServiceNow agent and the user has been established, and the conversation continues.