Monday, November 28, 2022

What's New in Power Platform - Process Mining

 This is a continuation of my blog series - What's new in Power Platform for the 2022 Release 2. This time the focus is on Process Mining using the Process Advisor. I will discuss here the need for a business process review and how a tool like process advisor can be useful for the organization. There are some paradigms to reflect upon,

"That's how we have always done it"

Organizations have been running business processes for ages on their ERP / CRM platform of choice. The processes may get modified over time and there may be "process debt" which is some old process that is still leftover in place because that was the way the system was set-up. In fact I have asked many clients why they do it in a certain way and the most common answer was "that's how we have always done it here!!"

"We are special" 

Another common answer to the question is "we are special" or "our business is unique". Every client is unique in the way they want to operate their business processes and that can create an ego issue when recommending solutions. I have worked with Clients who have changed their Systems three times but they refused to modify their business process. It is always the systems fault!!

"You cannot improve what you cannot measure"

I normally look for quantifiable data to prove to the client the benefits of a process change. When I ask the Client for any measurement on their business process KPI's they are looking at me as if I am from another planet. What's the point of implementing a system whose performance you cannot measure? How do you ensure the process is working or not? How do you plan to improve??

 That is where the Process Mining can help. It may be time to re-evaluate your current CRM / ERP processes. This will help in -

1. Setting a baseline - How are we doing today? How fast do we complete a Customer support case? What is our Lead to Opportunity conversion ratio?

2. Identify process bottlenecks - What is the longest stage / step in providing a Customer quote? Where does the Case gets stuck the most? How many variants of the process are there?

3. Automate - Identify what can be automated? Provide a business case for automation? How much can we decrease the Call Center agent time by automating certain steps? Do we really need to wait for an approval for all Cases? 

4. Re-evaluate your process - Is it required? obsolete? What are the competitors doing? What can we improve? Are we in compliance?

 Microsoft has recently announced the public preview of the Process Mining capabilities with Minit and Power Automate Process Advisor. 

Process Mining - map and dashboard

Some of the new capabilities added to the Process Advisor are detailed here -

Highlights -

  • Improved web experience 
  • New Minit Desktop App for deeper analytics 
  • Customizable reporting using Power BI and new pre-built templates

In order to get all the benefits of Process Mining you may require multiple licenses that includes - Power Automate per user, Power BI premium, Microsoft Dataverse etc. If you already have all the required licenses why not try and make use of Process Mining today?

I will write more about the new Process Mining capabilities in my future blogs. Till then let me know what is your thoughts on Process Mining and how it can help to change your business processes. Thanks for reading.



Monday, October 31, 2022

What's New in Power Platform - 2022 Release wave 2 - Managed Environments

       It is that time of the year for reviewing what's new in Microsoft Power Platform for the 2022 Release Wave-2. In addition to the many enhancements to the existing functionality there are also new features that are being added. In this blog I am reviewing the new capability of Managed Environment.

As the Power Platform is becoming mainstream in the enterprise domain, there is the need to set boundaries and maintain governance. Just like the new shiny toy that every kid on the block wants as present, the power platform, once introduced to the users, they will want to play with it. The power users want to try, make and see what is the realm of possibilities with and within the platform. They will find out sooner that it has a lot to offer and all with no code or less code. This can get out of control very fast same as the gold rush!!

Microsoft has realized the problem at hand and provided apps and guidance for managing the power platform. This guidance came in the form of the excellent - Power Platform Center of Excellence kit. To add to that Microsoft is also releasing the Managed Environments capability.

What is a Managed Environment ?  Managed Environments is a suite of capabilities that allows admins to manage Power Platform at scale with more control, less effort and more insights. Basically to do more with less.

Note - One of the requirements for an environment to be enabled as Managed Environments is that all the users in the environment should have premium usage rights for example - a Power Apps or Power Automate - per user or per app per user stand alone plan. 

Managed Environments elements

Currently there are 3 elements of Managed environments and I hope more are added in the near future.

