Comments in Power Platform [Preview] | Power Automate example

Here’s a new feature across Power Platform stack i.e. Power Apps / Power Virtual Agents and Power Automate


Let’s consider an example of a Flow / Power Automate for the Comments

  1. In a Cloud Flow, now you’ll see a Comments (preview) show up.

  2. When you click on it, Comments pane will open up letting you add Comments to the Flow.

  3. And just like in Word, you’ll be able to enter comments for the Flow. These comments are added pertaining to the selected Flow Step or the first Flow Step by default.
    Click on the send button to add the comment.

  4. Now, once a comment is added, a counter/badge of count of comments will appear on the Step the comment is tied to.

  5. As you proceed, multiple users can add their comments to different steps. (Ideally, since I added 2 comments to the second step, both should be highlighted. This could be in preview and in the works). I’ll update this space again as I have more info

  6. Similarly, a thread looks like the one highlighted on the right and if you notice, the Flow Step too will lit up a little to denote which step the comment thread belongs to.
    Also, a comment thread is treated as count of 1.

  7. For each thread, you have the below options per thread/comment.

  8. And if you Resolve a comment/thread, notice that the counter from the Flow Step is discounted/removed and the comment thread is marked with Resolved tag on the top.

    Also, the step it belongs to is highlighted a little and is slightly difficult to identify right away
    Perhaps this behavior could be changed in the future once in GA.

  9. Once a thread is Resolved, it could be Reopened or Deleted as the icons suggest.

Hope this helps!

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

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

Thank you!

Performance Insights for Model-Driven Apps | [Preview]

One of the important aspects of ‘User Adoption’ is also ensure that the Model-Driven App you’ve designed for your Org’s Users stays optimized and ensures the users get the best of it.

Let’s see how we can utilize Performance Insights to help us optimize our Model-Driven App!

Performance (Preview)

Performance Insights is in Preview and here’s how you can access the same.

  1. Go to

  2. Now, in your Apps below, select the Model-Driven App you want to view Performance metrics of.

  3. Now, once you open, you’ll see the metrics as below

    Let’s understand how you can read these metrics and take actionable actions on the same.

Understanding the Insights

These insights are categorized based on severity. Let’s see which needs your attention the most –

  1. The Insights can be narrowed based on the timeframe of 24 hours, Unfortunately, I have only 1 Date to show in my case.

  2. I recommend paying special attention to the ones with Warning on them

  3. Now, looking at the first one for example is PluginTraceLog which I left ON while I was working on Plugins on this environment in the App.
    So, if I select the first one

    The right hand pane will detail out what the issue is and what Area to focus on.

  4. Also, if you look at the How to improve part, it’ll point you to the Microsoft Docs for the suggested workaround/action.

    It’ll take you to the Microsoft Docs section of the particular issue in question –

  5. In case you have a new environment and didn’t work inside the App significantly for a particular time frame, you’ll see this message.

    Here’s the complete Microsoft Docs article on the detailed Performance Insights for Model-Driven Apps –

Here are some more Model-Driven and Canvas Power Apps posts you might want to check out –

  1. HTML Text control in Canvas Power Apps | Power Platform
  2. Disable Recent Records from Dynamics 365 Lookup Control | Model-Driven Apps [Quick Tip]
  3. Advanced Lookup in Model-Driven Apps | Power Platform
  4. New App Designer for Model-Driven Apps | Power Platform
  5. Rich Text Control for Canvas and Model-Driven App | Quick Tip
  6. Form Access Checker in new Power Apps Form Designer | Model-Driven Apps in Dynamics 365
  7. How to add Rating Values to Rating Models in D365 Field Service and PSA
  8. Log Canvas Power App telemetry data in Azure Application Insights | Power Apps
  9. Transition effect on Gallery Items when hovered over in a Canvas Power App | [Quick Tip]
  10. Retrieve Hashtags from Text in a Canvas Power App | Power Platform

Thank you!

There are missing dependencies. Install the following solutions before installing this one: “Active” | Connection References missing in Power Platform Solution

While importing and Unmanaged Solution into another environment, you must’ve come across these error messages like “There are missing dependencies. Install the following solutions before installing this one: “Active”

Now, there are various factors as to why this error is seen. I’ll try to cover one of them. Missing Connection References! Let’s take a look.

So, out of other reasons, one could by that there are some Flow’s Connection References that are not yet added to the Solution when it was exported out.

Error on Import

Let’s say you trying to import this Unmanaged Solution in an environment.

  1. This is your Source Solution which you want to Export and Unmanaged and Import into other environment.

  2. You see the following error on Import.

  3. Now, there are many other reasons why you are getting this error. But, in this case, it’s about missing Connection References from the Source Solution

