Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

ON THIS PAGE

Table of Contents

What it's about

Salesforce Integration

Requirements

On this page

Table of Contents
minLevel1
maxLevel2
outlinefalse
stylenone
typelist
printablefalse

📋 What’s about

Salesforce Integration is used to automatically open a task for every call according to the conditions (Queue, Call status or Outbound) set in the trigger: the Salesforce Task or Case that will be created automatically will be populated with information about the call (managed on XCALLY) and displayed to the agent in the Salesforce environment.

When an Agent manages a call, his/her account email address will be searched in Salesforce: if the system finds the Salesforce Task will be assigned, otherwise the task will be assigned to the Salesforce Administrator Account specified in Motion-Salesforce integration. If all the configuration is properly set, the Salesforce Task will be opened as shown below:

Image Added

(blue star) Requirements

Panel
bgColor#EAE6FF
  • Salesforce Account with Administrator privileges. Salesforce edition with API access → https://help.salesforce.com/s/articleView?id=000385436&type=1

  • Agent's Email in Salesforce profile must be exactly the same as Agent's Email in Motion

  • Agents must access to all properties inside the Task object

  • If Agents use Phonebar, Agents must be logged in XCALLY Motion Phonebar, XCALLY OmniDesktop

Interface and Salesforce Web
  • Interface.

In this case the Agent must enable the browser pop-ups, when he/she receives the first call.
  • If Agents use WebRTC, Agents must be logged in XCALLY OmniDesktop Interface and verify that you have a valid

valid
  • HTTPS certificate and that the

WrbRTC
  • WebRTC is registered.

  • The Agent must enable the browser pop-ups, when he/she receives calls (enable it at the first call).

⚙️ Salesforce Configuration

Create a New Connected App

  • Login to Salesforce with an Administrator account.
    When you register your Salesforce account, you will receive an email to verify it and you can see also your Salesforce URL (which you will insert also in XCALLY configuration, in URL field)

    image-20240122-102245.pngImage Added
  • Switch to Lightning Experience.

  • From the Homepage, access the Setup section

Image RemovedImage Added

  • From Apps → App Manager, create a New Connected App

Image RemovedImage Added
  • Enter the following data into the New Connected App:

  • Connected App Name: choose a name (i.e. NW_xcally)

  • API Name: choose a name (i.e. NW_xcally)

  • Contact Email: your company mail address

  • Enable OAuth Settings: Enabled

  • Insert the Callback URL:  https://login.salesforce.com/services/oauth2/callback

  • Select and add the following 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)

    • 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)

  • Click on SAVE

Info

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

Retrieve the Client ID and Secret

  • Login to Salesforce with an Administrator account

  • From Apps → App Manager → enter the app

Image RemovedImage Added
  • In the API section, click on Manage Consumer Details

Image RemovedImage Added
  • Verify your identity (email with verification code could be sent in the spam folder)

Image RemovedImage Added
  • Copy the Consumer Key (Client ID) and Secret (Client Secret)

Image RemovedImage Added

Retrieve the Token

  • When you set the Salesforce user password, you will receive an email with the Security Token. Save it!

If you don’t remember the token or want to reset it:

  • Login to Salesforce with an Administrator account

  • From the Homepage, access the Settings section

Image RemovedImage Added
  • From My Personal Information → Reset My Security Token, click on Reset Security Token

Image Removed
Image Added

  • You will receive an email with the actual security token. Save it!

Image Added

Please note that any time you change the Salesforce user password, the Token becomes invalid and must be reset: remember to insert the new one on the XCALLY Salesforce Account to make integration work!

OAuth and OpenID Connect Settings

Finally you need to allow OAuth Username-Password Flows to avoid authentication failure

From Identity OAuth and OpenID Connect Settings → switch on Allow OAuth Username-Password Flows

Image Added

(blue star) XCALLY Configuration

Create a Salesforce Account


To create a new Salesforce Account go in the Integrations Section section → Salesforce Accounts and click on Image Removed(blue star)

Image Added

Image Removed
Image Added

Enter the following details and click on Add Salesforce Account:

  • Name: enter a name for the integration

  • Type: chose

between Integration Tab or New Tab AnchorintegrationTabintegrationTabIntegration Tab (OpenCTI Integration): the task will be displayed in a new tab inside Salesforce interface. Remember to properly configure Salesforce to make the integration work. AnchornewTabnewTab
  • New Tab: The task will be displayed in a new browser tab. Remember: this works only if the agent is logged in Motion interface.

  • Username: this value must be the same as the Salesforce Administrator Account

name
  • Username

  • Password: same as

a Salesforce Administrator
  • Salesforce Administrator Account Password

URI
  • URL: your

Salesforce URL e
  • Salesforce URL i.

glogin/
  • Client ID:

 you can find it in the Salesforce App Settings 
 you can find it in the Salesforce App Settings 
you can find it in the Salesforce Personal Settings 
  • Salesforce Security Token

  • Motion or Proxy IP Address: written as <protocol>://<ipaddress>[:<port>] form. It is required to use the Recording URL in the Task Configuration.  Example: https://X.Y.Z.W  

  • Description (optional)     

Click on Add Salesforce Account

After the Account is created, you can view it in the list of accounts, edit the account parameters and remove the account. 

You can verify if the account credentials are correct by clicking on Test Salesforce Account.

Image Removed

3-Create a Salesforce ConfigurationImage Added

Edit the Salesforce Account

Find the account from the accounts list and Click on Edit Salesforce Account:

