Primary Key of Activity type entity in a Dataverse connector in Power Automate | Quick Tip

In case it’s your first time creating a Cloud Flow using Dataverse connector and dealing with Primary Key of the Activity Type of entity, here’s a quick tip to keep in mind.

Normal Entity

As a creator for Flow, let’s say you have listed Records of an entity called as Accounts (out-of-the-box), you’ll notice that the name of the entity

Activity Entity

Now, if you try to search for the Name of the Activity entity, it won’t appear as it does for other entities, instead just search “Unique” and you’ll find an entry for Unique identifier of the activity entity –

  1. Name of my Activity entity is ‘Snapshot’, but it doesn’t show up when I search Snapshot.

  2. So instead, just search “Unique” or “Identifier”

  3. On the contrary, out-of-the-box entities have their own names named as Primary Keys

Here are some more Power Automate / Cloud Flow blogs you might want to check –

  1. Split On in Power Automate in SharePoint trigger for Item updates
  2. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  3. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  4. Invalid XML issue in Dataverse connector for List Rows action | Fetch XML Query | Power Automate
  5. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  6. Invalid type. Expected Integer but got Number error in Parse JSON – Error at runtime after generating Schema | Power Automate
  7. Asynchronous HTTP Response from a Flow | Power Automate
  8. Converting JSON to XML and XML to JSON in a Flow | Power Automate
  9. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  10. Tag a User in a Microsoft Teams post made using Power Automate

    Thank you!

HTML Text control in Canvas Power Apps | Power Platform

As simple as a Label control, but supporting HTML formatting to it.

That’s HTML Text control in Canvas Power Apps. Let’s see how you can work with it.

HTML Text Control

Just like a Label control, you can pick and use the HTML Control from the Insert Menu.

In my simple use case, I’m using this to show the Ticker Symbol field from Dataverse in HTML formatted label i.e. HTML Text Control.

  1. Select the HTML Text from the Insert panel and it will appear where you want. In my case, in Gallery rows to show some data.


  2. By default, it will show you default values before you can start modifying the same.


  3. Then, since my use case is to dynamically have data in the HTML Text control, I’ll use the Concatenate method to form my HTML String.
    My HTML string contains some static text and then adding dynamic data to it for each row.



  4. Now, once I run the App, I’ll see how the HTML formatting with enrich the text displayed.


Usage

Interactive elements below are not supported.

  • <button>
  • <a>
  • <input>

Here’s the official MS Docs link for the same: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/controls/control-html-text?WT.mc_id=DX-MVP-5003911

Hope this helped!

Here are some more Canvas Power Apps posts you might want to check –

  1. Transition effect on Gallery Items when hovered over in a Canvas Power App | [Quick Tip]
  2. Navigate Screen automatically based on Timer in Canvas Power App | Power Platform
  3. Search on multiple columns from a Dataverse table in a Canvas Power App Gallery control | Power Platform
  4. Call a Flow from Canvas Power App and get back response | Power Platform
  5. Enable Custom Code Components (PCF Controls) to be imported in a Canvas Power App | Quick Tip
  6. Retrieve Hashtags from Text in a Canvas Power App | Power Platform
  7. Rich Text Control for Canvas and Model-Driven App | Quick Tip
  8. Setting Correct Default Mode for Forms in a Canvas App | [Quick Tip]
  9. Rating Control to represent data from Dataverse in a Canvas Power App | Power Platform
  10. Clear a field value & Reset Form in a Canvas Power App [Quick Tip]
  11. Get Dynamics 365 field metadata in a Canvas App using DataSourceInfo function | Common Data Service
  12. Implement character length validation in a Canvas Power App | Power Platform

Thank you!

Single record and multiple record auditing in Dynamics 365 to Audit record access | M365 Compliance

One of the most important asks for organizations who are sensitive about tracking their data is – Which records are accessed by the user?
There’s a powerful tool in Compliance Center i.e. Audit that can record this as to when a certain D365 record was accessed and all the details about the same.

What is recorded?

Single record – Only access to Dynamics 365 record opening will be audited/captured.

