Install ServiceNow plugin

Introduction

The Service Now plugin retrieves data from a Service Now web web service by using the phone number or sipThe Session Initiation Protocol (SIP) is a protocol to make multimedia communication (audio, video and other data communication) possible and it is also used for Voice over IP (VoIP). SIP has similarities with other Internet protocols such as HTTP and SMTP. uri of the caller in a query. If no contact person is identified, a manual search is also possible.

 

Configuration of the Service Now Plugin

Prerequisites Service Now integration

  • This integration requires a valid user account for the Service Now environment of the customer.

  • The user account should have enough rights to retrieve information from Service Now using the soap services of Service Now. This applies to (tables) sys_user and incident.

  • Soap role soap_query should be enabled. See link: https://docs.servicenow.com/bundle/london-application-development/page/integrate/inbound-soap/reference/r_SOAPRoles.html

Configuring the UCC config file

The plugin has to be configured in the UCCUCC stands for Unified Contact Center and consists of a queue that can be handled by Agents Each Contact Center has its own settings, interactive voice response questions and Agent with specific skills. Agents can be member of, or sign up to, one or more Contact Centers. config.xml file. Example :

<config version="1.5">

<License>ad_real_license.key</License>

<AgentProviderPort>******</AgentProviderPort>

<PluginsPath>C:\Data</PluginsPath>

<UnifiedContactCenters GlobalMsmq="MY_MSMQ">

<UnifiedContactCenter Name="<MyUCC>" Msmq="MSMQ NAME">

<SettingsProvider>sharepoint</SettingsProvider>

<SettingsUrl>http://<customerdomain>/sites/ucc/ucc_customer</SettingsUrl>

<CrmCRM stands for Customer Relationship Management and is a method/technology for managing contacts of customers. CRM helps to offer each customer an individual value proposition based on its wishes. In addition, CRM makes it visible which customers represent higher value for the organization and therefore might be served in a different way. path="crm\PluginServiceNow\" name="PluginServiceNow">Wsp.Anywhere365.Ucc.Crm.ServiceNow.dll</Crm>

</UnifiedContactCenter>

</UnifiedContactCenters>

</config>

The unzipped Service Now plugin package contains a folder called PluginServiceNow. The Pluginspath combined with the CRM path should be the path to this folder.

 

Configuration of the UCC SharePoint Settings

In the UCC SharePoint Settingslist, the settings UseCRM and UseStatistics should both be set to true.

The configuration of the plugin is stored in the PluginAttributes and the PluginSettings lists. These lists can be created by using PowerShell scripts in the plugin pacakge. The settings can be imported from 2 csv files. Unzip the Service Now package and go to the install folder. Run the powershell script A365_CreateLists.ps1 to create the lists and import the settings from the files. File properties.ps1 can be used to enter the SharePoint account credentials and url of the UCC SharePoint site:

  • $inputSiteUrl : The url to the UCC SharePoint site

  • $inputUsername :Username of the SharePoint account that is used to create the site.

  • $inputPassword: Password of the SharePoint account that is used to create the site.

 

PluginAttributes List

Title

SystemName

ShowOnExtensionWindow

ShowOnToast

Order

FieldType

Hyperlink

Category

Name

name

TRUE

TRUE

1

Name

https://servicenowdomain/nav_to.do?uri=sys_user.do?sys_id=[sys_id]

Contact

Email

email

TRUE

FALSE

2

 

 

Contact

ID

sys_id

FALSE

FALSE

3

Id

 

Contact

Service Number

x_wbv_anywhere365_service_number

TRUE

FALSE

4

 

 

Contact

Gender

gender

TRUE

FALSE

5

 

 

Contact

Title

short_description

TRUE

FALSE

6

 

https://servicenowdomain/nav_to.do?uri=incident.do?sys_id=[sys_id]

Case

Date

opened_at

TRUE

FALSE

7

 

 

Case

Description

short_description

TRUE

FALSE

8

 

 

Case

Status

state

TRUE

FALSE

9

 

 