Adding Connection Reference

In my case, it was missing adding the Connection References in the Source Solution, so here’s what I did –

  1. Go to the Add existing in your source Solution

  2. Look for Connection Reference (preview)

  3. When I add that, I can select what all Connection References are available to add.
    Here, you’ll have to select all those Connection References which you have utilized in your Solution Components.
    To understand more on Connection References, here’s a post by Alex Shlega’s posts on Connection Reference –

  4. When you click that, it’s added behind the scenes. Now, export the Unmanaged Solution again.

Re-Importing into Source Instance

Now, In your Source Instance, re-import this newest Unmanaged Solution.

  1. Now, importing the version, you’ll see no issues.

  2. And when you click next, you’ll be asked to Create a Connection right away

  3. In this example, I’m supposed to create a CDS (Current Environment) connection. Because that’s what I had selected as a Connection Reference while exporting from the Source Instance.

    Skipping a few intermediate steps. My connection is created as below.

  4. Going back to the Import tab where I was importing the Solution, I’ll just refresh as directed.

  5. Any my Connection is available.

  6. I can just continue to Import as usual and it’ll be imported.

Hope this helps!

Here are some more Power Platform related posts you might want to check out –

  1. Using triggerBody() / triggerOutput() to read CDS trigger metadata attributes in a Flow | Power Automate
  2. Send a Power App Push Notification using Flow to open a record in Canvas App | Power Automate
  3. Count of total CDS records returned in a Canvas Power App connection [Quick Tip]
  4. Call HTTP Request from a Canvas Power App using Flow and get back Response | Power Automate
  5. Implement character length validation in a Canvas Power App | Power Platform
  6. Accept HTTP Requests in a Flow and send Response back | Power Automate
  7. Terminate a Flow with Failed/Cancelled status | Power Automate
  8. Generate Dynamics 365 record link in a Flow using CDS connector | Power Automate
  9. Launch URL on a Data Table Text column selection in a Canvas PowerApp | SharePoint Lists
  10. Get Dynamics 365 field metadata in a Canvas App using DataSourceInfo function | Common Data Service
  11. Call a Dynamics 365 Action from Flow [Bound and Unbound Actions] | Power Automate
  12. Setting Retry Policy for an HTTP request in a Flow | Power Automate

Thank you!!

Variables in Canvas Power Apps | Global and Context

For all newbies, being able to use Variables is one the most curious questions put out immediately. Here’s a simplistic example of using Variables, both Global and Contextual in this post.


Global Variable

Global Variables as the name suggest, run through the entire App itself and can be changed and altered when needed.
Global variables can hold boolean, string, number etc.

  1. Let’s say, I have a Text field called GuestNameField
  2. Global Variables are created and set by using Set(variable, value) function.Now, on the OnChange event of the GuestNameField above, I’m setting the variable by the formula Set(guestName, GuestNameField.Text). Where, guestName is the field I created on the fly and I’m setting the text from the GuestNameField textbox whenever the Textbox will trigger OnChange Event.
  3. And I have a Label called as DisplayValue which will read from the variable and set it’s text.
  4. Now, when I run the app and type the name, and when I release the focus on the text box, the
    And when the focus from the TextBox is released, OnChange of the TextBox will trigger and the Label will display the text written since it’s reading the value from the variable

Context Variable

Now, a variation to the Context Variable from the Global Variable is that the Context variable have the scope of the only the current screen they are declared in. Navigate function is also a form of Context variable in which case, you can pass values to other screens.

Context variables can hold strings, numbers, records and tables.

  1. Now, in case of Context Variables, you use UpdateContext({variable: value}) in the formula.
  2. And is accessed/read by simply writing the name of the variable directly
  3. And it behaves in the same way, you write something and it can be read
    And displayed below as seen in the above Global Variable example

Checking your Variables

In case you’re wondering you’ll lose track of your variables, you can check the File menu and access the Variables section as shown below

Global Variables as marked above can be accessed in their own section
And if you open any of those, you can see and even navigate to where they are used.

Similarly, for Context Variables are denoted by the Screen names they are in.

I tried to summarize this on a high level. You can refer this Microsoft Documentation for details Understand canvas-app variables in Power Apps.

Hope this was easy!

In case you are looking for more post related to Canvas PowerApps, here you go –

  1. Get N:N records in a Canvas Power App using Common Data Service connector | Power Platform
  2. Adding a Canvas PowerApp to Teams
  3. Correctly connect to an Excel file in a Canvas PowerApp
  4. Sending Image from Canvas PowerApps to SharePoint Document Library using Flows

Thank you!