1. Limit Sharing - This helps to prevent makers from sharing Canvas Apps with security groups and also limit the # of people the app can be shared with by the makers.

Limit Sharing
This is useful in a Dev environment you want the maker to to limit sharing and test it before sharing the app to other users. This will also limit the # of apps that a user sees in the environment.

2. Usage Insights - This provides a weekly email digest for Power Platform admins and Dynamics 365 Services Admins on the Managed Environments. The email gives insights as below -

Active apps / flows / users in the last month
This shows how is the adoption rate of the apps. A graph of the active app users will be more useful to show the growth of adoption over time.

Last time the app was used

This shows what apps are no longer being used. IT can ask the maker to remove / delete the app if it is no longer being used. Good for keeping the environment clean and useful.

Most useful apps and flows

This shows the top run apps and flows. Makers can learn from the top used apps / flows and update their apps.

3. Data policies - This shows all the data policies applicable to the managed environment. 

Applicable Data Policies

I will update my blog as new elements and capabilities are added for Managed Environments a step in the right direction to do more with less. I hope this helps you in deciding upon and enabling Managed Environments capability.

Thanks for reading. 

@mihircrm | 365WithoutCode

Friday, September 30, 2022

Enhancing legacy ERP systems with Microsoft Power Platform

On-premise ERP Systems have been the default system of record for the past 30+ years. They are the legacy systems used by millions of business globally which are running strong but lack modern technology. Organizations can find it difficult to improve their business processes and user experience without upgrading or moving the systems to a new cloud-based ERP application like Microsoft Dynamics 365. Organizations may also have challenges finding the necessary talent to incorporate complex AI / ML with their existing on-premise legacy apps. 

One option is to use Microsoft Power Platform to enhance the legacy ERP experience. Microsoft Power Platform is a low code application platform (LCAP) that provides multiple components (refer below figure) to use with existing system of records and add new technological capabilities. This blog discusses some of the business process automation that can be enabled by Microsoft Power Platform.

      #1 - Order to invoice process – Consider the scenario of a order to invoice business process. Typically, a customer sales order is received from website or email as an attachment and entered into the CRM or ERP system. This leads to the user creating a purchase order in the legacy ERP system to procure materials or products from the supplier. Supplier processes the PO and ships the products to the Customer (drop ship). Supplier sends packing slip and invoice to the business.  The business user invoices the customer. In a legacy ERP system, this can be a very manual, error prone and time-consuming process as the volume of orders increases.  

Order to Invoice process

This process can be automated and here are some scenarios where Microsoft Power Platform can be used along with the legacy ERP application.

  1. Automate Order Entry – Using Power Automate the entering of the order from email or as an attachment can be enabled. Power Automate cloud flow can trigger AI builder to scan and read the email attachment and capture the items that are ordered by the Customer. The cloud flow can trigger a Power Automate Desktop flow to enter the ordered items in the Legacy ERP system.
  2. Automate Vendor Invoice entry – As above the Power Automate can also be used to automate the vendor invoice entry into the legacy ERP system.
  3. Email to Customer – Power Automate can be used to trigger an order delivery email to the Customer when a Packing Slip is received from the Vendor.

There are many such use cases that can be automated using Microsoft Power Platform. An example of utilizing Microsoft Power Platform along with SAP CRM and SAP ERP applications is also shown below.

In this example Azure Data Factory is used to get data from SAP CRM and into Azure SQL. Then Power Automate flow and AI Builder is triggered to complete the automation.

Some other examples of using Microsoft Power Platform are also discussed below. 

#2 - Customer Chat-bot - Power Virtual Agent can be used on the Portal to answer queries from Customer. Customer goes to the Portal and want to know the status of the order. Power Virtual Agent can be enabled to trigger a Power Automate Flow to query the database and get status of the order and provide the information to the Customer. The Chat-bot capability can also be enabled to assist in answering queries on product inventory and pricing.

