Salesforce Embedded Light

Overview

The Embedded Light integration doesn't depend on the Queues, Triggers and Salesforce integration account created on XCALLY Shuttle.

Its behaviour depends ONLY on the configurations set on the call_center.xml file, imported on the Salesforce Call Centers section (see here).

XCALLY Shuttle provides the Salesforce Embedded Light integration, that works ONLY if the Agents are logged with the XCALLY Phonebar 3.7 onwards.

The integration automatically creates a Task for each inbound/outbound call (independently from the belonging Queues), according to the settings configured on the Salesforce Call Center section.

Furthermore, the agents will have a calls logged in Sales Force if they click a number to dial from within Sales Force.

Tasks are opened and shown to the Agent on the same TAB. The Agent can manage calls using a phone embedded on the Salesforce interface, in particular he can:

  • accept the inbound calls clicking on the Answer button; for each inbound answered call a new Task/Case will be created and always shown to the Agent.

  • perform click to call outbound calls, just clicking on the phone numbers present in the Salesforce Objects. Every created Task is related to the Salesforce Object (for example Account, Case, Lead...) from which the call has been originated and the Task is added on the Object's Open Activities section.


Connected App

In order to use the Integration you have to create, in Salesfoce, the xCally Shuttle Connected App, following the two steps below:
1. After the login, the Administrator has to go in the Setup section. In the menu, on the left, he has to click on Build -> Create -> Apps and then on the New button in the Connected Apps section.

2. Insert the following data into the New Connected App:
- Connected App Name: xCally Shuttle
- API Name: xCally_Shuttle
- Enable OAuth Settings: Enabled
- Callback URL: https://login.salesforce.com/services/oauth2/callback
- Selected OAuth Scopes:
- Access and manage your Chatter feed (chatter_api)
- Access and manage your data (api)
- Access custom permissions (custom_permissions)
- Access your basic information (id, profile, email, address, phone)

- Access and manage your data (api)
- Access custom permissions (custom_permissions)
- Access your basic information (id, profile, email, address, phone)
- Allow access to your unique identifier (openid)
- Full access (full)
- Perform requests on your behalf at any time (refresh_token, offline_access)
- Provide access to custom applications (visualforce)
- Provide access to your data via the Web (web)


 

Here you can find all the information about the Connected App creation:
https://help.salesforce.com/apex/HTViewHelpDoc?id=connected_app_create.htm


Important configurations and hints

The integration between xCally Shuttle and Salesforce uses the new Shuttle Push Technology in order to speed the Task creation and agent pop-up.
In order to have it working properly please note that:

  • the integration WORKS ONLY if the Agents are logged on the XCALLY Phone bar (minimum version required: 3.7). The Agents can manage calls through the XCALLY Phone bar or through the embedded phone on the Salesforce console. The login on the Shuttle Agent Web interface is optional.

  • the integration WORKS ONLY if you force Chrome to always load the script.

    1. Go under "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" and select chrome.exe. Click with the right mouse button on it. Select Send to Desktop in order to create a shortcut.


    2. Go to the Desktop and click with the right mouse button on the Chrome icon. Select Properties and, under the tab called Shortcut, edit theTarget field adding after the application path --allow-running-insecure-content


    Target Field Sample: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-running-insecure-content

    Please note that your Agents must launch the browser ONLY from the Chrome Desktop icon.

    3. Verify that the point 2 has been correctly applied on your Chrome browser, launching the command chrome://version/strings.js on the Chrome nav bar. If everything is ok you will see the following screenshot (in particular the text highlighted). If you can't see the "--allow-running-insecure–content" string, please do again the step 2.


  • we suggest you to use the same Agent name on XCALLY and Salesforce.

  • please check on Salesforce that the field Type of the Task is enabled, since it will be used to set the type of call.

    1. Go under Build -> Activities -> Task Fields
    2. Select Type

    3. Select View Field Accessibility

    4. Check if the Field Access is editable for the level of the user that you inserted in xCALLY Shuttle. If it is Hidden, please click on it.

    5. Set Field-Level Security as Visible

Create a new Integration - Salesforce Admin

In order to set the integration on Salesforce you have to create a new Call Center and a new XCALLY Softphone application following the steps below.