Get N:N records in a Canvas Power App using Common Data Service connector | Power Platform

One of the most common asks when using CDS as Data Source in a Canvas Power Apps is – How do I get the data from N:N entities?

Well, I’m attempting to explain this in the easiest way possible.


Let’s assume Account entity has an N:N relationship with Account Plans entity

Account <–N:N–> Account Plans.

And in Dynamics 365, you simply add these records by going into related records and adding them using Add Existing button

And now, you want to access this data for a record in a Canvas Power App? Correct? Let’s get going with it.

Enable the Entities involved

In this example, the entities involved are Account and Account Plans

  1. Accessing data for N:N entities require the entities to be enabled for Change Tracking. Let’s check that in CDS
  2. And also the same thing for Account Plan entity as well

Reading Data in a Canvas Power App

I’ve kept the presentation of my Canvas Power App very crude, please excuse me for that.

Scenario: Now, let’s say you want to see the N:N data on selection of a record i.e. on selection of Account, you want to see what all Account Plans are added to that Account.

  1. Now, to demonstrate this, I’ve taken 2 galleries i.e. AccountGallery to show list of Accounts
  2. And probably a list to just display what Account Plans are added (You can have any other control depending on what you want to do with these records). I’ll call the table AccountPlansTable
  3. And my formula to display the N:N records will be –
    AccountGallery.Selected.’Account Plans’
  4. Now, you’ll need to add what fields should be shown from Account Plans entity to identify the records. Well, obviously, Name field is the most relevant here.
    I’ll click on Edit Fields for the AccountPlansTable
  5. And add the name field from that entity
  6. Once this is set, my App is ready to run

Accessing the N:N records

Let’s run the app and see how we can read these N:N records
Once I click on ABC/1/2&3, I can see the related N:N records in the DataTable below
Simple enough!

Here are some more posts you might like –

  1. Create your first PowerApp! Connect to SharePoint Online List
  2. Dynamics 365 Solutions’ New Experience in Power Apps, Solution Checker and more
  3. AutoNumber field in CDS | PowerApps
  4. Sending Image from Canvas PowerApps to SharePoint Document Library using Flows

Hope this helps!!

Dynamics 365 Solutions’ New Experience in Power Apps, Solution Checker and more

If you’ve recently noticed Settings > Solutions area in Dynamics 365, you’ll see a notification that this has been moved

And you’ll be redirected to Solutions Area in Power Apps –

Solution Checker

Solution Checker is a helpful feature where it runs a validation of components in the Solution itself –

  1. If you see for your custom Solutions, if you haven’t ever Run a check on the solution, the status will be Hasn’t been run
    I’ll zoom it below –
  2. Now, you can run the Solution Checker against your entity to find potential issues and add/remove component that matter.
  3. Once the Run starts, it will show the status of Running… for the solution as well as in the Power App ribbon.
  4. Once the run is complete, you can see the time stamp it completed on and also View/Download the results –
  5. You can see the results as below –
    So basically, it’ll show what best practices should be followed in order for the Solution to be meeting highest standards of configurations and customization.
  6. Another example from another solution is this –
  7. Or something like – under Upgrade Readiness category

    Full details can be found here on Microsoft’s official document –

Solution Export Versioning

Now, every time you export a solution, by default it is set to Managed unlike Unmanaged in the Classic UI.

Also, notice the Version number is auto-incremented to x.x.x.1

And in further exports, the version keeps on auto-incrementing

Hope this helps!!

Retrieve only active Dynamics 365 CE licensed Users in CDS connector in Power Automate

Let’s say you have a requirement where you want to work only on Dynamics 365 and you are using Office 365 Get User Profile action to retrieve all users.

In this example, I have some Dynamics 365 Customer Engagement licenses assigned to uers. And I want to retrieve only the Active D365 Users in my Common Data Service Connector.

Here’s how I do it –

Retrieve Users with Filter Condition

Now, the best thing you could do is identify what is the userlicensetype field of other Dynamics 365 users you might have retrieved in your previous executions.


I’ve used the query userlicensetype eq 6 to query for Active D365 users

If you want to retrieve Users who have been Disabled, you can check by using userlicensetype eq -1

Note: You’ll need to check the respective values for other users who have licenses like Team Member or Sales Professional. Since I haven’t tried those, I don’t have their exact number codes. Best way is to identify a user whose licence configuration you are looking for and look for their userlicensetype field value in Flow.


This gave me only those users who have D365 Customer Engagement License assigned to them

And if I look at my O365 Portal, I can see that 4 users have the Dynamics 365 Customer Engagement License

There are even more ways you can use to identify for different licenses used. I recommend it’s good practice to retrieved only those users which are needed for your operation.

