ServiceNow Live Agent Setup
We support Agent Workspace and Service Operations Workspace from the ServiceNow Paris release onwards.
ServiceNow has put Agent Workspace
in deprecation process since Utah, and suggest to use Service Operations Workspace
. We support Service Operations Workspace
now.
Pre-Requisites on the ServiceNow Side:
This requires the SNOW instance with Pro license.
The Virtual Agent API
plugin is a hard dependency. At this time we support version 1.3.0, 2.0, 2.1.0, 3.1.0
. We will support newer versions in the future.
Support Matrix:
SNOW Version
Virtual Agent API Version
Support
San Diego
2.1.0, 3.1.0
YES
Tokyo
3.1.0
YES
Tokyo
3.5.2
YES, need Aisera Patch. reference to the last section of this page
Utah
3.7.x
YES, need Aisera Patch. Pls reference to the last section of this page
Vancouver
3.7.3
3.12.2
YES, need Aisera Patch. Pls reference to the last section of this page
Washington DC
3.10.0
3.13.0
3.14.0
YES, need Aisera Patch. Pls reference to the last section of this page
Xanadu
3.14.1
Yes, need Aisera Patch. Pls reference to the last section of this page
Yokohama
3.14.2
3.14.3
1. Plugins
The following plugins need to be active.
Advanced Work Assignment (com.glide.awa)
Agent Chat (com.glide.interaction.awa)
Conversational Messaging (com.glide.messaging.awa)
Conversation General Settings (com.glide.cs.settings)
Glide Virtual Agent ( com.glide.cs.chatbot )
Virtual Agent API - Please check the support matrix above for the correct versions. We do not support other versions at this time.
If you want to use
Service Operations workspace
instead ofAgent Workspace
, Please installService Operations Workspace
as well (Agent Workspace is in deprecation process by ServiceNow)
If they are not active, please make sure that they are activated.
2. Chat Setup
Make sure the ‘Global Fulfiller UI’ is set to ‘Agent Workspace’.(In a brand new Paris instance, you would not need this.)
3. Advanced Work Assignment Setup
The ServiceNow Administration should have setup the following for Aisera to go forward:
The Service Channel
This channel needs to be created against the ‘interaction’ table and type should be ‘Chat’. Make sure it is active.
Presence State
The ‘Active’ state needs to be enabled and then associated to the appropriate service channel.
By default this is true if the above said plugins are active.
Assignment rules
The assignment rule would be already present. If not create a sample rule like ‘SampleRule’
The Queues
The queue should be against the service channel from the previous step.
Create a sample queue like ‘SampleQueue’ if none present.
Assignment Eligibility - Apply the assignment rule to the queue. Associate the group. This group should have ‘awa_agent’ role and ‘workspace’ roles as well. The ‘Group’ should have the agents under them. Note: If you are using
Service Operations Workspace
instead ofAgent workspace
, please also addsn_sow.sow_user
as well.
4. Import and Commit Aisera UpdateSet
ServiceNow has an out of the box sample provider called ‘VA Bot to Bot Provider’. We wont use that. Instead use the update set provided by Aisera. The update set contains the following:
A new Messaging Provider called ‘Aisera ServiceNow Bot to Bot Provider’. It will also use the same bot-to-bot channel. This will reuse all IH actions which are out of box provided by ServiceNow except
‘Contextual Action’ as the out of box does not support ‘START_CONVERSATION’.
‘Virtual Agent - Bot to Bot Sender’ as this uses a localhost url for sending data. This should point to Aisera’s liveAgent/receiveMessage API
A new Messaging Provider Application called ‘Aisera VA Bot to Bot Provider Application’. This will be similar to the OOB ‘VA Bot to Bot Provider Application’ but it will point to Aisera Messaging Provider.
A new Scripted Rest API ‘Aisera ServiceNow Bot Integration’ with a postMessage method.
Script includes needed for communication with Aisera.
A table ‘Aisera Live Agent Info V2’ to hold the meta data about the Aisera system which this instance of ServiceNow communicates with.
Import the Update Set:
Note: Both update sets are required
Import the following update sets by downloading files from the following links: Aisera_LiveAgent_Update_Set_v9.67_sys_remote_update_set_b3dbafb42f26111040823e0ef699b626_update_xml.xml, version 9.67
Upload, preview and commit the parent update set. (There is a possibility that the commit might fail at 100% but this is fine.)
If you are applying the next version of this update set, please make sure you do not override the Aisera Settings.
AISERA SNOW Live Agent Patch V2 (version v2)
NOTE: This is a patch which should be applied after you apply the previous update set. we will Consolidate the update sets later.
Please upload, Preview and Commit the patch parent set. (Name: Aisera Live Agent Merged Bot to Bot Update Set - Batch Parent - v2)
5. Add Aisera Configuration Info in ServiceNow
The updateset will bring in a table called ‘Aisera Live Agent Info V2’. This table will hols all the info that is needed to communicate with Aisera.
The URL to reach this table would be https://$instanceName.service-now.com/nav_to.do?uri=%2Fsn_va_as_service_aisera_live_agent_v2_list.do
All above information should be populated properly. Aisera will need to provide this info to the customer so that they can populate it in the table.
Key
Value
Aisera_AppToken
The app Token for the given Aisera App.
Aisera folks would give this information.
Aisera_LiveAgent_URL
The LiveAgent API URL
Aisera folks would give this information.
Aisera_Login_URL
The Login URL
Aisera folks would give this information.
Aisera_Login_User_Name
The User name
Aisera folks would give this information (This needs to be an Aisera Service Account).
Aisera_Login_Password
The password. Please set the password in the ‘Sensitive Value’ column.
Aisera folks would give this information.
Sample:
Attribute
Value
Comments
Aisera_AppToken
H4sI……AAAA
Aisera_Login_URL
Make sure you don’t have a trailing slash (/) after .cloud
Aisera_Login_Password
The_Password_Here
Please set it in the 'Sensitive Value' column.
Verify the configuration
Navigator => Scripts Background
, run the following command
var accessInfo = new sn_va_as_service.AiseraAuthUtilV2().getAccessToken();
The result should looks something like this (not actual data):
sn_va_as_service (AiseraAuthUtilV2): AiseraAuthUtilV2: entered : sn_va_as_service (AiseraAuthUtilV2): AiseraAuthUtilV2: The tokenRequestUrl is :https://aisera-environment.aisera.cloud/tenant-users/oauth2/token sn_va_as_service (AiseraAuthUtilV2): AiseraAuthUtilV2: The authData is :{"status":200,"body":"{\"access_token\":\"H4sIAAAADCAAAAFgAJ//OH46fDZeieTf/ec11qe/uKoDIyr5o8NquL+Xt21urhLezM+FV7AspleO7/LkSVC0jNinEKhbu1/3+VXG/9134PgU3PrcQMtgRmrHS8B4YIOCCcCAO0GbjOW8l4f2+w654e4MAmADCAA=\",\"refresh_token\":\"H4sIAAAADCAAAAFgAJ//OH46fDZeieTf/ec11qe/uKoDIyr5o8NquL+Xt21urhLezM+FV7AspleO7/LkSVC0jNinEKhbu1/3+VXG/9134PgU3PrcQMtgRmrHS8B4YIOCCcCAO0GbjOW8l4f2+w654e4MAmADCAA=\",\"values\":{\"access_token\":\"H4sIAAAADCAAAAFgAJ//OH46fDZeieTf/ec11qe/uKoDIyr5o8NquL+Xt21urhLezM+FV7AspleO7/LkSVC0jNinEKhbu1/3+VXG/9134PgU3PrcQMtgRmrHS8B4YIOCCcCAO0GbjOW8l4f2+w654e4MAmADCAA=\",\"refresh_token\":\"H4sIAAAADCAAAAFgAJ//OH46fDZeieTf/ec11qe/uKoDIyr5o8NquL+Xt21urhLezM+FV7AspleO7/LkSVC0jNinEKhbu1/3+VXG/9134PgU3PrcQMtgRmrHS8B4YIOCCcCAO0GbjOW8l4f2+w654e4MAmADCAA=\",\"token_type\":\"bearer\",\"expires_in\":3600},\"token_type\":\"bearer\",\"expires_in\":3600}"}
6. Update Trusted Domain List
In the navigation bar, search sys_cs_provider.list
.
Update the setting of the page and add column Trusted media domains
to the page:
Trusted media domains
to the page:Update Trusted media domains
field
Trusted media domains
fieldAdd aisera.cloud,aisera.net
to Trusted media domains
of aisera servicenow bot to bot provider
7. Add Rich Control for Action
In the navigation bar, search sys_cs_provider.list
, and select Aisera ServiceNow Bot to Bot Provider
.
At the bottom, click tab for Rich Control Mappings
sys_cs_provider.list
=> Aisera ServiceNow Bot to Bot Provider
=> Rich Control Mappings
If the control mapping for DefaultAction
is missing under Rich Control Mappings
, please create one with the following values and save it.
Filed Name
Value
Description
Control Type
DefaultAction
Outbound transformer action
sn_va_as_service.virtual_agent__bot_to_bot_action_outbound_transformer
Inbound transformer action
Leave it as empty
Aisera Side
Pre-Requisite: The Aisera App, ServiceNow Integration, Datasource, channel setup should be completed.
Please follow this page to set up your app with live agent.
Note: Please pay attention to the Fallback
intent, it may provide better user experience for your customers.
1. Integration Setup
Integration should set instructed to use the ‘Live Agent API’ as Paris.
Get to your ServiceNow Data Source and make the change.
Live Agent setup
Go to your App in Aisera.
Click the ‘Add Live Agent’ button.
Choose the appropriate ‘Integration’ . This would typically be the same integration you use for integration with ServiceNow instance.
Provide a random number for namespace.
Queue Id is not needed for ServiceNow Paris integration with Agent Workspace. Older ServiceNow (Pre-Paris) integrations will need it.
Provide ‘api/sn_va_as_service/aisera_bot/integration’ as the API Path.
Click OK.
Add support for user upload file
user upload file
Check the
trusted media domains
above and haveaisera.cloud
addedIn the live agent configuration in the section 2 above, select
Attachments
toSupported
. And the add the supported file extensions and file size you want.
NOTE: In SNOW Rome, San Diego and later versions, we discovered a bug in SNOW server side and SNOW server can only accept images. If your instance is in SNOW Rome, San Diego or later versions, please set the File Extensions
only to png, jpg, jpeg
.
Note: SNOW REST api only supports files with limited MIME types, please only allow the following file extensions in the live agent configuration
Supported file extensions
png jpg jpeg pdf txt mpeg doc
SNOW supported MIME types
application/pdf application/msword image/png image/jpeg text/plain video/mpeg
Advanced features
1. Multiple queue
Snow Live Agent (Paris & later) supports multiple queues by nature. However, the routing logic is on ServiceNow side (each queue has its own support logic), rather than on AISERA. AISERA can provide some information about the user, so, Servicenow server can use these information to route to a specific queue.
Note 1: Each queue has its own order
. By default, SNOW will sort all the queues in ascending order based on the value of order
of each queue. SNOW will go through each queue based on the sorted order and check if the request meet the condition of the queue. If there are multiple queues meet the conditions, the queue with the lowest order
will be picked.
Note 2: Please always configure a default queue with largest order
a) Option: Use Snow Queue’s simple
Work item routing condition
If all the users are linked with SNOW’s user, SNOW admin can use the SNOW queue’s simple
Condition Mode and choose the filter conditions
b) Option: Use AISERA’s 3 accepted variables.
Currently, AISERA support 3 variables, liveagent_department
, liveagent_language
and liveagent_location
.
Admin can add those 3 variables to the output variables of Preprocess Live Agent
flow, and set the corresponding values in the Preprocess Live Agent
flow. AISERA will attach these 3 values to the requests to Servicenow server.
SNOW admin can use Advanced
Condition mode to decide whether the current queue is able to accept the request based on these 3 values.
We can use liveagent_language
as an example, to set a queue for french
In SNOW queue, set the following
(function executeCondition(/* glide record */ current) { var contextTable = current.getValue("context_table"); var integrationBlobRecord = new GlideRecord(contextTable); integrationBlobRecord.addQuery("sys_id", current.getValue("context_document")); integrationBlobRecord.query(); if (integrationBlobRecord.next()) { var jsonBlob = JSON.parse(integrationBlobRecord.getValue("value")); if(jsonBlob.liveagent_language == "french") return true; } return false; })(current);
In
Preprocess Live Agent
flow
Testing
Use the following procedure to test your application/bot.
ServiceNow:
Login as the agent and go to Agent Workspace. Make sure you are ‘Available’.
If you are using Service Operations Workspace
, please directly go to https://<your-snow-instance>/now/sow/list
Aisera:
Go to the appropriate Aisera web chat channel.
Type in “Contact Live Agent”.
Type in “Contact Live Agent” again.
The chatbot would now say “Routing it to Agent”.
Aisera will make a connection to ServiceNow.
In ServiceNow Agent Workspace, you would see this:
Click ‘Accept’.
Type in ‘Hello’.
You will see the ‘Hello’ in Aisera web chat. Now type something back in Aisera web chat.
You should see this in ServiceNow Agent workspace as well.
Patch for Virtual Agent API 3.5.2+:
There is an Aisera Live Agent Integration Patch with SNOW Virtual Agent API 3.5.2+. Please see your Aisera Team for a copy of this patch.
Last updated