Dialogue Cloud

Additional configuration CRM Service for Dynamics 365

CRM Customer Relationship Management, or CRM, is (usually) a software-based, data management method to deal with interactions with customers and potential customers. Service for Dynamics 365 allows you to perform configure additional parameters and functions to suit your specific needs. These configurations take place in the UCC A Unified Contact Center, or UCC, is a queue of interactions (voice, email, IM, etc.) that are handled by Agents. Each UCC has its own settings, IVR menus and Agents. Agents can belong to one or several UCCs and can have multiple skills (competencies). An UCC can be visualized as a contact center “micro service”. Customers can utilize one UCC (e.g. a global helpdesk), a few UCC’s (e.g. for each department or regional office) or hundreds of UCC’s (e.g. for each bed at a hospital). They are interconnected and can all be managed from one central location..

Note: A CRM connector license specific to each data source is required.

PluginAttributes

This list contains the items which are shown to the user in the WebAgent and IDs used to identify unique entities. All items are grouped by 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 WebAgent.
SystemName Must be the Dynamics 365 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 WebAgent. 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 The Session Initiation Protocol, or SIP, is a protocol for multimedia communication (audio, video and data communication). SIP is also used for Voice over IP (VoIP). SIP has interactions with other Internet protocols such as HTTP and SMTP.-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. You can add the following optional settings:
  4. 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:

    Important: change this setting if phone numbers are stored in any of the other formats to improve performance.
    CrmService
    CaseStatus Mapping of a case (incident) status (statuscode) to a WebAgent status. Default:

    Active=Open

    Resolved=Closed

    Canceled=Closed

    In Progress=Open

    On Hold=Open

    Waiting for Details=Open

    Researching=Open

    Problem Solved=Closed

    Left side is the formatted value as configured in Dynamics, see also "MS CRM Dynamics Entity StateCodes and StatusCodes", the right side is either New, Open or Closed.

    Note: This assumes that statuscode (and not statecode) is configured in PluginAttributes as the case’s status.
    CrmService
    SupportedFileExtensions Supported file extensions for the attachment, default value is all type (*), can change only to specific file types like text files and png files (.txt;.png)
    Note: Introduced in DC2021.04
    CrmService
    MaxFileSizeInKB Allowed maximum fie size in KB, the default value is not restricted to a size. You can change it to a specic file size like 2MB, this should cause the setting to update to (2000)
    Note: Introduced in DC2021.04
    CrmService
    BaseContactQuery Base query for Contacts. Default:

    <fetch distinct='true' top='100'>

    <entity name='contact'>

    <link-entity name='account' from='accountid' to='parentcustomerid' link-type='outer' alias='account'>

    <link-entity name='contact' from='contactid' to='primarycontactid' link-type='outer' alias='account.owner'>

    </link-entity>

    </link-entity>

    </entity>

    </fetch>

    Note: top is mandatory and linked entities must have an alias.
    CrmService
    BaseLeadQuery Base query for Leads. Default:

    <fetch distinct='true' top='100'>

    <entity name='lead'>

    <link-entity name='owner' from='ownerid' to='ownerid' link-type='outer' alias='account'>

    </link-entity>

    <filter type='and'>

    <condition attribute='statecode' operator='ne' value='1' />

    </filter>

    </entity>

    </fetch>

    Note: top is mandatory and linked entities must have an alias.
    CrmService
    BaseCaseQuery Base query for BaseCase. Default:

    <fetch distinct='true' top='50'>

    <entity name='incident'>

    <order attribute='modifiedon' descending='true' />

    </entity>

    </fetch>

    CrmService
    ContactCaseFilter Base query for ContactCase. Default:

    <filter type="or">

    <condition attribute="contactid" operator="eq" value="[contactid]" />

    <condition attribute="accountid" operator="eq" value="[account.accountid]" />

    </filter>

    Note: condition attribute and value must be valid SystemName’s.
    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 incidentid 1 No Id {uri.Scheme}://{uri.Host}/m/ef.aspx?etn=incident&id=%7b[incidentid]%7d No Case
Title title 2 Yes Name, Search   No Case
Description description 3 Yes     No Case
Date modifiedon 4 Yes Date   No Case
Status statecode 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 contactid 1 No Id {uri.Scheme}://{uri.Host}/m/ef.aspx?etn=contact&id=%7b[contactid]%7d No Contact
Account ID account.accountid 2 No Id   No Contact
Name fullname 3 No Name   Yes Contact
Email emailaddress1 10 Yes Search, Email   No Contact
Phone Number telephone1 20 Yes Search, PhoneNumber   No Contact
Phone Number 2 telephone2 21 Yes Search, PhoneNumber   No Contact
Mobile Number mobilephone 22 Yes Search, PhoneNumber   No Contact
Company account.name 30 Yes Name   Yes Contact
Owner account.owner.fullname 40 Yes     Yes Contact
Company Phone Number account.telephone1 45 No PhoneNumber   No 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 leadid 1 No Id {uri.Scheme}://{uri.Host}/m/ef.aspx?etn=lead&id=%7b[leadid]%7d No Lead
Name fullname 3 No Name   Yes Lead
Email emailaddress1 10 Yes Search, Email   No Lead
Phone Number telephone1 20 Yes Search, PhoneNumber   No Lead
Phone Number 2 telephone2 21 Yes Search, PhoneNumber   No Lead
Mobile Number mobilephone 22 Yes Search, PhoneNumber   No Lead
Company companyname 30 Yes Name   Yes Lead
Owner account.name 40 Yes     Yes Lead

LeadSearch

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