Contents
Table of Contents |
---|
...
The following table visualizes the steps that need to be carried out.
CIF1 | CIF2 | CIF2 + | |
Configure Azure App Registration | X | X | X |
Provision Omnichannel | X | ||
Install Channel Integration Framework from AppSource | X | X | |
Install Voice for D365 package | X | X | X |
Configure Application User in D365 | X | X | X |
Configure Agent Experience Profile | X | X | |
Assign users to Agent Experience Profile | X | X | |
Update Enreach Cloud User ID | X | X | X |
Click-to-Dial configuration | X | X | X |
Anchor | ||||
---|---|---|---|---|
|
...
Configuring Azure App registrations is done by the following steps:
Sign in to Azure portal (https://portal.azure.com) From the navigation menu, choose Azure Active Directory and Application registration Choose New Registration from top of the page | Figure 4 Create App Registration |
Fill in a name, for example Voice for Dynamics 365 for the app registration. All the other settings can be left as default. Choose Register. | Figure 5 Register an Application |
Once deployment is done, you should see a similar window than below:
...
Figure 6 Registration done
App registration needs API permissions to be able to authenticate to your Dynamics 365 environment. | Figure 7 Select API Permissions |
Choose Add a permission
Select Dynamics CRM from the pop-up window
...
Channel configuration for CIF2 is maintained by the Deployment Package. However, the channel itself must be added to an Agent Experience Profile.
To do it,
|
---|
Anchor | ||||
---|---|---|---|---|
|
...
Open Voice for D365 Configurator app
Navigate to User Settings
From the list, find your API user (see 1.2 Configure Azure app registration)
Open the user record and set the Enreach email of API user to Enreach Cloud User Email (e.g. mycompany.apiuser@mycompany.com). Enreach support can help you to have this value.
After saving the record, Enreach Cloud User Id of the user gets populated
Copy the id
Navigate to General Settings -> Phone call Sync Settings -> DefaultCrmAssigneetDefaultCrmAssignee
Paste the id to Value field and save the record
...
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 | ||||
---|---|---|---|---|
|
...
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 | ||||
---|---|---|---|---|
|
OC state | Web Phone state |
AVAILABLE | Available (0) |
BUSY | Busy (1) |
BUSY_DO_NOT_DISTURB | DND (2) |
OFFLINE | OffWork (3) |
AWAY | Away (5) |
When the agent is receiving or making a call, Omnichannel status is se to Do not Disturb, to prevent Unified Routing from distributing any work item to the user during a call.
...
The feature is implemented within the following built-in JavaScript plugins:
Plugin | Event | Purpose |
Enreach.Plugins.HandleOCPresenceChange | onPresenceChange | Mirrors OC presence to WebRTC |
Enreach.Plugins.HandleWebRTCPresenceChange | user-status-changed | Mirrors WebRTC presence to OC |
Enreach.Plugins.OCPresenceDND | call-incoming call-answered call-started | Saves the value of current OC presence, then changes OC presence to DND |
Enreach.Plugins.OCPresenceReset | call-ended | Resets OC presence to the saved value |
All the plugins above are deployed automatically to the system and are by default enabled, no need to configure the feature in any way.
Anchor | ||||
---|---|---|---|---|
|
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)
...