#3 - Gain business insights – Power BI can be used to develop visuals and dashboards to gain insights from business data. Power BI can connect to legacy on-premise systems using the data gateway. Power BI Desktop can be used to develop powerful visuals dashboards. Power BI can help empower business users to work with the data, model complex business scenarios and get insights they need to take actions and business decisions.   

Microsoft Power Platform as a low code app platform can help to empower your employees to do more with your existing legacy applications. Hope this makes you to try one of the Power Platform products. Do let me know about your experience using Microsoft Power Platform with your existing legacy applications.

Thanks for reading.



Thursday, August 18, 2022

Microsoft Dynamics 365 Omnichannel for Customer Service – Part-1 – Unified Routing

I have worked on many enterprise projects that requires an engine to intelligently route work related records to their destination. This is especially true for Customer Service where in the incoming work must be routed to Agents. The understanding and design of Work routing is crucial for the ability of the organization to scale as the workload increases due to addition of new work items / customers and service transactions. 
 Now in the world of Omnichannel the work item can be part of any channel – for example SMS Text, Voice, Whatsapp, Chat or Email. There are more complex rules for Routing the right work item to the right Agent without delays. Workers need to be skilled to perform the work and they could be specialized in only certain type of work. Additionally, the Customer Service systems has to support multiple languages too. 

Thankfully we have the Unified Routing engine in Microsoft Dynamics 365 Omnichannel for Customer Service that can help us in configuring most of the business rules. This blog introduces some of the benefits of implementing Unified Routing in Microsoft Dynamics 365 Omnichannel for Customer Service. 

What is Unified Routing? 

 As per Microsoft – “Unified routing is an intelligent, scalable, and enterprise-grade routing and assignment capability. It can direct the incoming work item to the best-suited queue and agent by adhering to work item requirements and matching them with the agent's capabilities.” Unified Routing in Microsoft Dynamics 365 Omnichannel for Customer Service works as shown in the following figure.

Unified Routing - Omnichannel for Customer Service

The following is a brief overview of the Unified Routing process in Dynamics 365.

Work Creation – Work item can be originated and ingested from Customers via any channel. This can be Voice, SMS Text, Social like Facebook or Twitter, Chat or Email. This work item gets created as a record in Microsoft Dynamics 365 and is part of the Channel Workstream in Microsoft Dynamics 365 Omnichannel for Customer Service. The following is a list of Channels that can be created.

Channels in Omnichannel for Customer Service

Work classification – The first step that Unified Routing does is to classify the work item. The classification can be based on the Customer category (Silver, Gold), Urgency (SLA), Skills required, Language etc. Machine Learning models can be created and applied to classify the work item (I will be writing about this in a future blog). Classification is an important task to be able to better understand the work item characteristics and assign to the specific queue that match the same.

Work Assignment – Once the work is classified the next step is to assign the work to the right Queue and Agent within the Queue. During the assignment stage, the work items are assigned to the appropriate queue. You may have separate queue based on the Customer category (Silver/ Gold) or the type of work (Request for information, transaction issue, returns) etc.

Once the items is assigned to a Queue the item is prioritized. This makes sure that the Agents are assigned the high priority item first. Then the work item is assigned to the agents based on the work characteristics, agent skills and capability, and the current state of the agent workforce in terms of availability and workload.

The benefits of using Unified Routing are

1. Matching Customers with the right Agents for first time resolution

2. Classification of work items using Machine learning models

3. Work item prioritization within a queue

4. Work item assignments based on Agent capacity, presence and skills

The Unified Routing process helps in managing Customer Service workload for the organization. There are many set-up and configuration requirements to ensure that the Unified Routing works and is configured for the business process as applicable for the organization.

I will write more about configuring and enabling Unified Routing for Microsoft Dynamics 365 Omnichannel for Customer Service in my future blogs. Thank you for reading.

Mihir Shah I @mihircrm I 365WithoutCode

Tuesday, June 28, 2022

Send Survey from Dynamics 365 apps using Customer Voice

