Tuesday, August 31, 2021

Managing Environments in Power Platform - Risk Management Part-2

Environment in Power Platform is where you would store, share and manage your business data, Dynamics 365 and Portal apps, Power Automate flows, chatbots and connections. It is important to understand, control and manage your environments. This blogs provides some of the considerations in environment management for Power Platform / Dynamics 365 - Dataverse. The focus of this blog is on environments with Dynamics 365 apps & Dataverse database.

1. Environment Scope - Each Power Platform environment is created in the Azure AD tenant and bound to a geo location. Only users within the AD tenant can access the environment. An environment may only have a single Dataverse database.

Typically you will have multiple environments - Dev / Test / Staging / Production. Each environment will have its own Dataverse database. Any Power platform resource - app, chatbot, portal apps created within the environment will only connect to the environments Dataverse database. You can move, migrate solution and data from one environment to another. The data is stored in the environment's geo location data centers. This is important to know when storing customer data.

Environment and Tenant


2. Environment Types - The system will create a default environment. The default environment should not be used for building any Power Platform resource. Admin users can create multiple environments of type Sandbox. A sandbox environment can be converted to a type Production. You can have multiple Production environment within a Tenant. A production environment can also be converted to sandbox.

In addition there are other type of environment - Trial environment which are active for 30 days, developer environment for personal dev use and Microsoft Dataverse for Teams environment.

3. Environment Security Access -

To add a user to an environment the user needs to be added in the Azure AD Tenant, provisioned a license and also given the correct security role to access the data in the environment. There are 2 main roles Environment Admin and Environment Maker for Environments that do not have a Dataverse database.

Environments with Dataverse database have the following roles - 

Security Roles

The security roles can be assigned to a user, owner team and Azure AD group team. The Azure AD Group team can be Security or Office group team. The Azure AD groups can be used to manage licensed users apps and data access.  

4. Environment Backup and Restore - The system backs up all environments except Trial environment. The difference is only in how long the backups are stored. The Production environment backup with Dynamics 365 Apps are stored for 28 days. All other environments backups are stored for 7 days.

The backup is a continuous backup using Azure SQL Database. You can also do manual backups. You cannot download the backup. There are other options to download Dynamics 365 data such as using data migration. 

You can only restore a backup to a non production environment. To restore to a Production environment first convert the Production environment to Sandbox and than do the restore.

I hope the above helps you to understand and manage the Power Platform Environments with Dynamics 365 apps. Let me know if you have any questions. Thanks for reading. 

@mihircrm

365WithoutCode


Thursday, July 29, 2021

Managing Risks with Microsoft Dataverse Power Platform and Dynamics 365 - Part-1 - Business Continuity & Disaster Recovery

Risks management is critical for every organization.  There was a time when the severity, definition and type of risks that a business may encounter were considered to be different. The risk was dependent on the size, nature of business and geographic location. Now that the core business apps and data are running in the cloud, the risks are the very much the same for every organization. 

Why risk management for the Cloud?

Cloud has leveled the playing field when it comes to risk management. Every organization big or small will face the same level of risk. The impact of the risk in $ value may be different. It is imperative for organizations to have a risk management plan to understand, analyze, mitigate and protect themselves from running their business in the cloud. This blog series is focused on understanding risk management with Microsoft Dataverse - Power Platform and Dynamics 365. (disclaimer - I am NOT a business risk management professional. This is my attempt to help you understand how risks can be managed when using Microsoft Dataverse)

#1 - Business Continuity and Disaster Recovery (BCDR)

When you purchase Microsoft Dynamics 365 or Power Platform licenses you will be provisioning 1 or more environments. Consider environment as a container for your business apps and data. You may have multiple development sandbox, testing, staging and production environments. Each environment has an instance of Microsoft Dataverse. Your business users are provisioned in the different environment. You may have your environments in 1 Geo region (lets say East Coast - US) which is nearest to your group of app users. You may even have users globally and have multiple environments in different Geo regions. How do you protect your environments from a unforeseen disaster in a geo region? How do you ensure that your mission critical business apps will be up and running asap and your data protected? 