XCALLY Call Center Adapter

  • Go to Setup -> Build -> Customize -> Call Center -> Call Centers 

  • Click on the Import button

  • Download the call_center.xml file and upload it has shown below:


    Now you will see the created Call Center, called xCally Call Center Adapter


  • Click on edit and follow the image and table below in order to configure properly the integration:

    Please do not edit the General Information parameters. You can just set the Enable Audible DTMF to true/false.

    Host: here you have to specify your XCALLY Shuttle IP address.

    Inbound parameters: here you can configure the integration behaviour for the inbound calls.

    If LogCall is enabled (true) the specified Object (Case or Task) will be opened for each inbound call.

    Please note that you can set as Object only Salesforce Case or Task.

    Outbound parameters: here you can configure the integration behaviour for the outbound calls.

    If LogCall is enabled (true) the specified Object (only Task) will be opened for each outbound call.

    If Popup is true, the Task will be shown to the Agent; if false, the Task is created but not displayed.

    Please note that you can set as Object only Salesforce Task.

    Every created Task is related to the Salesforce Object (for example Account, Case, Lead...) from which the call has been originated. The Task is added on the Open Activities section of the Object.

    The outbound calls are originated simply clicking on the phone numbers present in the Salesforce Object (click to call feature).

    You can also set the Status Default and Priority Default according to Salesforce specifications.

    Regular expressions: here you can set maximum 3 regular expression to format the phone numbers. On the Phone Number parse you can insert the expression; if there is this expression on the phone number, it will be replaced with the specified Replace with.

    example: /[+]/g removes the '+' from the phone number, and replace with 00 i.e. +3312937812 -> 003312937812

    Please follow this link to verify your regular expressions (Javascript specifications): https://regex101.com/#javascript


    Please note that you can edit ONLY the Regular Expressions, Host and Inbound/Outbound parameters.

    Do not edit other parameters, in particular the CTI Adapter URL contained in the General Information section!

    The CTI Adapter URL should be https://sf.xcally.com/integrations/opencti/v1/salesforce.html



  • Under the Shuttle parameters, you can see the Call Centers Users section, where you can enable Users to use the integration clicking on the Manage Call Center Users button.
  • Under the Fields association section you can associate the Activity fields that will be populated after the call hangup. Please see here: HangupHandler



XCALLY Softphone App

  1. Go to Setup -> Build -> Create -> Apps
  2. Click on the New button and follow the steps below:
    1. Select the Console Type


    2. Define the App Label (the App Name is automatically created after you insert the App Label)


    3. Optionally, specify a logo

    4. Select which objects you want to include (i.e. Cases, Home, Accounts, Leads...)

    5. Finally select which Users can access to the new App


The Result

The Agents who uses the XCALLY Softphone console + XCALLY Phone bar can manage calls directly from the embedded phone in the Salesforce interface, using also the click to call function.

Inbound calls

A new Task or a new Case (set by the Object inbound parameter) is created by the integration (only if the LogCall inbound parameter is set true) and always shown to the Agent for each inbound call that he has answered. 

Here the parameters set on the Salesforce Call Center application:

Outbound calls - show popup

Example: the Agent wants to call the Customer of the Case #00001147. He just need to click on the Contact Phone number and the call will start through the OpenCTI integration and click to call feature.

A new Task, related to that Case (in general, to the Salesforce Object from which the call has been originated), is created by the integration (LogCall outbound parameter -> true) and shown to the Agent (Popup outbound parameter -> true).

Here the parameters set on the Salesforce Call Center application:

 

The Task is also automatically added on the Case Open Activities, as shown below:

Outbound calls - hide popup

Example: The Agent wants to call the Customer of the Case #00001147; he just need to click on the Contact Phone number and the call will start through the OpenCTI integration and click to call feature.

A new Task, related to that Case (in general, to the Salesforce Object from which the call has been originated), is created by the integration (LogCall outbound parameter -> true) but not shown to the Agent (Popup outbound parameter -> false).

Here the parameters set on the Salesforce Call Center application:

The Task is also automatically added on the Case Open Activities, as shown below:

 


 

Hangup Handler

On the Call center file you find the section Fields association where you can associate the Activity fields that will be populated after the call hangup.

In order to use this, you need to install the hangup manager script (hangup-manager.js).

 

For the standard Task Fields mapping, you have to use the Field Name value.

For the custom Activity Fields mapping, you have to use the API Name value.

See the images below.

 

 



How to debug the application

If you want to debug the application you have to open the Console developer (on Chrome, ctrl+shift+j to open it or Menu -> More tools -> Developer tools -> Console tab).

If the application is running correctly, you will see, under the Logs, something like in the image below; instead, if you see some error messages, please contact our team!