Versions Compared

Key

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

Contents

Table of Contents

...

For Voice for Dynamics 365 to work, an Azure App registration is needed for authentication purposes. Giving access to your D365 though an Azure App registration does not consume D365 licenses.

Creating app registration

Configuring Azure App registrations is done by the following steps:

...

Tick user_impersonation selection and choose Add permissions

...

Figure 9 Add permissions

Creating a Secret for app registration

For authentication purposes, a client secret is needed.

Info

Since Microsoft limits the expiration of secret keys created on the user interface to 2 years, the client secret

...

should be added using

...

Azure PowerShell or Azure CLI script.

  • Navigate to main properties of App Registration by clicking Overview on the left

  • Copy the value of Object ID attribute to clipboard

...

Figure 10 Copy Object ID

Replace OBJECT_ID in the following script with the copied value

Code Block
languagepowershell
Connect-AzureAD

...



$startDate = Get-Date

...


$endDate = $startDate.AddYears(100)

...



$aadAppsecret01 = New-AzureADApplicationPasswordCredential `

...


  -ObjectId OBJECT_ID `

...


  -CustomKeyIdentifier 'Voice' `

...


  -StartDate $startDate `

...


  -EndDate $endDate

...



Write-Output $aadAppsecret01

Running Azure Powershell via Cloud Shell in Azure portal

Open Cloud Shell by clicking the icon on top menu bar

...

  • Sign in to Dynamics.

  • Switch to Customer Service Admin Center app.

  • On the left menu, click Workspaces within Agent experience section.

  • In the right pane, click Manage next to Agent experience profiles.

  • Select your Agent Experience Profile or create a new one if you don’t have any custom app profile yet. It is recommended to create a dedicated profile for Voice for Dynamics 365 by Enreach.

  • Within Channel providers section of Agent experience profile editor (at the bottom-right of the page), click Edit.

  • Below Third party voice channel providers, open the drop-down and select Voice for Dynamics 365 by Enreach item.

  • Click Save and Close.

Image RemovedImage Added

Anchor
_Toc134179489
_Toc134179489
1.5.2 Users

...

Wait couple of seconds and Enreach User Ids should appear on the user list for the users that have same email address than in Enreach Cloud.

...

Figure 31 Enreach Cloud User Id

...

Image Added

After updating the ids, if some user is missing the Enreach User id, then you need to manually update the correct Enreach Cloud Email to Enreach User Email field on the user record:

Figure 6 User record Voice for Dynamics 365 settings

  • Enreach User Id – unique identifier of the user in Enreach Cloud

  • Enreach User Email (optional) - should be filled in if email user in D365 differ from Enreach Cloud

...

Click Add at the bottom of pop-up.

...

Anchor
_Toc134179492
_Toc134179492
1.5.3

...

Phone Call Synchronization (Enterprise Calls)

Phone Call Synchronization settings are in General Settings -> Phone Call sync settings view:

...

Figure 33 Phonecall Sync Settings

...

Figure 34 DefaultCRMAssignee

:

...

  • CallDurationLimit - Minimum duration of calls (in seconds). If the duration of a call is below this limit then the call is not synchronised to Dynamics.

  • CallStartMargin - value in seconds, used to set a range of searching existing phone calls, to avoid creating duplicates.

  • DefaultCrmAssignee - Enreach user id, which is set as the owner of a phone call, in case user Enreach user was not found in D365. Current value e.g. fbc423f5-74f9-e911-80e0-…

...

Note:Users mobile number needs to be saved to User form in Dynamics 365 for all users that are going to need their phonecalls to be synced from mobile to Dynamics 365. By default calls that are classified as Work calls (Call information Privacy setting in Voice Center side) are synchronized. Unclassified and Private calls are not Synced to D365.

Anchor
_Toc134179493
_Toc134179493
1.5.4

...

Callback Synchronization

Callbacks are synchronized from Enreach API into Dynamics 365 by an Azure WebJob, hosted in Enreach’s Microsoft Azure tenant, maintained by Enreach. Application retrieves callback requests from Enreach API, transforms data into corresponding D365 format, maps to D365 contact/account/lead, and creates corresponding phone call records in D365.

...

Callback functionality can be configured for organizations that receive callback requests e.g. for Sales or Customer Service purposes to reconnect with the customer at a more suitable time.

...

Callback Syncronization configuration

Note: Callbacks can be configured only after you get a confirmation from Enreach.

By going to General Settings area within Voice for D365 Configurator app and selecting Callback Sync Settings view, the default subject of callback request phone call activities can be adjusted by amending the value of CallbackRequestDefaultSubject setting.