Image RemovedImage Added

You will see two tabs: Account and Configurations:

Image RemovedImage Added

In the Account tab, you can modify the account parameters and in the Configurations tab, you can create, update or delete Salesforce configurations. 

A Salesforce configuration is used to design the content of the Salesforce task (Subject, Description and Fields) that is created and displayed for the agent Agent managing calls.

You can create multiple configurations for a single Salesforce Account and use them in different triggers. In this way, for example, you will be able to use different task layout for outbound and inbound calls.

Note

Configuration changes are automatically applied, without any service restart.

To create a new configuration, Edit the Salesforce account, go under the configurations tab and click on 

Image Removed
Configuration changes are automatically applied, without any service restart
Image RemovedImage Added


Choose a Name , Channel (e.g. and channel (Voice).

Choose a Type:

  • Inbound in Queue 

  • Outbound Call 

Choose a Ticket Type:

  • Task

  • Case

        

Then, click on Add Salesforce Configuration.

This value is used during the startup of the configuration and is used by the system to generate the template: the configuration will be created with default Subject and Description settings that you can simply use without any modification.

You can also edit the configuration and customize the SubjectDescription and Fields of the Salesforce Task according to your needs.

note

Info

The default Subject and Description settings depends on the type of configuration.

For example, the default subject configuration for Queue Type is [xCALLY Ticket] Queue calleridnum while for Outbound Type it's [xCALLY Ticket] Outbound Call destcalleridnum

.
Note

.

info

Remember you can use Motion Standard Variables or Custom Variables in the configuration.

Subjects

Image RemovedImage Added

By default, you will find the following three fields already configured

  • the String [XCALLY Ticket]

  • the Queue Variable

  • the Caller The caller number Variable

You can add more than one field in the Subject and all fields will be joined by the blank space.

Use button to add a new fieldsfield. New fields are added at the end of the field list.

You can insert 3 different type of fields:

  1. String: static string e.g. a label as [xCALLY Ticket]

  2. Variable: Motion System Variable, e.g. queue or calleridnum (see V3 Motion Variable List)

  3. Custom Variable: any dynamic variable created under Tools > V3 Variables



Descriptions

Image RemovedImage Added



You can add more than one field in the Description. All fields will be joined by new line.

Use button to add a new Description (it will be added at the bottom of the list).

You can insert two different type of fields:

  1. String: static string e.g. *** Call Info ***

  2. Key Value: name-value item in the form name: value

where the first field is a static string (e.g. Caller Number) and the second field could be filled with the following:

  • String: static string

  • Variable: System Variable like Caller Number (see V3 Motion Variable List)

  • Custom Variable: dynamic variable created under  Tools > Variables

The colon character in the Key Value type is automatically added by the system


Fields

Image RemovedImage Added

In the drop-down list you can find the complete list of fields available in your Salesforce account: Standard and Custom fields.

Use button to add a new field, choose the Standard or Custom field by scrolling the list of the values.

and define Define the Type:

  • String: static string (you must insert it)

  • Variable: a System Variable (choose it from the list: e.g. Queue, uniqueid, calleridnum, etc.)

  • Custom Variable: one of the dynamic variables (created under Tools > Variables)

  • Picklist: choose among the list of the integrated Application Fields. You can only select one of the predefined values available for that field (if any).

Repeat the steps above to add more fields.

Info

The only custom fields that can be configured are those of the following type: string, int, picklist, boolean, email, textarea and phone (other field types are not proposed in the configuration)

Advanced

Image RemovedImage Added

In this section you can set:

  • how to Search the Module as: Account, Lead, Contact, Contact&Lead, Contact&Lead&Account

  • how and if (nothing=no creation) to Create the Module as: Contact, Lead or Account

  • Lead Id, where to insert the Lead name (this field will be shown only if the Module Search field is or contains Lead)

Info

Insert here the Lead Field Name you find on Salesforce:

Image Removed

  • an The additional field where to search the customer phone number in the:

    • Account, if the Module Search value chosen is (or contains) Account

    • Contact, if the Module Search value chosen is (or contains) Contact 

    • Lead, if the Module Search value chosen is (or contains) Lead

Info

This is a field, in addition to Phone, to search for customers in Lead, Contact and Account: you can insert here the mobile or fax number field name you have on Salesforce

Image Removed

Image Removed

Integration using

You can find the Lead Field Name on Salesforce under Object Manager Menu → Lead → Fields & Relationship:

Image Added

🔌 Configure the Trigger

It is mandatory to create a Trigger to make the Salesforce integration work.

Go to Tools -> Triggers Section and click on New Trigger(blue star) .

Image RemovedImage Added

Enter the trigger Name, select Voice Channel and click on Add Trigger. 

Edit the trigger to define the trigger's Conditions and Actions.

Note

Do not forget to set the trigger's status ON.

Add Trigger Conditions

You can use properties like Queue, Call status or outbound to define the conditions you want to trigger the Salesforce integration.

E.g.: in the following example the conditions set mean that the Example: the integration will be active for Calls in Sales Queue and when the call is answered. 

Image RemovedImage Added

For more information on trigger conditions, take a look at Voice Trigger Conditions.

Add Trigger Action

To execute the Salesforce integration when the conditions are met, click on Add Action and select Integrations and Salesforce.

You can then select one of the the the Salesforce account you have created and the configuration you want to use.

Image Removed

Image Added

(blue star) Salesforce Integration Interaction

Image Added