Every cloud services provider has a well defined plan to protect their customers apps and data in the cloud. Microsoft has defined a Business Continuity and Disaster recovery plan for the Dataverse environments. 

Dynamics 365 Customer Engagement apps - for the production environments a replica or copy is made in a second geo region (Geo secondary replica), of the different storage services like Azure SQL and file storage and compute infrastructure. The copy is done at the time of the deployment and on an ongoing basis they are kept synchronized (with some lag in minutes) through continuous data replication. 

Dynamics 365 Customer Engagement - Geo Secondary Replica

Dynamics 365 Finance and SCM apps - The geo secondary replica is also done for this apps. 

Dynamics 365 - Finance and SCM apps

The replica environments are in a Azure region pair and have a dedicated low latency network. They also are within the data residency and compliance boundaries 

Azure region pairs

Failover types and service continuity - 

Unplanned failover - In case of an unplanned failover in an Azure geo region, Microsoft will notify customers and route traffic to the secondary geo replica region. There could be a possible data loss for about 15 minutes during the transition.

Planned failover - If there is a risk to the availability of the primary geo region (like an upcoming hurricane) Microsoft will notify the customers and transition to the secondary geo replica region. The users who are connected to Microsoft Dataverse apps may experience some disruption. There will be no data loss.

Failback - Once the primary geo region is back up and running Microsoft will notify customers and move to the primary region. Connected users may experience disruptions but there will be no data loss. 

Things to note - 

1. Dataverse for Team environments do not support the Geo Secondary replicas. So if you are using Dataverse for Teams environments please make sure to have a backup on a regular basis. 

2. The geo secondary replica is only available for production instances of Dataverse. All other instances will face service degradations till the primary regions is back up and running.

3. Dynamics 365 Finance and SCM apps will have limited functionality when working in the geo secondary replica region. The Financial Reporting and Power BI reporting services will not be available. Customers can open a support ticket with Microsoft to get the Financial Reporting setup running in the secondary region.

I hope this helps in understanding the business continuity and disaster recovery risk management for Microsoft Dynamics 365 - Dataverse platform. In my next blog I will write about Security and Data loss - Risks.

Thanks for reading.

@mihircrm

#365withoutcode

Wednesday, June 30, 2021

Measuring Customer Experience with Dynamics 365 Customer Voice

"What you cannot measure you cannot improve" - I think you will agree to this statement. If you want to improve your customer experience than first you need to know how to measure it. Once you measure it than you can track and take action from your insights to improve customer experience.

Customer Experience is about how the customer feels after having an interaction with your business. The interaction can be of 3 main types
1. Products - You want to know how the customer feels after purchasing and using your product. 
2. Services - If you are selling services, how the customer felt after the service was delivered. Like automotive maintenance service
3. Processes -  How was the customer online buying process experience or experience with the case resolution process.

An enterprise may want to know all 3 of the above and get valuable feedback from the Customer. If you have large number of products and thousands of customers globally you need to have a Enterprise Feedback management system like Dynamics 365 #CustomerVoice. 

I have written 2 blogs earlier about Microsoft Dynamics 365 - Customer Voice. My blog-1 gives an overview about Customer Voice and blog-2 is about considerations when deploying #CustomerVoice.
This blog is about how to measure your Enterprise Customer Experience using #CustomerVoice.

Measuring of Customer Experience is done using Satisfaction Metrics. The metrics are mapped to questions in the Survey. As the survey responses come in Customer Voice services sends the responses to Azure Cognitive services for analysis and also to the Customer Voice analytics engine. After the analysis is done the results are stores in Dataverse. 
Response analysis

There are 4 types of Satisfaction metrics that you can use. 
Satisfaction metrics