Feedback is a gift and managing feedback from customers / vendors / employees is crucial for every organization. I have written earlier about measuring customer experience. This blog is about the new enhancement to Dynamics 365 Customer Voice. Now you can send a Survey directly from Dynamics 365 apps like Sales or Customer Service.

About Customer Voice - Dynamics 365 Customer Voice is an Enterprise Feedback Management app. The app enables you to create, distribute and gather real time survey feedback from your customers and generate insights with metrics. The insights from your customers can help you to transform your products, service and business processes.

Dynamics 365 Customer Voice

D365 Customer Voice app is used to design and distribute the survey. You can send the survey in multiple ways as shown below. The limitation was you could not send the survey from within D365 apps earlier.

Multiple ways to distribute survey

Now you can send a survey directly from within Dynamics 365 Apps like Customer Service, Sales or Marketing. As shown below you can send a survey to a lead from Sales Hub.

Send survey from D365 Sales app

Below are the steps you can take to send a survey from D365 model driven apps.

1. Enable and set-up D365 Customer Voice in your D365 Tenant. 

2. Create the Project and link it to your D365 Dataverse environment. 

3. Create your Survey using Customer Voice

If you want more details for the above 3 steps please refer my earlier blogs here - Set-up Customer Voice. I will write in details about the further steps below.

4. Install the Send Survey solution 

Microsoft has provided a free app on Microsoft appsource that you can install in your D365 dataverse environment. 

Send Survey app
You will have to accept the terms of the app.

Check that the solution is installed at > solutions

Publish all customization.

5. Now you should see the Send Survey button on a lead or a case form. You can also see it on a Contact record.

6. Once you click on the Send Survey button you will get to choose the Survey you want to send. This is based on the Survey you created or someone shared it with you in Customer Voice.

7. Once you choose the Survey and click next, you will get to select the email template and locale

8. The survey invite link email will be received by the recipient. The survey invite will also be shown on the Contact timeline.

Note - The Sender is the 'user name' who sent the email and Microsoft default email address. You can change the sender email if needed. That will require some work on the org settings in Microsoft 365. (more details here)

Change the sender's email address

9. Once the recipient completes the Survey the survey response will be shown in the Contact timeline.

I hope this helps you to get started using the Send Survey option from Dynamics 365. Please let me know how you like the new functionality and your experience with Customer Voice.

Thanks for reading.

Mihir Shah | @mihircrm | 365WithoutCode


Sunday, May 29, 2022

Let your data talk for you - Interactive Power BI in Power Point

One of the new feature released during the Microsoft Build 2022 session is to have interactive Power BI report pages (or tiles) in Power Point. This enables users to play with and better understand the story from the visuals in Power Point. Here is how easy it is using Microsoft 365 and Power BI - 

1. In Power Point select a new page and select Insert  >  Add-In  - Search for Power BI and select Power BI Tiles or Microsoft Power BI (to add report pages)

Insert Power BI Add-in

2. Copy the url of the Power BI Report page and paste it in the box on the Power Point page and hit insert.

3. Once the Power BI account is done you can see the report page in your Power Point. This has all the functionality as in Power BI you can filter / slice the data in Power Point. 

Play with your data in Power Point

4. There is also a Power BI toolbar at the bottom which allows you to perform certain Power BI functions directly from Power Point. The Data Options from the toolbar is shown below -

Data Options

Add Filters / Insights

5. Now if you want to share this power point with other users they need to also be shared the dataset and have the Power BI active account. The other option is to share it as an static image if the user does not need to play with the data.

Hope this gets you started with showing your Power BI reports and tiles in Power Point.  Thanks for reading.


Friday, April 29, 2022

