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.

  1. In ServiceNow, open the Service Management application and go to Customer Service Management.

  2. Add the plugin CTI SoftPhone.

  3. Add the Contact Center URL as an approved address.

  4. Add Phone column in the Interaction table.

    1. Choose Configure > Table.

    2. Add the column to the Interaction table.

  5. Modify the interaction form layout to include this newly created Phone column and Opened for field.

    1. Choose Configure > Form Layout
    2. Add the phone and Opened for column in the form.

  6. For chat integration, repeat steps 4 and 5.

    The field to create the chat integration in the table is email.

  7. 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);
                }
            });
        }
    
    }
    
  8. 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'
    });
    
  9. 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.

  1. On the System Configurator main screen, choose User and Role Management > User Settings Template.

  2. To create a new template, choose Add New or search for the template to which you want to add the ServiceNow integration.

  3. In the ServiceNow Integration block, choose the channels you want to enable.

  4. For ServiceNow Host Address, enter the URL of your ServiceNow system.

    It is of format https://[system].service-now.com.

  5. Save your entries.