Configuring ServiceNow
Communication Panel can be integrated with ServiceNow user interface.
ServiceNow Configuration
This is an example configuration. When you create the integration, you should always also check the official ServiceNow documentation.
-
In ServiceNow, open the Service Management application and go to Customer Service Management.
-
Add the plugin CTI SoftPhone.
-
Add the Contact Center URL as an approved address.
-
Add Phone column in the Interaction table.
-
Choose
. -
Add the column to the Interaction table.
-
-
Modify the interaction form layout to include this newly created Phone column and Opened for field.
- Choose
-
Add the phone and Opened for column in the form.
-
For chat integration, repeat steps 4 and 5.
The field to create the chat integration in the table is email.
-
In Client Script create the below given client script and enable it with Type: OnLoad:
samplecode:function onLoad() { //Type appropriate comment here, and begin script below if (g_form.isNewRecord() && (g_form.getValue("u_phone") != "" || g_form.getValue("u_email") != "")) { // jslog("The phone number is " + g_form.getValue("u_phone")); // jslog("The email is " + g_form.getValue("u_email")); var ga = new GlideAjax('global.GetUserWithEmailOrPhone'); ga.addParam('sysparm_name', 'reqForValue'); if (g_form.getValue("u_phone") != "") { g_form.setValue("type", "phone"); // Decode the + coming from CP, and set the form value with correct format // var phone = g_form.getValue("u_phone").replace("%2B", "+"); var phone = decodeURIComponent(g_form.getValue("u_phone")); // set the form value of phone g_form.setValue("u_phone", phone); ga.addParam('sysparm_ph_number',phone); ga.addParam('sysparm_email', ""); } else if (g_form.getValue("u_email") != "") { g_form.setValue("type", "chat"); var email = decodeURIComponent(g_form.getValue("u_email")); // set the form value of phone g_form.setValue("u_email", email); ga.addParam('sysparm_ph_number', ""); ga.addParam('sysparm_email', email); } ga.getXML(function(serverResponse) { var user_sys_id = serverResponse.responseXML.documentElement.getAttribute("answer"); if (user_sys_id != '') { g_form.setValue('opened_for', user_sys_id); } }); } }
-
In Script Include enter the following:
samplecode:var GetUserWithEmailOrPhone = Class.create(); GetUserWithEmailOrPhone.prototype = Object.extendsObject(AbstractAjaxProcessor, { reqForValue: function() { var phnum = this.getParameter('sysparm_ph_number'); var emailAddress = this.getParameter('sysparm_email'); gs.log("The phone number is " + phnum); gs.log("The email is " + emailAddress); var str = 'mobile_phoneLIKE' + phnum + '^ORphoneLIKE' + phnum; if (emailAddress != ""){ str = 'emailLIKE' + emailAddress; } var gr = new GlideRecord('sys_user'); gr.addEncodedQuery(str); gr.query(); while (gr.next()) { var answer = gr.sys_id; return answer; } }, type: 'GetUserWithEmailOrPhone' });
-
To get the phone icon next to the caller, add the Reference contributions attribute as show_phone_customer_service to the caller field in the incident form or user form.
SC Configuration
With this procedure you enable integration for the users that are linked to this specific user settings template.
-
On the System Configurator main screen, choose
. -
To create a new template, choose Add New or search for the template to which you want to add the ServiceNow integration.
-
In the ServiceNow Integration block, choose the channels you want to enable.
-
For ServiceNow Host Address, enter the URL of your ServiceNow system.
It is of format https://[system].service-now.com.
-
Save your entries.
Using the Responsive My Conversations View
You can open Communication Panel in another browser window and see the My Conversations view that is responsive to the available frame size in the CRM. For more information, see Configuring Responsive My Conversations View.