Additional configuration CRM Service for Salesforce

Note This feature requires an additional plug-in. Please contact your Sales Contact to verify if a plug-in is purchased.

Introduction

Below the optional configuration you can do to the CRM Service for Salesforce.

 

PluginAttributes

This list contains the items which are shown to the user in the Web Agent and ID’s used to identity unique entities. All items are grouped by the Category.

Note Only modify this list if you want to deviate from the default PluginAttributes. See Predefined PluginAttributes for the defaults and how to override these defaults.

 

The PluginAttributes list contains the following columns:

Column

Meaning

DisplayName

Name of the property shown in the Web Agent.

SystemName

Must be the Salesforce attribute. If it is part of a linked entity then the alias must precede the attribute.

ShowOnExtensionWindow

Indicate that the property is visible in the Web Agent. The main reasons to set this to ‘No’ and still configure it as an item is when the property should not be shown, but is used in a Hyperlink or it’s an ID.

Order

The order in which the property is to be shown.

Important: counting must restart for each Category.

FieldType

Zero or more field types, these are covered per Category later on.

Hyperlink

Make the property clickable with the Hyperlink specified. It is possible to include the value of a property in the Hyperlink. This is done by putting the value of a SystemName property in square brackets in the Hyperlink. For example if there is a property with the SystemName ‘Example’, then the URL becomes: http://www.example.com/?queryString=[Example]

OpenAutomatically

Ignored by the CrmService.

Category

The Category for this item.

ShowOnToast

Can be used to force the inclusion of the attribute in the query.

It is possible to combine the values of several properties, for instance when a name is split up in multiple properties, e.g. a FirstName and LastName column. In this case both properties should have the same DisplayName and they should appear after each other in Order, e.g. 1 and 2.

Note ContactSearch will fall back to Contact if no items are supplied for the ContactSearch category. The same rule applies to Lead, LeadSearch, Case and CaseSearch. Only Contact is mandatory to have items.

 

Contact

The items in this category are the properties shown of a single contact. It supports the following field types:

Field type

Description

Id

This field type in combination with a value in the Hyperlink column, will be shown as CRM link.

Name

The name of the contact which will be shown as the contact’s title.

PhoneNumber

Column may contain a phone number.

SipAddress

Column may contain a SIP-address.

Email

Column may contain an e-mail address.

Date

Column contains a date (and time).

Search

Column is searchable. This type should be set for each column containing a PhoneNumber, Email or SipAddress to search for a contact match. This type will also mark a field as a search option if no ContactSearch items are configured.

 

ContactSearch

This category is used to display a summary of the contact and used for searching contacts. All properties which should be searchable, must have the Search field type. The column containing the values to verify the identity of the caller, e.g. a zip code, must have the field type Verify.

 

Lead and LeadSearch

See Contact with regards to Lead and ContactSearch for LeadSearch.

 

Account

This category is used to keep consistency in the other categories. It is used to define the relation between the contact and its account. A lead can only have a company name which may later be part of the contact when the lead is promoted.

Note Do not include the account alias in the SystemName column.

Note Set order to 0 if it is an account attribute which is not linked to the account entity, e.g. companyname in the lead entity.

The field types of importance here are Name, PhoneNumber, SipAddress and Email. All items with the field type Name are combined to form the title. The property with any of the others is used as a subtitle.

 

Case

Note Only contacts can have cases.

The DisplayNames in this category are fixed. The following items are supported:

DisplayName

Description

Title

Multiple items can have this DisplayName. Must have the Name field type.

Description

Only a single item is allowed to have this DisplayName.

Date

Must have the Date field type to be used.

Status

The case status including the case status colors. The values must match the CaseStatus setting. Add field type FormattedValue to obtain the display name of this property.

It is also possible to add a ID field type to an ID item or any of the other items. The ID field type in combination with a URL in the Hyperlink column will be shown as a CRM link for each case.

 

CaseSearch

These must have the same items as the Case category. The difference here is that items may have the Search field type.

 

PluginSettings

  1. Open the UCC Config page on SharePoint

  2. Open the Plugin Settings list

  3. The following optional settings can be added:

    Note : All plugin settings for the CrmService must have the Scope set to CrmService.

     

    Setting

    Value

    Scope

    ShowStatus

    Show what kind of contact is calling. Can be a Contact, Lead or Unknown. Default True.

    CrmService

    DefaultPhoneNumberRegion

    Iso 3166 alpha-2 code. Default ZZ.

    CrmService

    PhoneNumberFormat

    The format used when searching the CRM when a call comes in. There are four values:

    1. E164: e.g. +0012345678. See “The International Public Telecommunication Number Plan”.

    2. International: e.g. +1 206-555-1234. Based on the E.123 International format.

    3. Rfc3966: e.g. tel:+1-206-555-1234. See “The tel URI for Telephone Numbers”.

    4. Wildcard: do a wildcard search. Default.

    Important: change this setting if phone numbers are stored in any of the other formats to improve performance.

    CrmService

    BaseContactQuery

    Contact query format has place holders to fields and filter conditions.

    q=SELECT {0} from Contact WHERE {1} LIMIT 100

    LIMIT is mandatory

    CrmService

    BaseLeadQuery

    Lead query format has place holders to fields and filter conditions.

    q=SELECT {0} from Lead WHERE {1} LIMIT 100

    LIMIT is mandatory

    Contacts have precedence over leads. A total of 'LIMIT' is returned. If there are less contacts, then leads are included until 'LIMIT' has been reached. Only contacts can have cases and the following two settings must be present:

    CrmService

    BaseCaseQuery

    Case query format has place holders to fields and filter conditions.

    q=SELECT {0} FROM Case WHERE {1} LIMIT 100

    LIMIT is mandatory.

    CrmService

    ContactCaseFilter

    Case and Contact has a relationship. Attribute and value must be a valid SystemName.

    ContactId = '{0}'

    CrmService

    ContactConversationFilter

    Value for the convention. Value must be a valid SystemName.

    CrmService

    CaseStatus

    New=Open

    Working=Open

    Escalated=Open

    Closed=Closed

    Case status right side values are coming from the Salesforce environment. It should map with UCC values.

    CrmService

    ApiEndPoint

    Salesforce REST API endpoint for ex: 'services/data/v37.0/'

    CrmService

    LoginEndPoint

    'https://login.salesforce.com/services/oauth2/token'

    CrmService

    TokenRenewDelay

    Token renew interval. this should be a number. Default is 2

    CrmService

 