AI and Power Platform - Part -2 - AI Builder

 This is a continuation of my series on AI with Power Platform. Part-1 was on AI with(in) Power BI and this blog is about AI Builder.  As Apps are getting created for every possible business scenario there is also a demand for infusing AI in your Enterprise Apps. 

    Within the Microsoft Power Platform the easiest way to add AI to your Power Apps is by using AI Builder. AI Builder works with Power Automate and can instantly enhance your application by adding AI processing capabilities with your data. You can also choose to add AI capabilities using Azure AI, but if you are using Power Platform - a Low Code Platform App why not use AI Builder.

One of the main reason why you may want to use AI in your Apps is because today AI is a necessity not a luxury -  (Microsoft blog).  I am not saying every App needs AI, but it makes a big difference when you add AI capabilities within your Apps.

So how to get started with AI using AI Builder? It is very easy. Select AI Builder from and get your first AI builder model created. Here are some things you may want to consider. 

AI Builder in Power Automate

1. Know the Business scenario that your App serves - Does you app process Customer application? Does it to Accounts Payable - Invoice processing? Is your app collecting Customer feedback? Based on that you can select the AI Model. 

Fig-1 Business Scenario

2. AI Model - Currently there are 17 AI builder model type and the list is growing every few months. It is important to select the right model type based on your business scenario. They range from forms processing, Prediction, Sentiment Analysis to Text Recognition. Every model is focused on one particular aspect of Business scenario. 

There are basically 2 types of model Builds and it is important to understand the differences between the same. 

Model Build

Pre-Built Model

Custom Model


Generic Use Case found common across Businesses and Industries

Custom – For your specific Business Use Case




# of models

11 Pre-built models

6 Custom Models

Training needed?



3. Collect the needed Data - Every model needs certain type of Data as Input to the model. The correct Data type has to be identified. You have to be diligent in knowing all possible variations and collect enough samples of each variation needed for the Custom model to be trained. There are 4 main data types as shown below. 

When collecting the Data for training the model it is important and necessary to understand the following 2 AI Integrity concepts to build a Trusted AI model. 

3.1    Bias - Bias in AI occurs when model gives a preferential treatment to certain privileged groups. AI models can become biased and that can have serious business implications. This can be because of the data that was used to train the model was not an accurate sample or had introduced the bias. So it is important to test the data and results of AI for any bias. (Refer IBM Blog)

3.2 Drift -  Drift can occur when AI models are faced with a different sets of data than what they were trained with. This can degrade the accuracy of the AI Model over time. (Refer IBM Blog)

 4. Train the Model - Every Custom model needs to be trained. Training is the critical part of AI Builder and if you do it wrong you will regret later. This reminds me of the movie - How To Train Your Dragon which can pretty much sum up as what to expect when you do not care for training your Model (Dragon). As you are training the model check for any possible Bias or Drift scenarios.

Train your AI Model

Training the model can take time based on the variation in the type of data. There is also a minimum # of sample data that may be required and recommended for training the model.

Train model

5. Manage the Model - Once the model is trained you need to manage and maintain it. AI Builder provides a snapshot of the model accuracy and confidence. If there is a degradation on the accuracy you may want to re-train the model with a fresh dataset. Make sure to test the model after every training.

Model performance

6. Deploy the AI model -  You will need to publish the model than you can use with Power Automate or Power Apps

6.1 Power Automate - You can use the model in a Power Automate flow. For example a Forms processing model can be referenced in the flow and the data can be extracted from the model and send for example via email. 

Extract data from invoice and send email

6.2 Power Apps - You can use AI Builder in 2 ways with Power Apps - 

        1. Use AI model in the Formula Bar - Example adding the Sentiment analyzed from a Text 

        2. Add AI Builder components to the App 

Add components

Things to note - 

1. AI Builder model is solution aware and can be added to the solutions. This is great for ALM.

2. Data Loss Prevention (DLP) rules also apply to AI Builder.

3. You can also do "Bring your own AI model" using Azure Machine Learning (AML) models.

Hope this helps you to get started with AI Builder and automate your tasks or generate insights. With a easy to build, low code application platform there is no reason why your App cannot have AI built in it. 

Let me know your experience in using AI Builder in your app and thanks for reading.