1. CSAT or Customer satisfaction is measured by responses to rating type questions in survey and is normalized to a range of 1-5. The below are example of CSAT survey questions.
CSAT question types

 

2. NPS or Net Promote Score is a metric used to measure customer loyalty. It is based on NPS type questions with scale 0-10 as shown below. 
NPS questions

Customer voice will group the respondents as follows 
    i.   Detractors = response from 0-6 rating
    ii.  Passive = responses with 7 or 8 rating
    iii.  Promotes = responses with 9 or 10 rating 
The NPS is a number calculated using the formula 
NPS = (% of Promoters) - (% of Detractors) 
NPS can range from -100 (100% detractors) to 100 (100% Promoters).

3. Sentiment - this identifies how the customer feels about a product, service or process. This is done using a text based question response. Sentiment will group the response based on the text as positive, negative or neutral. 

4. Custom Score - You may want to have a custom scoring of the question in a Survey. The custom score allows you to assign a point value to the answer options. Based on the response the score is calculated and assigned to the Survey.  This can help you to add more weightage to certain question answers and thus get an custom measurement of the respondents satisfaction level.

Custom Score

As you are planning and designing the questionnaire make sure that you understand how the customer experience can be measured so you have the right insights. In my next blog I will discuss about tracking and actionable insights.

I hope this helps you in improving your enterprise customer experience with #CustomerVoice. Thanks for reading.

@mihircrm
365WithoutCode

Friday, May 28, 2021

Teams and Power BI - Enable visual collaboration

 The integration of Power BI with Microsoft Teams has enabled enterprise wide collaboration on data and visual presentations. This brings new ways of generating team insights where remote teams can review the data and provide feedback to improve the visuals. 

Power BI and Teams - Visual collaboration 

There are multiple ways you can share the Reports and Visuals from Power BI service into a Teams Chat or Channel. This blog describes some of the options for using Power BI within Teams.

1. Power BI App in Teams - You can add the Power BI app to teams which will enable directly working in the Power BI Service from within Teams itself. 

Power BI app in Teams

2. You can also add a Power BI tab to a Teams Channel. This enables to collaborate on the Power BI report within the channel. 

Power BI - Add as a tab to Teams Channel

Note - When selecting to add a tab - you can only add a Power BI Report but not a dashboard to the channel.

3. Chat in Teams - You can chat in teams from a Power BI Report / Dashboard or even a visual. This inserts a link in teams chat for the shared content. 

 

Visual tile - Chat in Teams

4. Link preview - You can add a link to a Power BI - Report / Dashboard or App in Teams chat and a link preview is shown. The user can open the Power BI visualization from within Teams.

Link preview in Teams

Things to note -

1. In order for the Teams integration with Power BI - the users will need a Power BI Pro or Premium per user license or the Power BI Report is in a Power BI - Premium capacity. 

2. Users within the Team will need to be shared the reports and given access to the underlying dataset to enable them access to the content. One way to enable this is to share access to the Report workspace to the Microsoft 365 Teams group 
Microsoft 365 group access to Power BI workspace



3. Power BI dashboard cannot be added as a tab to Team channels. Also the Link preview does not work in Meeting Chat or Private Channels

4. Make sure that the Power BI Teams integration is enabled in the Admin Portal > Tenant settings. (by default it is enabled)
Teams integration is enabled

I hope that this helps you in integrating Power BI and collaborating within Microsoft Teams. Let me know how you have gained from the Team insights which are enabled with this new feature.

Thanks for reading

@mihircrm
365withoutCode





Friday, April 30, 2021

Considerations when deploying Customer Voice in the Enterprise

 In my previous blog I had written about Customer Voice - An Overview. This blog covers important topics to consider when deploying Customer Voice in the enterprise.

1. Customer Voice is an Enterprise Feedback management app. It is not customizable as other apps of Dynamics 365. So what you see is what you get. It is easy to use and may fit most of your business requirements. But if you want to further enhance it currently Microsoft has not allowed for enhancement of the Customer Voice app. Hence it is important to consider various aspects of the app to determine how to optimally deploy in the organization.