Case

ID

sys_id

FALSE

FALSE

10

 

 

Case

Incident Number

IncidentNumber

FALSE

FALSE

11

 

 

CaseSearch

Subject

Subject

FALSE

FALSE

12

 

 

CaseSearch

First Name

FirstName

FALSE

FALSE

13

 

 

ContactSearch

LastName

LastName

FALSE

FALSE

14

 

 

ContactSearch

A brief summary of the plugin attributes list:

  • Category Contact and Cases contain the fieldmapping of the crm fields that will be shown in the Extension Window or plugin. The system name is the internal name of the fields retrieved from the web response (see appendix A) for contacts or cases. The hyperlinks are the hyperlinks to the records in Service Now. Please change “servicenowdomain” to the service now domain of the customer. Field ShowOnToast is not supported yet. This is currently dependent on the Contact Name FieldType.

  • Category CaseSearch and ContactSearch are used to configure the search options in the Extension Window. The system name field value should match the Settings field values in list PluginSettings.

 

PluginSettings List

Scope

Setting

Value

Prompt

ContactResponseNameSpace

SOAP-ENV

http://schemas.xmlsoap.org/soap/envelope/

 

ContactResponseRecordsPath

ContactRootPath

//SOAP-ENV:Body/getRecordsResponse/getRecordsResult

 

CaseResponseNameSpace

SOAP-ENV

http://schemas.xmlsoap.org/soap/envelope/

 

CaseResponseRecordsPath

CaseRootPath

//SOAP-ENV:Body/getRecordsResponse/getRecordsResult

 

CaseSearch

IncidentNumber

numberLIKE[searchValue]

 

CaseSearch

QueryCaseByContactId

caller_id=[searchValue]

 

CaseSearch

Subject

short_descriptionLIKE[searchValue]

 

ContactSearch

FirstName

first_nameLIKE[searchValue]

 

ContactSearch

LastName

last_nameLIKE[searchValue]

 

ContactSearch

QueryByEmail

email=[searchValue]

 

ContactSearch

EmployeeNumber

employee_number=[searchValue]

 

ContactSearch

QueryByPhoneNumber

mobile_phoneLIKE[searchValue]^ORphoneLIKE[searchValue]^ORhome_phoneLIKE[searchValue]

 

AccountSettings

Url

https://servicenowdomain

 

AccountSettings

UserName

ServiceNowAccountUserName

 

AccountSettings

Password

ServiceNowAccountPassword

 

Formats

CaseDateTimeFormat

dd-MM-yyyy

 

The PluginSettings can be divided in several parts:

  • The NameSpaces (ContactResponseNameSpace and CaseResponseNameSpace ) are namespaces in the soap response message. The NameSpaces are necessary to convert the received soap response in to data. Theoretically these name spaces could change, that’s why they are configurable. It is also possible to add more name spaces if necessary.

  • The data retrieved from Service Now is structured in a certain way. This is the same for each response. Settings ContactResponseRecordsPath and CaseResponseRecordsPath are used to define the structure of the data in the plugin. The plugin knows how to read the data because of these 2 settings.

  • The search settings. The name of the search settings should match with the system name field of the related plugin attribute record for manual search settings. The value contains search queries. These queries are based on encoded queries in Service Now. The search value field between brackets will be replaced with the search value entered by the agent in the Extension Window search bar or with the incoming sip uri/ phone number. Please note that search settings starting with the text QueryBy are mandatory. The name of these settings can not be altered (the search query can be altered), because they are used for an automatic search. The other search settings can be changed both by name as by query, depending on the demands of the customer.

  • The account settings contain the url and user account settings necessary to retrieve information from Service Now. These settings should be provided by the customer. It is required to encrypt the password with the password tool. See install folder. Run A365.PWTool.exe. Enter the original password in the command line of the tool. Copy the password and place the password in the Password field in the Plugin Settings list.

  • The CaseDateTimeFormat contains the format of the case date field. This format will only work if it is supported by the language setting/culture setting used in the UCC.