Install Email Dialogue Provider

Note Enterprise license and higher

Preparation

Install the prerequisites

 

Server Requirements

The following features are installed on the UCC Server:

  • HTTP Activation Feature installed. (.Net Framework 4.5 > WCF Services > HTTP Activation)

 

(Optional) Outlook Rule Manager

You can use the rule manager of Outlook to put the emails in the correct mail folders. For example based on the subject, sender or body put the message in the correct mail folder, this mail folder is connect to a specific Skill in the Email Dialogue Provider.


Installing the Email Dialogue Provider services (UCC server)

Warning Before you begin. Make sure that the name for the inbox sub folder, the Skill and the SharePoint Library are all equal per flow. For example you might want to use FrontOffice. Then the values must be as follows.

• Inbox sub folder name = FrontOffice

• Skill name = FrontOffice

• SharePoint list = FrontOffice

This will install the EmailDialogue services.

  1. Unpack the EmailDialogue zip file

  2. Browse to the extract folder and edit properties.ps1

    1. Set the domain name of the service account e.g. $domain = “WSP”

    2. Set the account name of the service account e.g. $serviceAccountName = “account name”

    3. Set the account password of the service account e.g. $serviceAccountPassword = "secret"

      Note Use the Password Tool in the install directory to encrypt the password.

    4. (optional) Set 1 or more endpoints e.g. $endpoints = sipThe Session Initiation Protocol (SIP) is a protocol to make multimedia communication (audio, video and other data communication) possible and it is also used for Voice over IP (VoIP). SIP has similarities with other Internet protocols such as HTTP and SMTP.:ucc_edp_endpoint1@domain.com;sip:ucc_edp_endpoint2@domain.com

      Note Endpoints are used to send to offer the Emails to the Agents.

      Existing Chat Endpoint can be used.

  3. Save the properties file

  4. Open PowerShell as administrator

  5. Browse to the extract folder and run InstallEmailDialogue.ps1

  6. If there are endpoints set the installer will display all Trusted Application’s in the Trusted Application Pool. Select the Application by pressing enter the number and confirm e.g. 1

  7. Installation completed

 

Email Dialogue Provider SharePoint Template

 

Email Dialogue Provider Extension Window

Note If you already have the Extension Window for a back office integration, you can use the same one.

Install Extension window

Learn More

 

Configure Extension Window

  1. Sign in on the Anywhere365 Server

  2. Navigate to C:\inetpub\wwwroot\CRMCasesExtension

  3. Open Web.config

  4. Add:

    <add key="EmailDownloadServiceURI" value="http://[domain.com]/EmailDownloadService/EmailDownloadService.svc" />

    <add key="ShowEmailOnAccepted" value="false" />

    <add key="PartOfHyperLink" value="" />

 

Add Email tab to Extension Window

  1. Sign in on the Anywhere365 Server

  2. Navigate to C:\inetpub\wwwroot\CRMCasesExtension\Clientbin

  3. Copy the "EmailTab.dll" from the install directory to this folder

  4. Navigate to C:\inetpub\wwwroot\CRMCasesExtension\

  5. Open Web.config

  6. Add ";EmailTab.dll" to the Tabs key

 

Install Certificate on client

To fully use all functionality a certificate must be installed on the user(s) client. The certificate can be found in the install package.

  1. Copy the certificate to the client

  2. Open the certificate

  3. Select Install Certificate

  4. Select Current User and click Next

  5. Select Place all certificates in the following store

  6. Browse to Trusted Publishers

  7. Click Next


Exchange mailbox

Add sub folder(s) to the inbox folder of the configured email account e.g. FrontOffice (Use the same name as used for the Chat Skill and SharePoint list name)


Configure UCC

  1. Browse to the UCC settings site

  2. Go to “Settings” list and configure the following:

    1. UseCRM = true

    2. EmailRouterEnabled = true

    3. EmailRouterId = name of your choosing for the email router e.g. EmailProvider

    4. EmailRouterCewId = ID of the extension window. This ID is configured in the reg file that was installed earlier on the client. ID is including the curly brackets. e.g. {683B0E00-AFE5-4277-BB53-E747883AC1BC}

    5. EmailRouterInputEndpoint = MSMQ queue for incoming email router messages e.g. msmq://uccsend_queue@localhost

    6. EmailRouterResponseEndpoint = MSMQ queue for outgoing email router messages e.g. msmq://uccreceive_queue@localhost

    7. MaxChatAcceptTimeout = The number of seconds the Agent is offered an email to accept. After this the next Agent will be contacted. Recommended minimal time 30.

  3. Go to “Skills’ list and add a Chat Skill e.g. FrontOffice

  4. Go to “EndPoints” list and add an endpoint:

    1. Title = SIP address of the endpoint e.g. sip:frontoffice@domain.com

    2. Modality = chat

    3. Skill = skill to use for endpoint e.g. FrontOffice

      Endpoint names can be set per UCC and must match the value in the configuration file.

  5. Configure Agents that will use the added Chat Skill