Multiple record – Access to Dynamics 365 record as well as other controls that were in context of the record like sub-grid controls, timeline controls etc. will be audited/captured.

Pre-requisites

  1. The User whose D365 Record Opening activities are to be logged must either have a O365 / M365 Enterprise E3 / E5 License assigned to them.

  2. The environment should be a Production one.


Turn on Recording of Audit (Dynamics 365 & M365 Compliance Center)

Now, to be able to record Auditing of User Record Access, you’ll need to make sure the Auditing is turned ON at these places –

  1. In Dynamics 365, make sure the Auditing is turned ON at the Global Level and that Audit Read Access is enabled too.


  2. Next, make sure the entity’s whose record access you want to capture should have their Auditing as well as Single and/or Multiple Record Access Auditing turned ON as well.


  3. Now, the M365 Admin Center (https://compliance.microsoft.com/) should also be enabled for recording the Audit of User access. This will start recording User and Admin Activity.


    It’ll ask for confirmation and then start updating. In my experience, this failed a few times and I wasn’t able to know for sure when it actually got enabled.


    Then, it takes a few moments


    In my case, this resulted in an error.
    Now, I’m not sure if I missed anything although I made sure everything was correct. And when I checked after some time, it was enabled even without me retrying it. But it could just be for me and might work correctly for you.


Recording of Auditing

Let’s test a scenario where a User is not an Admin User and they try to access the Account record on which we’ve enabled Single and Multiple User Access Auditing –

Please note that it takes about 3-4 hours to the log information to be available in (https://compliance.microsoft.com/homepage)

  1. Now, if you navigate to Audit and search.



  2. Make sure your criteria is as narrow as possibly by including only the user you really want to find if that’s the case
    In my scenario, I was logged in as Priyesh Wagh user and opened a record in CRM.

    So, just to look at what all was logged, my search criteria will look like this –
    I’ll make sure All Dynamics 365 Activities is selected if you want to look at everything which is D365 CRM related.



  3. Next, since I’m only looking for my own user who opened the CRM record, I’ll search and select the user in the below filter.
    Not to mention the time frame is also narrowed to get limited results. 😊


  4. Here, my results will show up.


    If I zoom on in, I’ll see the different types of logs that are filed in the Compliance Center – The retrieve Account is the actual record where all the other events are registered based on the different controls that were loaded when I opened the record itself.
    In my experiment, I opened the same record twice, so it recorded the Retrieve account twice along with other event logs.


  5. If I open the record, I’ll see this info about everything that was tracked along with the link to the record as well –

You can refer the full Microsoft Docs reference – https://docs.microsoft.com/en-us/power-platform/admin/enable-use-comprehensive-auditing?WT.mc_id=DX-MVP-5003911

Hope this summary was useful!

Here are some more Dynamics 365 Administrator related posts you might want to check –

  1. Enable Plug-in Profiler in Settings area in SiteMap in Dynamics 365 | [Quick Tip]
  2. Disable Recent Records from Dynamics 365 Lookup Control | Model-Driven Apps [Quick Tip]
  3. Language format for Whole Number field in Dynamics 365 CE
  4. Custom Help Pages and Guided Tasks for Unified Interface in Dynamics 365
  5. Make Managed fields Required in Dynamics 365 – Managed Properties Error [Workaround] | D365 CE Quick Tip
  6. Sign up for a Dynamics 365 Project Operations (Lite Deployment) environment and provision a new instance | Power Platform
  7. Show custom ribbon button based on Security Role of the logged in User in Dynamics 365 | Ribbon Workbench in XrmToolbox
  8. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  9. Duration field in Dynamics 365 converts Hours value to Days in Dynamics 365 | [Flow Workaround to convert in Hours and Mins]
  10. Form Access Checker in new Power Apps Form Designer | Model-Driven Apps in Dynamics 365

Thank you!

Split On in Power Automate in SharePoint trigger for Item updates

Let’s consider this scenario where you have a SharePoint List and you need to Bulk Edit the same which triggers a Flow.

How would you want to capture the record updates in Flow Runs – Individually? Or all in an Array?

Let’s see how this can be done!

SharePoint Trigger in Power Automate

Let’s see what trigger is being used on which I can choose to have Split On in case of Bulk Update of Item Changes.

  1. In Power Automate, you can search for SharePoint and you’ll find the trigger on which for Item Update in SharePoint.

  2. Now, since I have a List called 2021 Onboarding in my SharePoint in the Site called Data Store Internal


  3. And this Flow will be triggered whenever there’s an Update to the Items on the List I’ve mentioned above.

Split On

Let’s look at what options are available us to toggle between having Split On and Off and what the results are –

  1. Go to the Settings of the Trigger to access the Split On setting toggle.


  2. You’ll see the Split On is set to ON i.e. as per below –


  3. Given that this can be turned ON and OFF, we’ll look at the difference between the two results when you Bulk Edit SharePoint Items which will initiate this trigger.

Example: Split ON

Now, let’s review how having Split On will affect the results.

  1. Now, let’s see Flow Runs are recorded when Split On is set to ON and the Split is on Body/Value


  2. Now, when I modify multiple items in SharePoint, say, the Group Code field in my SP List as below –


  3. Then, there will be 2 different Flow Runs.


  4. Now, if you look at the results, the way these exist per Flow Run is as follows. And for each record, this is the case –

Example: Split OFF

Now, let’s review how having Split OFF will affect the results.

  1. Now, once the Split is OFF and you Bulk Edit the records.


  2. And when you Bulk Edit the List in SharePoint the same way as you did above,


  3. Only 1 Flow Run will be created as shown below –


  4. And, if you open the results, you’ll see the multiple items in the body – value (Array of each record as value in the body) which were modified.


Hope this was useful!

Here are some more Power Automate / SharePoint Online posts you might want to check –

  1. Admin Center URLs under M365 – Power Platform, Teams, SharePoint, Power BI
  2. AddColumns() function to dynamically add columns to a Data table in Canvas Power App | SharePoint List
  3. Launch URL on a Data Table Text column selection in a Canvas PowerApp | SharePoint Lists
  4. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  5. Advanced Lookup in Model-Driven Apps | Power Platform
  6. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  7. Adaptive Cards for Teams to collect data from users using Power Automate | SharePoint Lists
  8. Aggregate functions in a Canvas Power App | Using on SharePoint Lists
  9. Save generated PDFs to SharePoint directly – 2020 Wave 1 | Early Access Feature
  10. D365 Ribbon Button shortcut to open a Document in SharePoint Online

Thank you!

Enable Plug-in Profiler in Settings area in SiteMap in Dynamics 365 | [Quick Tip]

In case you are wondering why Plug-in Profiles under Extensions and Extensions itself don’t appear in your SiteMap because you want to debug from the Persist To Entity option?

But your Settings area still looks like this and don’t see Plugin-Profiles?

Install Plugin Profiler

You’ll need to install Plugin Profiler.

  1. Open Plugin Registration Tool and login to the environment.
    You should see an Install Profiler button. That’s the reason the Profile is not yet installed on the environment and it’s now showing in SiteMap.


  2. Now, when you click on Install Profiler, it’ll install the Profiler to the environment.


  3. Once this is installed, you’ll see it show in the SiteMap in Settings area.


  4. Also, if you notice the Solutions, a Managed Solution would also be installed which will SiteMap (it indicates the update that Plugin Profiles has been added to the SiteMap)


  5. Also, if you Uninstall the Plugin Profiler, the Managed Solution will be removed and also this will take Plug-in Profile off the SiteMap.
  6. Also, there’s another way to remove the Plugin Profiler – Workaround to get Plugin Profiler from the Unified Interface in D365 CE

Hope this was helpful!

Here are some more Dynamics 365 Admin related posts you might want to check –

  1. Disable Recent Records from Dynamics 365 Lookup Control | Model-Driven Apps [Quick Tip]
  2. Language format for Whole Number field in Dynamics 365 CE
  3. Custom Help Pages and Guided Tasks for Unified Interface in Dynamics 365
  4. Make Managed fields Required in Dynamics 365 – Managed Properties Error [Workaround] | D365 CE Quick Tip
  5. Sign up for a Dynamics 365 Project Operations (Lite Deployment) environment and provision a new instance | Power Platform
  6. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  7. Show custom ribbon button based on Security Role of the logged in User in Dynamics 365 | Ribbon Workbench in XrmToolbox
  8. Make On-Demand Flow to show up in Dynamics 365 | Power Automate

Thank you!

Action.ShowCard vs Action.ToggleVisibility in Adaptive Cards | Microsoft Teams

If you are new to Adaptive Cards, it may come across that Action.ShowCard and Action.ToggleVisibility seems to do the same thing.

But let’s look at the difference between the two!

To

#ActionDescription
1ShowCardShows or Hides a Card Structure enclosed on ShowCard Action
2ToggleVisibilityShows or Hides individual elements based on their IDs

Action.ShowCard

Below is JSON to understand the structure of how ShowCard Action exists and how it will function

  1. ShowCard is a standalone ‘Card’ within an Action Element CardAction.



  2. Now, let’s see how it works. When the Card is not shown, only the button will appear like any other Action button in AdaptiveCards.


    And when you click on it, the Show Card action will reveal the Card that is structured under it.

Action.ToggleVisibility

Similarly, let’s look at how ToggleVisibility will work as opposed to Show Card.

  1. The JSON structure for ToggleVisibility in ActionSet is as follows –
    Notice that the type: Action.ToggleVisibility



  2. Now, the “targetElements” in the above Action takes in array of Element IDs which should be toggled for Visibility.
    Since, I’ve mentioned only 1 element in it whose ID is “createdDate“, below is how the element looks and where you can get the ID from –


  3. Now, when I click on the button, it’ll consider all the element IDs mentioned in the array to toggle between Show / Hide.
    Before I click the button –



    And when I click on the button, the visibility is toggled to show this time –


  4. So as opposed to ShowCard, ToggleVisibility will toggle Show/Hide functionality of selected elements and not a Card structure that resides inside a ShowCard Action.

Placing Action Elements – ShowCard and ToggleVisibility

  1. By default, if you select an Action from the Elements menu on the left hand side, they’ll end up in the shown hierarchy.


    And the JSON for this will appear like this –

    The type of Element which resides in Body of the AdaptiveCard itself


    Zoomed Out, it’ll look like this –


  2. However, if you don’t wish to have it under an Action Set in the Body structure, you can place the type of Action whether it is ToggleVisibility or ShowCard in Actions section of the JSON as well.


    And this will exist in the Actions of the AdaptiveCard JSON and not in the Body as shown above.


Here are some more posts related to Adaptive Cards / Microsoft Teams which you might find useful –

  1. Save Adaptive Cards work using VS Code Extension – Adaptive Cards Studio | Quick Tip
  2. Adaptive Cards for Outlook Actionable Messages using Power Automate | Power Platform
  3. Visualize Adaptive Card for Teams user action within a Cloud Flow | Experimental Feature
  4. Adaptive Cards for Teams to collect data from users using Power Automate | SharePoint Lists
  5. Admin Center URLs under M365 – Power Platform, Teams, SharePoint, Power BI
  6. Tag a User in a Microsoft Teams post made using Power Automate
  7. Asynchronous HTTP Response from a Flow | Power Automate
  8. Using outputs() function and JSON Parse to read data from missing dynamic value in a Flow | Power Automate

Thank you!!

Disable Recent Records from Dynamics 365 Lookup Control | Model-Driven Apps [Quick Tip]

Let’s take a quick look on how you can disable the Recent Records from a Lookup Control in Model-Driven Apps

Scenario

By Default, here’s how the Recent Records are shown for a Lookup control –

And it’ll show all the Recent Records for the Entity

Form Settings

Here’s how you can disable the same in Form Settings for the Lookup Control –

  1. On the Field’s Properties, Disable this option called – Publish your changes and then check


  2. And then the Recent Option will be gone.

Hope this was useful!

Here are Canvas Power Apps / Model-Driven Apps which you might like –

  1. New App Designer for Model-Driven Apps | Power Platform
  2. Rich Text Control for Canvas and Model-Driven App | Quick Tip
  3. Form Access Checker in new Power Apps Form Designer | Model-Driven Apps in Dynamics 365
  4. How to add Rating Values to Rating Models in D365 Field Service and PSA
  5. Language format for Whole Number field in Dynamics 365 CE
  6. Custom Help Pages and Guided Tasks for Unified Interface in Dynamics 365
  7. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  8. Show custom ribbon button based on Security Role of the logged in User in Dynamics 365 | Ribbon Workbench in XrmToolbox
  9. Duration field in Dynamics 365 converts Hours value to Days in Dynamics 365 | [Flow Workaround to convert in Hours and Mins]
  10. Find deprecated JS code used in your Dynamics 365 environment | Dynamics 365 v9 JS Validator tool | XrmToolBox

Thank you!

Advanced Lookup in Model-Driven Apps | Power Platform

Here’s a super useful feature now available in Dynamics 365 for Model-driven Apps called as Advanced Lookups.

Turn on Advanced Lookup from Behavior Settings

You’ll need to go to the Power Platform Admin Center (PPAC) –

  1. Navigate to Behavior

Using Advanced Lookups

Here’s how the experience will be for you while using Advanced Lookups

  1. Now, once this is enabled, in Dynamics 365 – for example – a Parent Account lookup on Account will work as below –


  2. And it will open this dialog where you’ll see a much wider view of the Advanced Lookup and help your find the record using navigation/filtering options


    Denoted by Red arrow, you can even switch between different available System Views for the selected Table (entity).
    Denoted by Green, you can either create a record on the fly or filter to show only records that you own.
  3. Once you select to switch a view, you’ll be able to select between different System Views.




  4. And once you select a record (Of course you can only select 1 record at a time) and click done, it’ll be done.


    And it’ll be added to the lookup field as follows.


  5. Also, only the views which you’ve selected in your Model-Driven App will appear and not all. For Example, in the Sales Professional App, I’ve selected only a handful of views and not all. So, only those will show up.


  6. Also, please make sure when you select Views and not all, please make sure you do select the Lookup View


  7. Else, if you don’t select this view, it’ll result in Runtime errors which I observed while trying to experiment on what views I can select. Hence, make sure that you select the Lookup Views along with other views which you require.

Here are Canvas Power Apps / Model-Driven Apps which you might like –

  1. New App Designer for Model-Driven Apps | Power Platform
  2. Rich Text Control for Canvas and Model-Driven App | Quick Tip
  3. Form Access Checker in new Power Apps Form Designer | Model-Driven Apps in Dynamics 365
  4. How to add Rating Values to Rating Models in D365 Field Service and PSA
  5. Language format for Whole Number field in Dynamics 365 CE
  6. Custom Help Pages and Guided Tasks for Unified Interface in Dynamics 365
  7. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  8. Show custom ribbon button based on Security Role of the logged in User in Dynamics 365 | Ribbon Workbench in XrmToolbox
  9. Duration field in Dynamics 365 converts Hours value to Days in Dynamics 365 | [Flow Workaround to convert in Hours and Mins]
  10. Find deprecated JS code used in your Dynamics 365 environment | Dynamics 365 v9 JS Validator tool | XrmToolBox

Thank you!

Admin Center URLs under M365 – Power Platform, Teams, SharePoint, Power BI

Here’s a quick summary of the Admin Center URLs of each of these Dynamics 365 / Power Platform Admin Centers –

All Admin Centers under M365 Admin Centers

Here’s the link to all Admin Center under your O365 tenant based on your subscription and your Role in the tenant – https://admin.microsoft.com/Adminportal/Home?source=applauncher#/alladmincenters

Power Apps / Power Automate / Power Platform Admin Center (PPAC) / Dynamics 365

Here’s how you can access the Power Platform Admin Center

  1. http://admin.powerplatform.com/ – It will redirect to –
    https://admin.powerplatform.microsoft.com/

    From here, you can access the D365 Environments

Power BI Admin Portal

Here’s the URL for the Power BI Admin Portal – https://app.powerbi.com/admin-portal

It’ll open up the Admin Portal which looks like this

SharePoint Admin Center

Here’s how you can check the link of the Admin Center for SharePoint – https://cft158-admin.sharepoint.com/

So basically, https://[domain]-admin.sharepoint.com/

Here, domain is the one that you created while creating the tenant. Example: you didn’t add a custom domain and your domain then look like this in your username admin@[cft158].onmicrosoft.com

And it will look like this –

Teams Admin Center

Here’s a link to the Teams Admin Center and it’ll look like below- https://admin.teams.microsoft.com/dashboard

Hope this was useful.

Here are some more D365 / Power Platform Admin related posts which might be helpful –

  1. Turn Teams On / Off at Org Level, provisioning users | M365 Admin Center Tip
  2. Convert environments between Production and Sandbox | Power Platform Admin Center [Quick Tip]
  3. Create new Sandbox and copy Production over to it in PowerPlatform Admin Center
  4. New ‘Capacity’ analytics on PowerPlatform Admin Center
  5. Create new CDS Environment and Database quickly from PowerApps Admin Center
  6. Sign up for a Dynamics 365 Project Operations (Lite Deployment) environment and provision a new instance | Power Platform

Thank you!

New App Designer for Model-Driven Apps | Power Platform

The new Model Driven App Designer experience has been enabled and has been doing the rounds for a few days now. Here’s my take on the same to demystify and bring forward a quick example of a Model-Driven App capabilities.

I’ll keep enriching this post in the future as more enhancements come to this new experience! As of now, this is in preview, so kindly keep a note of that!

Let’s review further!

Create a new Model-Driven App

Here’s how you go about creating the new Model-Driven App using the new App Designer –

  1. In your https://make.powerapps.com/ portal, create a new Solution and then go inside the Solution to create a New Model Driven App as shown below




  2. Then, select the Modern App Designer (Preview)


    And give it a suitable name.

Editing the SiteMap in the New Model App Designer

Here’s how you go about adding new Entities to the SiteMap in the new Model App Designer experience. Navigation section

  1. I can click on New Page to start adding my first Page. Out of a Dashboard and Table, I’ve chosen to add a Table.


  2. Now, if you look at the right hand-side of the page, you should be able to select what you want to add here.




    And I’ll select Account Table.



  3. I’ll also rename the Title to to Customers.


  4. Now, I look at the left hand side, my App begins to take shape and I can then also change the Group and Area names like you would do in a Site Map.

  5. I’ve also renamed the Area to Sales now.





Pages

Now, let’s see what all Components can be added to the App. Pages is where you can either add Entities directly or edit the ones which you added in the Navigation section above.

  1. Now, if you go to the Pages section, you’ll be able to expand into the navigation and choose the components yourself.

  2. Now, if you select the Account form (as selected in the step above), look on the right hand side to be able to select which all Forms you want to add to the App. If you don’t select anything, all forms will be selected by default.


  3. Now, let’s select a couple of Forms.


    And those will be added.


  4. Same goes for Views as well. I’ve added 2 Views as shown below



    Note: Ideally, the WYSIWYG Preview should show only the components I added, but it shows me everything. Perhaps, this is work in progress.


    Along with that, there are Known Limitations at this point since this is in Preview.
    https://docs.microsoft.com/en-gb/powerapps/maker/model-driven-apps/app-designer-overview?WT.mc_id=DX-MVP-5003911#known-limitations


Data

Also, if you expand data, as of now only the ones added to you app is shown. Nothing much happens here. I’ll update this area once more features are added in the near future.

Hope this post was useful!

Here are some more useful posts you might want to check –

  1. Rich Text Control for Canvas and Model-Driven App | Quick Tip
  2. Form Access Checker in new Power Apps Form Designer | Model-Driven Apps in Dynamics 365
  3. How to add Rating Values to Rating Models in D365 Field Service and PSA
  4. D365 Quick Tip: Simple & Detailed Mode in Advanced Find
  5. Language format for Whole Number field in Dynamics 365 CE
  6. Transition effect on Gallery Items when hovered over in a Canvas Power App | [Quick Tip]
  7. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  8. Change Booking Status colors on Schedule Board for Field Service/PSA [Quick Tip]
  9. Change the Unified Interface App Icons
  10. Custom Help Pages and Guided Tasks for Unified Interface in Dynamics 365

Thank you!