Working on Omnichannel for Customer Service, I came across Microsoft Power Virtual Agent which is an AI chatbot.
Power Virtual Agent helps us to create a bot with the no-code interface. Where it minimizes the effort required to deploy and maintain custom solutions. Also, Power Virtual Agent can answer many major issues using the bot service.
Allow a person to build a bot without any coding or AI experience
Common inquiries can be answered by the bot with any user intervention. This reduces the human agent’s effort and time.
Customers can self-help themselves 24/7 using a power virtual agent. This improves customer satisfaction experience.
Now, let’s dive into Power Virtual Agent, click here.
Sign In and follow the below steps:
There are multiple topic already present we can use system and sample topics.
Omnichannel for Customer Service offers us the capability to mask chat data.
Why use data masking?
Data masking helps the organization to protect the customer sensitive data like Credit card details, SSN number, Account Number, etc.
How does it help any use case?
Any text that’s masked in a conversation will also be masked in the conversation transcript.
Masking rules can be implemented for customers, agents, or both.
Let’s start with setting up a masking rule, follow the below steps:
Go to Omnichannel Administration App
Under site map go to Settings –> Data Masking Settings
Enable Mask private customer data from the agent
Create a masking rule
Mask private agent data from the customer: Data the agent sends is masked for both the customer and agent for live chat and async channel messages.
Mask private customer data from the agent: Data the customer sends is masked for both the customer and agent for live chat, but only for the user interface of the agent when using async channels.
For the masking rule to work, we need to Activate the desired rule.
Masking rule needed Regular Expression for masking the data. Only 10 data-masking rules, including the rules provided out of the box, can exist in Omnichannel for Customer Service.
Let’s create a simple masking rule where the rule would mask(#) any incorrect word send via customer chat to our agent. I have entered the few incorrect words inside the regular expression field. Now, if the customer enters any words(shit|donkey|fool|useless|angry|sue) which lies within this Regular Expression the word would be masked by “#”
Name: Enter the masking rule name Description: Provide the description of the created rule Regular Expression: Regular Expression is required for masking data
Going to the portal, User-initiated the chat and type the incorrect word on the chat window.
Following the same chat, refer to the below slide.
Omnichannel Insight for Dynamics 365 provides us an insight into the customer service omnichannel delivery and it also provides the information about the customer sentiments.
This allow the Supervisors to perform the following tasks from the dashboard:
Monitor Omnichannel operational metrics across Channel, Queues and Agents.
Monitor support quality via sentiment analysis across Channels, Queues and Agents.
Monitor Bot operational metrics
Click here to access the Omnichannel Insight for Dynamics 365 from Microsoft App Source.
Click on GET IT NOW button.
For accessing the Omnichannel Insight under CRM Dashboard we will need to perform a few steps as shown below:
While connecting to the instance it asks for selecting the Authentication method and Privacy level setting for this data source. There are 4 types of authentication provide for establishing the connection:
Similarly, we have 4 types of privacy level settings:
Here is our Omnichannel Insights for Dynamics 365, it’s a Power BI Dashboard.
Now, let’s do some setting for accessing the Omnichannel Insights dashboards inside our CRM instance. For that we need to allow the user to embed Power BI reports under CRM by enabling Allow Power BI visualization embedding to Yes under the System Settings Reporting tab as shown below:
Continuing to Dynamics 365 Healthcare Accelerator. Let’s learn how to setup the App on our trail instance. Click here to create a new instance. Once the trial instance is ready.
Go to Admin Center, and follow the below steps:
Healthcare Accelerator has few dependencies on other solutions like:
Project Service Automation
Click here for navigating to Microsoft App Source and follow the below steps:
Going back to the solution we can see that installation for Dynamics 365 Electronic Medical Records has been started.
Once the installation is successfully completed we can see the Dynamics Health 365 app.
Dynamics 365 Contact Entity Forms
The Healthcare Accelerator combines standard CRM entities with customized entities to make it easier to build solutions on top. This section describes examples of built-in forms and views that demonstrate these entities.
This view shows Electronic Medical Record (EMR) data directly within a patient or practitioner-specific form in Dynamics. The data model shows appointments, procedures, medications, and other patient/practitioner data in context and a user-friendly interface.
This view provides a sequential look at all activities that have occurred with the patient or provider. The timeline provides the ability to scale, leveraging a slider, and interact with data directly.
Care Team Viewer
A clear understanding of which member of a patient’s care team owns each facet of care is paramount, as this view clearly and concisely shows.
To know more about Dynamics 365 healthcare accelerator, Click here.
Continuing to Omnichannel for Customer Service. We will learn the process to setup a Live chat widget inside Dynamics CRM using the Omnichannel Administration app.
To know about, how to setup Omnichannel for Customer Service, Click here.
Select Queues from the site map and click +New button. A queue is required for routing the question from users to a particular department based on the business process.
Provide the Queue name and set the priority of the queue.
Add the users to the queue who would be taking the incoming chat request which comes under this queue.
Once the queue has been defined we need to create a record under Work Streams. Here we need to select the desired channel for our Work Stream. There are multiple channels like Live Chat, SMS, Facebook, WhatsApp, Twitter, Microsoft Teams, etc. Name the Channel and select the capacity. We are setting up Live Chat. We can also identify the incoming chat preference based on the agent status. Let’s select the Allowed Presences value too Available, Busy. This means that the agent would get the live chat pop-up on their screen when they have the capacity and their status is either Available or Busy.
Now, we will create a Chat Widget. For that, we need to navigate to Chat from the site map. Provide a name to the chat widget record, select the language, and the work stream which we create a minute before.
Under Agent display name, we have the option to select agent First Name, Last Name, Nick Name or Full Name.
Once the record is saved, we will get a code snippet.
After this, we need to go back to our work stream record and create a routing rule for Live Chat channel.
For creating of routing rule, we need to link it with the queue which we created and Work Stream created by us. Hit the Save button. Once the record is saved, we need to add a condition to the routing rule as shown in the above image.
Assuming Portal is installed on the instance where the Omnichannel has been setup. If not below are the step of Portal Configuration.
Under Instances tab, selectDynamics 365 Portals- Customer Self-Service Portal and Click Install.
Once we have the Customer Self-Service Portal installed on our instance.
Now, let’s go to Portal Management app –> under Content Snippets we need to paste the code snippet which we received from Chat Widget record.
Next, enable Portal Add-On as shown below:
We can see a Chat icon appearing on the Portal bottom right.
Now, open CRM using Test User credential which is has been part of our Live Chat channel. We can see a yellow box on the top right of the screenshot, the green icon denotes the status of our agent is available when the agent is busy it turns to be red.
Steps we need to perform for testing the Live Chat channel configuration.
Once the conversation is completed agent can close the chat session by clicking in the End button.
The comments provided by Agent after ending the chat session would stay within CRM only. For internal team references.
Here is the end of Omnichannel for Customer Service.
Microsoft came up with an app called Omnichannel for Customer Service.
The app is a part of Customer Service which helps the organizations to immediately connect and engage with their customers on a digital platform, like Chat, SMS, Social Media(Facebook, Twitter, WhatsApp, Microsoft Teams, and many more).
We can test this on the trials instance. Click here to create a new instance.
Select Customer Service while creating a trial instance. If we select any other option, Omnichannel for Customer Service application will not get enabled in your tenant.
Once the instance is setup. Check whether the Customer Service Hub is available or not.
Now, let’s go to the admin center to configure a few settings. Click on Billing -> Purchase services -> Add-ons
Here for trial purpose, if needed we can get Power BI (free) subscription. Also, there are multiple add-ons that we can have access to like Dynamics 365 Customer ServiceDigital Messaging add-on trial.
Once the add-ons are configured go to users and assign license accordingly.
For Provisioning Omnichannel for Customer Service, we will have a provide the data access consent. For that we need to go to the Data access consent URL which would navigate us to the below page where we need to check the consent box and hit the Accept button.
Next, when we have the data access granted successfully. We need to go back to the admin center and start configuring Omnichannel for our instance.
Go to the Application tab, select Omnichannel for Customer Service, and hit the Manage button. The manage button option allows us to configure and remove the channels which are use or no use.
For, practice let’s configure all the options which we have on trials instance. This can be turned off when needed.
By clicking on the Finish button, we confirm the options we opted for Chat, SMS, Social, and Teams. This would take some time to install all the option which we opted for Omnichannel.
Once the installation is completed under the selected instance (MRC), we would the below screen.
Navigate to My Apps, here we can see Omnichannel has been successfully installed.
Today will learn how to populate the related associated entity in the main form.
I have a Contact entity and it has a (1:N) parental relationship with the entity “Signs & symptom“. The aim of this blog is to populate the Signs & symptoms next to the Summary tab so that the number of clicks gets limited.
Let’s navigate to the Contact entity form editor. There we will have to add a new tab just below the Summary tab.
Now, we will add a sub-gird inside the Signs & symptoms tab.
Then we will set the properties of the sub-grid by providing it a name, label. We will also do the entity and view mapping.
Once this is done. Hit the OK button and publish the changes.
In the above image, we can see that the Contact related entity “Signs & symptoms” populates next to the Summary tab.
By clicking on the Signs & symptoms tab we would get the same associated view which we would get when we navigate from related to Signs & symptoms.
Today, let’s learn how to calculate a person’s age using Power Automate.
There are multiple ways to calculate a person’s age. The DOB field which I have is of string type. So, I thought of using Power Automate to achieve this.
Search for Common Data Service and the trigger should be When a record is created, updated, or deleted as shown in the below image. Next, enter the required details like the environment and the entity name.
Then we will add a condition to our flow, where we will check whether the Date of Birth field is null or not.
If the Data of Birth field is not null then we will calculate the age. For that when the condition is met the flow would go under IF yes condition, where we will have to provide the entity name and field under which the calculated age needs to be populated.
Let’s learn about how to fetch data from Cosmos DB using Power Automate and push into Dynamics CRM.
For retrieving the data from Azure Cosmos DB we will need a few details from Azure:
1. URI 2. Primary Key
Let’s jump to Power Automate and start adding the necessary component for achieving this activity.
I have used a manual trigger for reading the data from Azure Cosmos DB and pushing it into Dynamics CRM. Chose an action –> Search for Azure Cosmos DB, then under action select Get all documents.
We will use the Azure Cosmos DB detail for establishing the connection as shown in the below image. Access Key to your Azure Cosmos DB account here we have to enter Primary Key as shown under Figure 1. Hit Create button.
Select the desired database under the Database ID and table under the Collection ID field and hit the + New step button.
After the connection has been successfully established. Search for Parse JSON and add Documentsunder the Contentfield. Paste the JSON output under the schema. Hit the + New step button.
Next, we will search for a control Apply to each.
Under, Select an output from previous steps field pastes the Bodyfrom the Dynamic content and click Add an action button.
The above action is needed as it will allow us to map the value coming from JSON to be stored inside Dynamics CRM entity attributes.
Now, we need to test our flow with a few more clicks to be performed. Click on the Test button which would appear on the right top of the screen.
The flow will start executing, once the flow has run successfully we will get the below screen.
Now, go into CRM and we will see the records have been created under the expected entity.