The following mandatory Settings should be added to the default PluginSettings list items to enable the CRM Service for Salesforce:

Setting

Value

Scope

ApplicationHost

Salesforce application URL

This is a mandatory setting that must have a value

CrmService

Username

Login credential - user name

CrmService

Password

Login credential - password

Value should be encrypted by A365.PWTool.exe

CrmService

AppToken

Connected App provided token.

Value should be encrypted by A365.PWTool.exe

CrmService

ClientId

Connected App provided client ID.

Value should be encrypted by A365.PWTool.exe

CrmService

ClientSecret

Connected App provided Client secret.

Value should be encrypted by A365.PWTool.exe

CrmService

 

Predefined PluginAttributes

Note These predefined attributes may be overwritten/removed by creating a PluginAttribute item in SharePoint with the same SystemName and Category. Do not give it any field types and set both ShowOnExtensionWindow and ShowOnToast to No to remove this attribute from the query. Also make sure that the system name is not included in any hyperlink!

Note The base query in the PluginSettings list must also be modified when adding attributes of another entity.

Account

DisplayName

SystemName

Order

ShowOnExtensionWindow

FieldTypes

HyperLink

ShowOnToast

Category

Company

companyname

0

No

Name

 

Yes

Account

Account ID

accountid

1

No

Id

 

No

Account

Company

name

2

Yes

Name, Search

 

No

Account

Phone Number

telephone1

3

Yes

PhoneNumber, Search

 

No

Account

Owner

owner.fullname

4

Yes

 

 

No

Account

 

Case

Note {uri.Scheme} and {uri.Host} are only valid for the predefined values by leveraging the ConnectionString. The full URL (with placeholders) is needed when overwriting.

DisplayName

SystemName

Order

ShowOnExtensionWindow

FieldTypes

HyperLink

ShowOnToast

Category

Case ID

id

1

No

Id

{uri.Scheme}://{uri.Host}/lightning/r/Case/[id]/view

No

Case

Title

subject

2

Yes

Name, Search

 

No

Case

Description

description

3

Yes

 

 

No

Case

Date

lastmodifieddate

4

Yes

Date

 

No

Case

Status

status

5

Yes

FormattedValue

 

No

Case

 

Contact

Note {uri.Scheme} and {uri.Host} are only valid for the predefined values by leveraging the ConnectionString. The full URL (with placeholders) is needed when overwriting.

DisplayName

SystemName

Order

ShowOnExtensionWindow

FieldTypes

HyperLink

ShowOnToast

Category

Contact ID

id

1

No

Id

{uri.Scheme}://{uri.Host}/lightning/r/Contact/[id]/view

No

Contact

Account ID

accountid

2

No

Id

 

No

Contact

Name

name

3

No

Name

 

Yes

Contact

Company

account.name

4

Yes

Name

 

Yes

Contact

Email

email

10

Yes

Search, Email

 

No

Contact

Phone Number

phone

20

Yes

Search, PhoneNumber

 

No

Contact

Phone Number 2

homephone

21

Yes

Search, PhoneNumber

 

No

Contact

Mobile Number

mobilephone

22

Yes

Search, PhoneNumber

 

No

Contact

Image

photourl

23

Yes

 

 

Yes

Contact

 

Lead

Note {uri.Scheme} and {uri.Host} are only valid for the predefined values by leveraging the ConnectionString. The full URL (with placeholders) is needed when overwriting.

DisplayName

SystemName

Order

ShowOnExtensionWindow

FieldTypes

HyperLink

ShowOnToast

Category

Lead ID

id

1

No

Id

{uri.Scheme}://{uri.Host}/lightning/r/Lead/[id]/view

No

Lead

Name

name

3

No

Name

 

Yes

Lead

Email

email

10

Yes

Search, Email

 

No

Lead

Phone Number

phone

20

Yes

Search, PhoneNumber

 

No

Lead

Company

company

30

Yes

Name

 

Yes

Lead

 

LeadSearch

A copy of Lead, however Name has also received the Search field type.