Validate Email address on Email field in Model-Driven Apps | [Preview]

As part of various implementations, often you’ll need to ensure that the field validation is in place.

Note: Please note that this feature is still in Preview at the time of writing this post.

Enable Data Validation in Power Platform Admin Center

Here’s how you can enable Data Validation for Email fields in Power Platform Admin Center

  1. Once you have the correct rights in Power Platform Admin Center (https://admin.powerplatform.microsoft.com/environments), select the Environment you want to enable Data Validation for.

  2. Now, expand Product section and go to Features as show below

  3. When you scroll to the very bottom, you’ll find Data Validation option turned out by default.

  4. Turn it on and Save the Settings.

  5. Also, in the App Designer for Model Driven Apps, click on Settings on the Editor. Click on Settings in the Command bar and then go to Upcoming features in the Settings list.
    You’ll find that the Enable Smart Email Address Validation Control feature is still set to No.

  6. Turn this feature on, Save the settings and Publish the App again before running it.



Validation in D365 Sales Example

Let’s look at the below example –

  1. When you have enabled the Email address validation, you can try to enter the below data which is invalid on purpose and see the result.
    When you enter an address, it’s validating on the fly.


  2. It’ll show that the domain is known but disposable, for example.

What Validation is considered?

Below are the validations that are carried out –

  1. Incorrect Syntax – Like Email Domain and Username can’t exist together
  2. Disposable Domain – Temporary Email domains.
  3. Test or spam emails – You can turn this feature off is you are testing in Sandbox and enable for Production to prevent spam emails being entered.
  4. Expired Email Addresses – Disabled emails which can’t send or receive Emails.
  5. Emails that bounce back – Like disabled addresses which bounce back

Here’s Microsoft official documentation for this feature – https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-validation-email-column?WT.mc_id=DX-MVP-5003911

Hope this helps!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Install correct .NET Framework for Dynamics 365 CRM Plugin Assembly | Plugin Registration Tool

Here’s how to solve if you see the below error while updating/registering your Plugin assembly in Plugin Registration Toolbox

Here’s how to go about solving the same!

Error while Updating Plugin Assembly

In case you see the above error in Plugin Registration Toolbox, here’s how you can upgrade your Project in Visual Studio to compile using the correct .NET Framework version as suggested in the error –

  1. Go to Properties of the Project and look for Application tab

  2. Now, drop down on the Target Framework and look for the version asked as in the error. At times, it appears that you don’t have it installed on the machine given that you just changed your system, so you need to download it.

    Select “Install other frameworks…”

  3. You’ll be redirected to this page (unless there’s a change in the future) – https://dotnet.microsoft.com/en-us/download/visual-studio-sdks?cid=getdotnetsdk
    And you can find the right Framework once you look for it. In this case, I need 4.7.1 version.

  4. Save the file and install once download.

  5. Once you begin to install, it’ll go about the same way as any other installer.


    And you’ll see this will be installed quickly [within few moments]

  6. Once done, close and restart Visual Studio and then again check the Applications section in Project’s Properties.
    You’ll see the installed version appear there.

  7. And once you select it, it’ll ask before applying this framework.


  8. Click Yes and compile the Assembly again. Once done, you’ll be able to register your plugin on the Plugin Registration Tool successfully.

Hope this helps!

Thank you!

Profitability Analysis on a Project Service Quote | Project Operations

So, while working on Project Operations Quotations, you see this below tab called as Profitability Analysis.

And below are the fields that you see –


In case you are trying to find what each of these fields mean and how they calculate – this post if for you!

Chargeable Calculations

Now, let’s look at how the Profitability Analysis fields calculate –

  1. Let’s open the Quote Lines and see what we have. We have 1 Quote Line which has a budget of $50. Hence, you saw Total Revenue to show as $50K already in the beginning of this post.

  2. When you start adding Quote Line Details in the Quote Line, for example some services as below –
    I’ve added a Chargeable Quote Line of 40 hours of Consulting at $200/hour for a Consulting Lead role.


    This will show up on the Profitability Analysis

  3. Now, let’s look at how this is calculated.
    Total Chargeable Costs come from the Cost Price list of the Contracting Unit this Quote/Opportunity is in.
    So, 40 x $150 =. $6000


    Here’s the Org Unit on the Quote (that came in from the Opportunity)


    And it has a Cost Price List associated with it which has Role Prices set for each Role.


    Which has a Cost Price of the Consulting Lead Role set to $150.

  4. Similarly, the Total Revenue now reflects the Equivalent Sales Price with respect to the Role in the Org Unit. The Sales Price is associated with the Quote in the Project Price List tab as shown below. Also, please be mindful of the Start Date and End Date of the Price Lists added so that Prices are picked from the right Price List.


    And the Sales Price for the Consulting Lead for the current Org Unit is set to $200.


    Hence, the calculation
    $200 x 40 = $8000.
  5. This also then calculates the Gross Margin to show a positive 25% and the Project is Profitable.


Non-Chargeable Calculations

Now, let’s look how non-chargeable calculations are considered –

  1. Let’s say there’s an Account Manager role added to the Cost Price list as shown below-

  2. And in the Quote Line, the Account Manager is considered as a Non-Chargeable Role for this Quote.

  3. Now, if there’s a Quote Line Detail added for the Account Manager Role in this Quote Line – it’ll be added to Non-Chargeable Costs. I’ve added 2 hours of effort for this Quote Line Detail entry.

  4. This will reflect the Total Non-Chargeable Cost to be $85 x 2 = $170.
    And the Adjusted Gross Margin will show 22.88% instead of 25%. Adjusted Gross Margin shows the adjustment considering Non-Chargeable Components in this Quote.

Hope this helps!

Thank you!

App Access Checker in Power Platform Admin Center

Here’s how you can find if users have the correct access to a Model-Driven App assigned or not. This becomes the first line of troubleshooting when a Users say that they are not able to access an App.

Let’s see how to use this!

In order to check a Users’ access to a certain app, make sure you a Dynamics 365 Administrator and has access to the environment in the Power Platform Admin Center (https://admin.powerplatform.microsoft.com/environments)

App Access Checker

Here’s how you can check in the Power Platform Admin Center which user has the correct access to the Published Apps in Power Platform.

  1. Enter Settings by first selecting the desired environment where you want to check a User’s App Access.


  2. Then, look for Users.

  3. Alternatively, if you had clicked on the Environment name and entered the Properties, you’ll also find a Users link directly.



  4. Then, you’ll see the option for ‘app access checker’.

  5. Now, you’ll see a simple textbox which asks for the User ID of the user in the org whose access you are expecting to check.
    If you notice the URL, you can also bookmark this shortcut to your org’s name
    <a href="https://<orgName&gt;.crmhttps://<orgName>.crm<regionNumber>.dynamics.com/WebResources/msdyn_AppAccessChecker.html

  6. Once you enter and check, you’ll be able to see the status of the results.

  7. And you’ll see the details per app.

Hope this helps!

Thank you!

Modern Share Experience on Views in Power Platform | [Preview]

Here’s how you can use the new Share experience for records in Dynamics 365 Sales / CE using Model-Driven Apps.

As of writing this post, this is in Preview.

Settings

You can navigate to Power Platform Admin Center [https://admin.powerplatform.microsoft.com/] settings area –

  1. Open the Environment on which you want to enable Modern Share feature on.


  2. There’ll you find this Preview feature which will be turned off by default.
    You just need to turn this ON and Save the settings.

Experience

Here’s how the classic Share button works on Views.

  1. When this experience is not enabled by Default, you’ll not see a Share button explicitly.
    Notice that there is not button


  2. And when this setting is turned on, you’ll see a Share button on the top right which can be dropped down to reveal 2 options.

  3. The Email Link works as any other M365 share option.


  4. And the Copy Link button works like any other M365 Sharing link feature. Example – OneDrive or SharePoint.

Hope this helps!

Thank you!

Currency and Exchange Rate fields in a Dynamics 365 CRM entity | [Quick Tip]

Ever noticed why some entities have Currency (transactioncurrencyid) and Exchange Rate (exchangerate) fields and some don’t? Here’s why –

Default Scenario

Here’s what you see when you create a new custom entity –

  1. By default, if you notice – there are not Currency or Exchange Rate fields in this newly created custom entity.

When Currency and Exchange Rate fields are created?

So, here’s when the Currency and Exchange Rate fields are created –

  1. When you create your first Currency type of field in the entity as show below, the Exchange Rate (exchangerate) and Currency (transactioncurrencyid) fields are created in the entity –

  2. That’s why you see Currency and Exchange Rate fields in some entities and not in all.

Hope this quick tip helps you in some way!

Thank you!

Enable Modern Controls for Canvas Apps in Power Platform

Now, Modern Controls have been recently announced, here’s how you can check them out.

Enable Modern Controls in Canvas Studio

By default, they are turned off, you need to explicitly enable them for your Canvas App.

  1. Modern Controls are not enabled by default as they are still in Preview as of the time of writing this post.
    Hence, you can see the Classic Insert menu as below.

  2. Open Settings in your Canvas App Studio editor

  3. Now, look for Experimental Features and look in the Preview section (You can also search ‘modern controls’ using the Search in this window to find the option quickly)

  4. Now, you can Save the app and do a full-page refresh if required. You’ll now see Modern Controls alongside the Classic ones in your Power Apps Editor.

Now, you can play along with these and test them out!

Microsoft Documentation on Modern Controls: Overview of modern controls in canvas apps (preview)

Thank you!

Configuring Power Apps Assets for Internal Documentation and help for Makers | Power Platform

As you organization grows, more developers join and look for help in order to get help on some of the best practices or advise on how to get the Apps developed the right way.

Power Apps Assets comes to rescue when finding important touch-points for sources of information within the organization.

Configure Power Apps Assets at the Org Level

Here’s how you can configure the Power Apps Assets at the Org level first in order to make them available for Makers in the environment –

  1. You can navigate to Power Platform Admin Center (https://admin.powerplatform.microsoft.com/) and expand Resources to find Power Apps assets

  2. Here, you’ll find that you can add links to Internal Resources and Advisors for the Power Apps.
    I can add Documentation, a Teams Group and a Yammer Community for Power Apps.
    Documentation – Ideally, you can add a link to a place where Makers should be able to find links to the best practices followed at the Org.

    Teams Group – You can have a Teams channel dedicated to helping Makers for any technical queries for new Makers.

    Yammer Community – You can make an internal community of Yammer and add link here so that Makers can reach out to Community for any help.

  3. Given that you know how to get links to these resources like getting the link to a Teams Group, SharePoint Repository and link to a Yammer Community, you can add these to the Power Apps Assets and save the Settings.

  4. Now, let’s add Advisors to the Advisors section. And you can add Advisors as shown below. Process is same as adding users to any area in Power Platform based on their Name/Email.

  5. Here, you have set the Power Apps Assets. Now, Makers are ready to utilize it.
    Here’s a post on how to enable Users for Power Apps Advisors: Enable yourself as a Power Apps Advisor

  6. Once a team member have made themselves for Advisor, they’ll show up as available in the list.

Utilizing Power Apps Assets

Now, that we have set the Power Apps Assets in the Power Apps Admin Center, we are ready to utilize the same. Given the scenario where the Makers are in a Canvas App building an App, here’s how they can utilize these resources –

  1. Example, Priyesh is logged in to Canvas Apps studio and needs help in starting the development process.

  2. Now, you’ll see a Power Virtual Agent in the Canvas Apps Studio, click on it to be able to access Power Apps assets.

  3. When you click on this button, you can enter some initial search term like Internal Resources. The bot will try to find anything matching your keywords.
    When it doesn’t find you can choose to not rephrase and let the bot give you other options to explore.

  4. Now, the bot will further ask you if you want to explore anything within the organization itself or not. Choose yes.

  5. When you click on yes, you’ll see the Power Apps assets show up.
    Also, an option to connect with an Advisor will be available.

  6. When you click on the links listed as Assets, they’ll open up the areas which you entered in Power Apps assets.

  7. Further, when you click on Advisor you’ll see which all Advisors are available to help you out.
    I had enabled CRM Admin user as an Advisor.
    So, the logged in user can choose to seek help from CRM Admin by sending them a message based on preferences set by the Advisor themselves when they made themselves available for advisory.

  8. Now, when you click on Send Message (given that the preference to reach out to advisor was set as Teams), a Teams message window will be opened for you to send in your message to them.
    You can send them a Teams message like you would for for any other user.

And that’s how Power Apps assets could help you out.

Hope this helps!

Thank you!

Enable yourself as a Power Apps Advisor

Now, Power Apps (https://make.powerapps.com/) allows you to make yourself available as an Advisor for other Power Apps makers –

Enable for Advisor Program (Preview)

Given that this feature is in preview at the time of writing this post –

  1. When signed into Power Apps Maker portal, you can expand the Settings pane and look for Power Apps settings.

  2. In Power Apps settings, you’ll find that a new section has been enabled.
    you’ll find that Advisor program is a new section (Preview at the time of writing this post). The default will be set to Not currently available since the program wouldn’t want it to be enabled for all by default and should be an opt-in.

  3. Now, once this enabled, you can choose if the mode of the communication should be Email or Microsoft Teams.

  4. Once you made yourself available for Advisory, you will be shown as Available in Advisors in the Power Apps Assets section.

This way, other Makers in the environment will be able to reach out to you in order to seek for help in their App making journey.

Hope this helps!

Thank you!

Create Dataverse Virtual Table from SQL in Azure | Power Platform

Now, you can create a Dataverse virtual table by referencing a SQL Table. This is an easy way to bring in schema from your SQL Table in use and make it into a Dataverse Table.

Let’s see how.

Create SQL Connection Reference

First, let’s create an SQL Connection reference in Power Platform –

  1. Go to Connections, create a new Connection.

  2. Now, you can select the authentication type as SQL Server Authentication. You can choose based on how your setup is, but if you want to quickly test this feature, you can follow this process.

  3. Then, you need to fill in the Server Name and Database Name.
    You can get the Server Name from here in the Azure Portal. You’ll find a Server name in the SQL Server details.

  4. And Database Name under the Server itself as

  5. And fill out the information as below.

  6. Further, if you scroll, you’ll need Server Admin name which will be on the Server itself.

  7. And fill the same in the fields below in the connection dialog box. Finally, click Create.

  8. Connection is now created.

Create Table

Here’s how you can create a virtual Table in Power Apps Maker (https://make.powerapps.com/) –

  1. Once you are in Power Apps Maker, go to Tables and you can drop down from Create Table menu.

  2. You’ll see option to Create by connecting to external source.

  3. Now, you have 2 options at this point of writing this blog. One is SQL and other is SharePoint. We’ll select SQL for this example. Both also use the connection you are logged in.
    You can select the connection we created in the steps above.

  4. In the next step, you’ll see the Tables from SQL. In this example, our table is student.

  5. When you click Next, you’ll see the columns from SQL

  6. Once everything looks good, you can then click Next. Finally, you’ll see he summary of the Dataverse virtual table to be created.

  7. And finally, the Table will read the data from SQL and display here. The data will not be synced back to SQL.


In case you also want to know how to convert a SharePoint list to Dataverse table, you can refer this post – Create Dataverse Virtual Table from SharePoint List | Power Platform

Hope this helps!

Thank you!