Note UCC must be restarted after adding a new endpoint.


Configuring the services

  1. Browse to the installation folder C:\ProgramFiles\UCC\EmailDialogue\ and edit mailboxes.config

    1. Mailbox Name = Name of the mailbox, used by the appSettings.config

    2. ExchangeUrl = Url of the exchange server e.g. https://outlook.office365.com/EWS/Exchange.asmx

    3. ExchangeVersion = Version of the exchange server. Supported values are: 2013, 2016, 2019 or Online

    4. EmailAddress =Email address to retrieve emails from e.g. user@domain.com

    5. EmailUser = The user for the inbox. Is in UPNIn Windows Active Directory, a User Principal Name (UPN) is the name of a system user in an email address format. A UPN (for example: john.doe@domain.com) consists of the user name (logon name), separator (the @ symbol), and domain name (UPN suffix). format for cloud based and domain\user format for on-premise exchange

    6. EmailPassword = Password of the email account. You must encrypt the password using the Wsp.Anywhere365.EmailDialogue.PWTool located in the install package.

      Note Make password encrypted, with "Wsp.Anywhere365.EmailDialogue.PWTool". Plain text will not be accepted.

    7. EmailQuantityToRetrieve = Amount of emails to retrieve at once e.g. 5

    8. Folder= SharePoint library’s where the emails will be stored e.g. FrontOffice, Backoffice.
      These are equal to the sub folder(s) from the mailbox and the names of the Skills in the UCC settings site, as well as the names of the libraries on the SharePoint email page.

      Tip There can be multiple <Folder></Folder> nodes.

      Note You can make more folder with you own naming, make sure you select the Office Template when creating a new library

    9. UccEndpoint = The value is the ucc endpoint skill is the name of the skill of that endpoint priority is the priority of the endpoint for hunting

      Tip There can be multiple <UccEndpoint></UccEndpoint> nodes

    Example:

    <?xml version="1.0" encoding="utf-8"?>

    <MailboxSettings>

    <Mailbox name="Mailbox1">

    <ExchangeUrl>https://outlook.office365.com/EWS/Exchange.asmx</ExchangeUrl>

    <ExchangeVersion>Online</ExchangeVersion>

    <EmailAddress>user@domain.com</EmailAddress>

    <EmailUser>user@domain.com</EmailUser>

    <EmailPassword>sRGhSZbfCtm56jpxBrchYW==</EmailPassword>

    <EmailQuantityToRetrieve>5</EmailQuantityToRetrieve>

    <Folder delay="5" skill="FrontOffice">FrontOffice</Folder>

    <Folder delay="5" skill="MidOffice">MidOffice</Folder>

    </Mailbox>

    <Mailbox name="Mailbox2">

    <ExchangeUrl>https://outlook.office365.com/EWS/Exchange.asmx</ExchangeUrl>

    <ExchangeVersion>Online</ExchangeVersion>

    <EmailAddress>user2@domain.com</EmailAddress>

    <EmailUser>user2@domain.com</EmailUser>

    <EmailPassword>sRGhSZbfCtm56jpxBrchYW==</EmailPassword>

    <EmailQuantityToRetrieve>5</EmailQuantityToRetrieve>

    <Folder delay="5" skill="Support">Support</Folder>

    <Folder delay="5" skill="BackOffice ">BackOffice</Folder>

    </Mailbox>

    <!--Additional mailboxes-->

    <UccEndpoint skill="FrontOffice" priority="1">sip:ucc_endpoint@domain.com</UccEndpoint>

    <UccEndpoint skill="MidOffice" priority="1">sip:ucc_endpoint@domain.com</UccEndpoint>

    <UccEndpoint skill="Support" priority="1">sip:ucc_endpoint_support@domain.com</UccEndpoint>

    <UccEndpoint skill="BackOffice" priority="1">sip:ucc_endpoint@domain.com</UccEndpoint>

    <!--Additional endpoints-->

    </MailboxSettings>

  2. Browse to the installation folder C:\ProgramFiles\UCC\EmailDialogue\ and edit appSettings1.config

    1. UCC

      1. Enabled = Set to true to use this config

      2. UccName = Name of the UCC

    2. MSMQ

      1. DocumentHandlerChannel = MSMQ queue that will be used to send messages within the EmailDialogue services e.g. msmq://document_queue@localhost

      2. StatusHandlerChannel = MSMQ queue that will be used to send status information within the EmailDialogue services e.g. msmq://status@localhost

      3. EmailRouterInputEndpoint = MSMQ queue that will be used to receive messages from the UCC e.g. msmq://uccreceive_queue@localhost
        This value is equal to the value set on SharePoint. The service will attempt to create this queue in the message queueing system.

      4. EmailRouterResponseEndpoint = MSMQ queue that will be used to send messages to the UCC e.g. msmq://uccsend_queue@localhost
        This value is equal to the value set on SharePoint. The service will attempt to create this queue in the message queueing system.

    3. SharePoint

      1. SharePointUrl = URL of the SharePoint site where emails will be stored e.g. http://sharepoint.com/sites/uccmail/uccmailtemplate

      2. NetWorkDomain = Domain name of the account that will connect with SharePoint e.g. WSP

        Note For SharePoint Online leave empty.

      3. NetworkUser = User name of the account that will connect with SharePoint e.g. account name

        Note For SharePoint Online use UPN email address.

      4. NetworkPassword = Password of the account that will connect with SharePoint. You must encrypt the password using Wsp.Anywhere365.EmailDialogue.PWTool located in the install package. 6

        Note Make password encrypted, with "Wsp.Anywhere365.EmailDialogue.PWToollocated". Plain text will not be accepted.

      5. SharePointArchiveLibrary = SharePoint library where the emails (PDF’s) will be stored after they are handled e.g. Archive

    4. CRMCRM stands for Customer Relationship Management and is a method/technology for managing contacts of customers. CRM helps to offer each customer an individual value proposition based on its wishes. In addition, CRM makes it visible which customers represent higher value for the organization and therefore might be served in a different way.

      1. UseCrm = Indicate if the service needs to use a CRM connection e.g. false

      2. CrmUrl = The URL of the CRM environment e.g. user.crm4.dynamics.com

      3. CrmConnectionString = Connectionstring to connect to the CRM environment e.g. Url=https://user.crm4.dynamics.com/;Username=user@user.onmicrosoft.com;Password=6dxvxHYehiRyzfqcIlI96Q==

        Note Make password encrypted, with "Wsp.Anywhere365.EmailDialogue.PWToollocated". Plain text will not be accepted.

      4. CrmCaseCreatorGuid = GuidGUID stands for Globally Unique Identifier and is a pseudo random number used in software applications that is assumed to be unique. The total number of unique keys (2<sup>128</sup> of 3.4028×10<sup>38</sup>) is very large and the probability of the creating the same GUID twice is very small, though not 100% guaranteed. of the Crm account used to create cases

      5. CrmCaseNumberRegex = Regex to recognize case numbers in email subjects

      6. CrmCreateContacts = Whether to create a new contact in crm, if no matching contact is found

      7. CrmUseOwnerSkill = Whether to route email to the skill matching the owner of the case, thereby ignoring the configured skill in Mailboxes

      8. CrmOriginalSkillField = Crm field for: Mailboxes folder skill

        The actual skill can be different due to CrmUseOwnerSkill

      9. CrmBodyTextField = Crm field for: plain text email body

      10. CrmBodyHtmlField = Crm field for: html email body

      11. CrmCreateCaseIfNoServiceUrls = Whether to create a case if there are no ServiceUrls configured

    5. EmailDialogueProcessor

      1. ProcessInterval = Number of seconds delay before all mailboxes are processed again

      2. HuntInterval = Is time in seconds when existing hunts are timed out (if exceeded HuntTimeout) or new hunts are started

      3. HuntTimout = Is time in seconds when hunts are timed out.

    6. Mailboxes

      1. Mailboxes = Path to mailboxes config file

  3. Save the settings file.

 

Set Elevated Trust Setting on Agent Client

  1. Run the following reg key on the clients of the Agent

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\]

    "AllowElevatedTrustAppsInBrowser"=dword:00000001

    [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Silverlight\]

    "AllowElevatedTrustAppsInBrowser"=dword:00000001

 

Restart the UCC Server

Starting the services

  1. Open Services and locate the Anywhere365 EmailDialogue Provider service and the Anywhere365 EmailDialogue WorkManager service.

  2. Right-click on a service and select Start

  3. Repeat Step 2 for the second service.