...

To configure callbacks in Dynamics 365, at least one callback profile needs to be added with the following (example) settings:

Image Modified

...

  • Callback List: lookup to a virtual entity, which is retrieved from Enreach API.

  • Queue: lookup to OOB D365 entity Queue. Defines to which queue callbacks should be assigned to.

  • Ownership Rule: controls how callback requests are assigned to users:

    • API User: callback requests will be owned by the API user (application user)

    • Owner of Queue: owner of callback requests will be identical to owner of target queue

  • Phone Call Subject: the subject set to phone calls created by the integration. It can optionally be specified here, on callback profile level. If no value is given here then the global setting is used (see above).

  • Duplicate Handling Rule: specifies how multiple callback requests from the same number are handled

    • Bundle calls: All callback requests are synced to Dynamics. If at the same time more than one open callback requests exist, the calls are linked to each other and can be seen on Phone Call form.

    • Ignore additional calls: Additional callback requests from the same number within the same call queue are ignored, only one callback request is created in Dynamics

  • Synchronization method: See chapter 1.5.4.1 Synchronization methods.

  • Age Time Unit: A unit of the time-period, can be Days, Hours or Minutes. Controls the size of time window when querying callbacks from Enreach API. Visible in case of certain synchronization methods only. See chapter 1.5.4.1 Synchronization methods.

  • Callback Age: Number value of defined periods in the previous field. Visible in case of certain synchronization methods only. See chapter 1.5.4.1 Synchronization methods.

...

  • Polling: Dynamics fetches callbacks from Enreach API every minute. The age of callbacks retrieved is specified by Age Time Unit and Callback Age fields.

  • Webhook: Enreach API pushes callbacks to the webhook listener web service of Voice for Dynamics 365. Provides more efficient operation in case of large number of callbacks.

  • Webhook backed with polling:Same as webhook, but polling on a regular basis is also active as a backup. If callbacks are for any reason left behind by webhook sync, the service executed on a regular basis will still synchronize those.

Anchor
_Toc134179496
_Toc134179496
Setting up polling sync

This section applies to synchronization methods Polling and Webhook backed with polling.

...

No other actions are needed to set up polling sync. After the callback profile has been created and the service picked up the new settings, synchronization starts automatically.

Anchor
_Toc134179497
_Toc134179497
Setting up webhook sync

Webhook synchronization is not enabled on the back-end services by default. To make webhook sync work, additional actions must be taken by Enreach staff to configure integration through webhook listener.

...

  • Navigate to customize the Unified Interface App (one or many) that your organization uses in your Dynamics 365 environment.

  • Open in App Designer (click the three dots on the right-side corner of the App)

...

Figure 36 Open in App Designer

  • Add Phone Call table to the list of pages, if it is not already included

  • Change the Main form to Voice for D365 – Phone Call

  • Include Quick View and Quick Create Forms to the app solution.

...

  • Save and Publish


Anchor
_Toc134179499
_Toc134179499
1.5.6 Dynamics 365 Click-to-Dial configuration

...

The API has to accept data in JSON format according to the following schema:

{

  "type""object",
  "properties": {
    "anum": {
      "type""string"
    },
    "bnum": {
      "type""string"
    }
  }
}

Example payload:

{

  "anum""+35850454564", // phone number of caller
  "bnum""+35840675644" // phone number of pool the call is in at the moment
}

Business logic will then find the caller in Dynamics CRM based anum and determine the needed action. Phone numbers have to be saved to CRM in the correct format, with no spaces or other characters, and starting with international calling prefix (plus sign). If phone numbers happen to be saved to CRM in local format then by removing first few (3-4) characters of anum, the rest can be matched to CRM data using contains comparison.

...

When the phone number of target queue has been determined by the business logic, it is returned as an HTTP response.

Example payload:

{

  "InitialTarget""+35853445657", // phone number of target queue or agent
}

Things to notice:

  • If no redirection has to be done (e.g. customer not found) then HTTP 204 No Content response must be returned

  • Returning the same bnum from the request as InitialTarget is forbidden because it would cause an infinite loop in Enreach cloud. In such a case returning HTTP 204 is recommended.

...

Anchor
_Toc134179506
_Toc134179506
1.8. Test Voice for Dynamics 365 functionality

If everything was set up correctly, you should see the Voice for Dynamics 365 sidebar in the configured applications. Inbound& outbound calls, automatic phone call activity creation, Click-toDial and callback handling (if configured) are now available for the end users.

...

Figure 40 Voice for Dynamics 365, Customer Service Workspace (CIF2) (On the left side of Dynamics 365 UI)

...