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 Communication Panel in another browser window
You can have Communication Panel open in another browser window and see an embedded My Conversations view in the CRM. This view is responsive to the frame size available to Communication Panel. For more information, see Configuring responsive My Conversations view.
You can open Communication Panel in a separate window by clicking on . This is also possible without using the My Conversations view. However, if query string parameter denypopout is in use, the button is not available.