2. Data Storage - My first thought for any Customer app is - how is the Customer data managed ? In your org there could be many departments globally who will be using this app for creating customer surveys. The information collected from the Customers using the Survey may need to be kept secure due to many reasons (industry or government regulations, GDPR restrictions ...) and it is imperative to understand where the data is and who has access to the data. Below is a visual representation of the data flow.


Customer Voice - Data Flow

The data is stored in mainly 2 data stores - 1. Customer Voice App and 2. Dataverse environments. The data is also processes by Azure Cognitive Services and Dynamics 365 marketing sends the survey. 

Customer Voice app will store the data mainly in North America and for Europe Customers it will store in Europe data centers. The data stored in Dataverse is based on the local environment location.

3. Project - When a project is created the Dataverse environment is selected for the Project. So a user can have Customer Voice access to projects which are in Dev / QA / Test and Prod environments. They are all accessed from the same Customer Voice app. The contacts are populated into the project from the connected environment.

Project and Environment

3. Using with Customer Service - Chances are that you are going to use Customer Voice and Customer Service together. If so both Customer Voice and Customer Service (or any other D365 app) will need to be in the same tenant. This will enable functionality like auto send a survey when a case is closed in Customer Service.

4. Security - Users who need access to Customer Voice to create and send Surveys need to have the Project Owner security role (or custom role with the privileges)

Project Owner - security role
This will provide the user with the minimum privileges required in Customer Voice.
The system also create an Application user account to integrate with Azure services.

5. Record ownership - It is important to know who will be the owner of the records created in Customer Voice. (This is where it gets a little complicated)
1. Projects and Surveys - are created and owned by users in Customer Voice (no team ownership capability yet). If the Project is shared with other owners, a AAD team is created with the shared ownership. It is best to have a Project shared with multiple owners who are working together.
2. Survey response ownership is based on a logic as below
    a. Response to a Survey invitation - The invitation owner is the owner of the response
    b. If the invitation owner does not have the privilege to own response than the survey owner is the owner of the response. 
    c. If the response is anonymous than the Survey owner is the owner of the response
    d. If the Survey owner user account is disabled closed or deactivated or no longer has the license the application account becomes the owner. (Please note - If the survey owner account is closed or deactivated the Survey Customer data will be deleted by the System after 30 days) So be careful to select who is the owner of your Customer Voice data.

6. Data deletion - Do not delete the survey data in Dataverse. You will need to delete from Customer Voice and the same is than synced with Dataverse. Any other ways of data deletion may land you in trouble. 😀

I think that the above info is valuable when you want to deploy Customer Voice in your organization. Let me know about your experience with Customer Voice. Thanks for reading.

@mihircrm
365WithoutCode






Tuesday, March 23, 2021

Power BI with Power Apps Portals - Part-3

 Portals are now becoming ubiquitous as a Customer / Partner / Employee engagement channel. They can provide valuable information to a large audience. There is a need to embed dynamic visualizations, dashboard and reports in a Portal. This is very much possible now using Power Apps and this blog discusses how visuals from Power BI can be embedded into Power Apps Portals.

In my earlier blog I had mentioned about getting started with Power BI and Dynamics 365 Power BI template apps. This is a continuation and Part-3 of the Power BI with Dataverse series of blogs. 

An embedded Power BI dashboard can provide valuable information to the user when logged into the Power Apps Portal. Its great that one can create powerful visualizations but when the visuals drive insights and is showcased to a large # of users the value of the visual increases exponentially for the organization.

Power BI embedded in Power Apps Portals

Assuming you have a Power BI report or dashboard ready and a Power Apps Portal created in the same environment. The following steps will help you embed a Power BI report in Power Apps Portals. 

1. Configure Power Apps Portal

Go to Power Platform Admin Center and select your Portal 

Enable Power BI visuals