If you’re also looking to secure the Input/Output data in Flow, refer this Secure Input/Output in Power Automate Run History

Hope this helps!

Button Flow in Power Automate to replicate a Quick Create Form in D365 CE

I wanted to try a quick example of a Flow Button. I thought, why not make a simple Quick Create like form to enter data in Dynamics from Flow itself? So here’s a little form I did –

Create Button Flow in Power Automate

Now, let’s start of by creating a Flow button itself.

  1. Choose the template to create a Flow button.
  2. And give a suitable name and select the Flow trigger which is a button
  3. Now, select what input controls you want to add to the Flow Button. Click on Add Input and then select the Input you want to start off with
  4. Now, since in this example, I’m trying to create a simple Quick Create like form for D365, I’ll choose the most obvious fields I want and create the inputs as below
  5. Further, I’ll connect the same to CDS and Create a record in Dynamics using the input I receive from the Flow button, so – my CDS mapping in the Flow below looks like this –
    I’ve mapped the Company Name and Annual Revenue fields.

    And now, I map the remaining Email address field to create my record.

    My Flow is now ready and after testing it, I’m ready to use it on my phone.

Run the Button Flow on Phone

On the phone app, make sure you have access to the Flow and navigate to Buttons on the screen-

  1. In Power Automate app, open the Buttons section and check for the Flow Button you created – Create Account in this case –
  2. Once you push the button, you’ll see the form you created with the input fields
  3. Finally, when you fill out the form, you’ll simply need to hit Done and that should be it.


Check the Record in D365

Now, if you check in Dynamics, the record must’ve been created already!


Hope this quick tutorial helps!!

Create new Sandbox and copy Production over to it in PowerPlatform Admin Center

This is one of the standard approaches if you want to copy over a Production instance over to a Sandbox one. Most common scenarios being when you’ve on-boarded a new client to Dynamics 365 / PowerPlatform and you’re nearing Go Live for the first time!

You need a Sandbox to then follow new customization on the Sandbox and avoid doing anything on the Production. Here’s how you copy over from Production to Sandbox!


Creating a Sandbox

  1. Create a new Environment by clicking on the +New button as below
  2. Now, you can directly create a new Sandbox environment in the PowerPlatform Admin Center (
    Remember: Both the source and target environments need to be in the same region to copy.
  3. Additionally, I’ve selected the Create a Database option too since I want to speed up the process.
    Note that you can chose which all apps you want to deploy if you chose Enable Dynamics 365 apps

And that’s it. You’ll need to wait for some time until this is processed!

If you’re also looking to create a Database explicitly for an existing environment using a previous method, you can check this post – Create new CDS Environment and Database quickly from PowerApps Admin Center

While this happens in the background, you can see the message on the Environments section on the Power Platform Admin Center


And upon completion, you’ll see the below message

Copying From Production to Sandbox

Next step is to copy over the Production to the newly created Sandbox environment.

  1. Select the Production environment you want to copy over and look at the ribbon, you’ll see a copy button.
  2. Once you click on the Copy, you’ll be asked about the target environment, chose the created Sandbox.
  3. Once you confirm, the copying process will start. And you’ll be taken to this page which tells you what stage the process is in –
  4. Once all the copying is completed, this notification will appear. Now, the next step is to turn off Administration Mode. Click on settings link as shown below by arrow.
  5. Once you flick the switch and Save, Administration Mode will be disabled letting others to log in as well. Additionally, now we have the option to keep Background Operations On as well while keeping Administration Mode On as well.

Now, you are all set. Hope this helps!

Early Opt-in for October 2019 Wave 2 Updates

August 2, 2019 was when the Wave 2 Updates were to be out. And here we are! By now, you should have gotten the option to update the wave 2 updates on your environment(s).

Let take a quick look at how you can enable this for your environment.

Here are the details Microsoft notes on the Early opt in to 2019 release wave 2

Enabling Wave 2 2019 Updates

Visit (PowerPlatform Admin Center) and go to Environments.

Select the environment

Check that the updates are available for Activating. Initially the 2019 release wave 2 updates will appear Off. Click Manage.
Please note that you should try this on the Sandbox first before opting to apply on Production directly.

Click on Update now


Click Confirm.

And the Updating will start in a few moments.


You’ll see that the Apps are being updated as shown below for a few hours

As and when each of the apps complete, it’ll show progress as below

Once complete, this will be the status

2019 Wave 2 Updates Applied

Once completed, you can log into Dynamics and check the About section to find out that the updates have been applied

Here’s what everything’s included in the 2019 wave 2 updates: 2019 release wave 2 features available for early access

Happy 365ing! Hope this helps.