Click on Manage Power BI embedded service and select the workspaces that you have the Power BI reports and dashboards to be shown on the Portal.

Select Workspaces

Now you have configured the Portal for embedding Power BI. While you are on the managing Portal select Portal Details copy the application ID of the Portal. It will be useful in the next step.

Portal App ID

2. Set up Azure AD security group

We will need a Azure security group with the CRM Portal as a member. This security group will be given access to Power BI API. This will enable the display of visuals in the Portal.

Log in to Azure and create a new Security Group in Azure Active Directory. 

Security Group
Add Microsoft CRM Portal as member of the security group. Apply the Portal application ID to the member. 
Add member
Add the above security group to the Power BI Tenant Developer settings as shown below. This will allow the Portal to use Power BI API.
Allow to user Power BI API

Now we have completed most of the setup required. Next step is to configure the Portal and add the Power BI report and or dashboard to the Portal.

3. Embed Power BI visual in the Portal

Go to make.powerapps.com and select your portal and click on edit. This will open the Power Apps Portal Studio.
Here you can select to add a new page to the Portal or add a section to an existing page to display the Power BI visual.
One of the components you can add to a page or section is Power BI.
Add Power BI component

Once the component is added you will get the options to select the Workspace > Dashboard or Report to add to the Portal.
Add Power BI visuals as component

Things to note -
1. Users who log in to the Portal will need to be authenticated using AAD. 
2. Users will need Power BI license to view the visual
3. The Power BI dashboard or report will need to be shared with the user

I hope the above was helpful in embedding Power BI visualizations in to your Power Apps portals. Let me know if you have embedded Power BI in your Portal or custom websites.

Thank you

@mihircrm
365WithoutCode
 



   

Friday, February 12, 2021

Power BI Template Apps - Power BI with Dataverse (D365) Part-2

 In my earlier blog I had written about connecting with PowerBI and Dataverse (D365) using the CDS or Dataverse connector. You can also use the Power BI template Apps that Microsoft has provided to see your Sales or Service data in PowerBI.com

As always there are pre-requisites for using the Apps. They are - 1. You need to have a Power BI - Pro license for all users who want to consume the app and also 2. Admin access to install the App and connect to D365.

So now that we have the requisite license and access let us install the template app. There are 3 D365 - Power BI template apps. They are shown below with demo data

1. Sales Analytics. https://tinyurl.com/88g43r2m


Sales Analytics Power BI App

2. Process Analytics: https://tinyurl.com/5ybgdqze

Process Analytics App

(I am not a fan of the background bluish color but that can be removed using PBI desktop as I have mentioned below)

3. Customer Service Analytics: https://tinyurl.com/3a2v2pmg

For this demo I was unable to get the demo data loaded in the app or connect the app to D365. This is from the Appstore -

Customer Service Analytics Power BI

I will write about the Sales Analytics App below -

1. Install - Go to https://tinyurl.com/88g43r2m  and click on Get it now (or in PowerBI.com go to Get Data and search for Sales Analytics app)

2. Once the app is installed you will see the App in PowerBI.com You will be able to see the App with demo data. You can also connect the App to your specific D365 / Dataverse instance. Once connected the D365 instance data will load into PowerBI.com

You get the below different reports in Sales Analytics App. 


3. You can than analyze the data in PowerBI or you can import the dashboard into D365. (I will write more about this in my later blogs)

4. The OOTB app does not have any custom tables and you will need to customize the App. This is now possible by downloading the Power BI report and importing the PBIX file into Power BI desktop.  Use the link below for downloading the Sales Analytics or Process Analytics Power BI report PBIX file.     

        https://tinyurl.com/1royw6my

5. Now you can add the custom tables and columns to the Power BI reports and create your own App.

I believe that the template apps are a very good starting point to use Power BI with Dataverse. Let me know if you have any questions or any other ideas of using Power BI with Dataverse / D365. 

Thanks for reading

@mihircrm / 365withoutcode