Power Platform URLs

If you are having a hard-time keeping track of what URLs to enter / bookmark for everything that you do in Power Platform / Dynamics 365, here’s a post to help you pick and store URLs from the get go

I already have a post where you can find all the Admin Center URLs- Admin Center URLs under M365 – Power Platform, Teams, SharePoint, Power BI

Power Automate

Power Automate URL is being changed from https://flow.microsoft.com/ to https://make.powerautomate.com/ to line up consistently with Power Apps maker environment –
Here’s what you’ll see when you are in Power Automate (you can also see the notification on the top in the screenshot below regarding this change) –

Power Apps

In order to see all the Canvas / Model-Driven Apps, you can navigate to this URL: https://make.powerapps.com/
You’ll be landed here –

Power BI

Once you have the appropriate Power BI license assigned to your user, you can visit Power BI Home using this URL: https://app.powerbi.com/home

Hope this was useful!

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

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

Thank you!

Identify entities with same names in Dataverse Power Automate connector | [Quick Tip]

Often times, while using Power Automate with Dataverse, you may have come across scenarios where it was difficult to identify the entities with same names.

Scenario

When trying to pick entities with same names, like Attachments, so we don’t need to guess when you can confirm.

Peek Code

So, you can use Peek Code to take a look at the entity name i.e. the backend name of the entity which you have picked –

  1. Click on the 3 dots on the action, and select Peek Code.

  2. And as you can see, you can identify which entity is selected with the same name. You’ll need to know the correct backend name which you intend to select.
    activitymimeattachments

    attachments

I also suggest this is useful when picking other options elsewhere. Do let me know in the comments below as to where all you applied this. 😊

Hope this was useful!

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

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

Thank you!

Show ribbon button only on selected sub-grid of the same entity | Ribbon Workbench | Dynamics 365 CRM

In some scenarios, you might need to show only specific buttons on a sub-grid of an entity but this sub-grid is being used at multiple places and hence, all the buttons appear in each of them and not filtered based on the purpose of the sub-grid at a specific location.

Let’s look at a scenario to understand this better!

Default Scenario

By default, you’ll see all the buttons added to sub-grid in all instances of the sub-grid for the same entity.

Expected Outcome

Let’s look at this scenario to understand better –

  1. Account has a child entity Subscriptions. Now, under Account, there are 2 sub-grids for the same child entity –
    Active Subscriptions & Past Subscriptions

  2. Now, in order to have different buttons on these like
    Active Subscriptions should show End Subscription.
    Past Subscriptions should show Reactivate.

  3. To achieve this, we’ll be using Custom Rule in Enable Enable Rules in Ribbon Workbench. Let’s review how we can achieve this.

Separate Buttons on different Sub-grid based on View

Here, the approach is to have separate buttons on the sub-grids based on the “Name of the View”. We’ll achieve this using JavaScript, let’s review how –

  1. In your Ribbon Workbench, by default you have both the buttons added.
    So first, we’ll add the condition to show the buttons only on record selection –


    The way this is implemented is that you can attach an Enable Rule to the Command of the ribbon button.


    And the actual Rule is as below

  2. Now, the way the buttons should be separated are based on the name of the view itself.

  3. In order to observe what buttons should be shown on the above view, we will go the Custom Rule approach in Ribbon Workbench for the Enable Rule which is tied to the Command itself (which in turn, is attached to the actual button).
    For Inactive View, the below Enable Rule will be applied.

    And for Active Subscription grid, we’ll use the below Enable Rule which is meant for Active Subscriptions view.

  4. And, in one of the Custom Rules, you’ll see that we are calling a JS function which will check whether to return True or False based on what View the button is being run on.
    In the below Enable Rule, we are adding a Custom Rule which is calling a JS function and we are passing the current SelectedControl parameter (in this case, it’s the view itself!)

  5. And the function looks like below –
    It’ll return if the current View is the one intended.
    In the below example, we are reading what the selectedControl is – And if it matches the one we want to match to i.e. the intended Enable Rule, the True or False value are set based on the same.


    And that’s how you can have each Command in RibbonWorkbench work off of different JS functions which identifies the current View that the Command’s button is present on.

    And once this works, you’ll see the correct buttons show up on either of the views as required.


Code Samples

Here are the code samples which you can copy and modify for your own experiment –

oSubscriptionFormCustomization = {

    forActiveSubscriptionView: function (selectedControl) {
        "use strict";
        debugger;
        var currentGridName = selectedControl._controlName;
       
      
        var excludedPayRun = "ActiveSubscriptions";
        if (currentGridName == excludedPayRun) {
         return true;
        } 
    else { return false; }
    },
    
    forInactiveSubscriptionView: function (selectedControl) {
        "use strict";
        debugger;
        var currentGridName = selectedControl._controlName;
      
      
        var excludedPayRun = "InactiveSubscriptions";
        if (currentGridName == excludedPayRun) {
         return true;
        } 
    else { return false; }
    }
};      

Hope this was useful!

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

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

Thank you!

Customer Lockbox (preview) in Power Platform Admin Center | Dynamics 365

Often, it’s a dilemma for partners when Microsoft support asks for access to the environment or making a “copy of the affected environment” in order to review an issue at hand. This is a super-helpful feature where we get to see what is being accessed in order to review data.

Microsoft Docs Link to Customer Lockbox (preview) – https://docs.microsoft.com/en-us/power-platform/admin/about-lockbox?WT.mc_id=DX-MVP-5003911

Please note that this is a preview feature and not meant for Production use. Currently, this also doesn’t cost anything and a cost will be associated once this is out of preview. Read the above Microsoft Doc to learn further.

Let’s look at the summary of this feature –

What is this feature?

  1. If you raise a Microsoft Support Ticket or Microsoft identifies an issue with your environment and needs to take a look at data, this feature comes handy in providing controlled access to data.
  2. If any issues need Production data to be investigated which could be business-sensitive, you can provide controlled access to Microsoft Support and also review/Audit such an access.

I’ll update further on –

  1. Whether review requests can be raised by partners who don’t have production access but have access to Sandboxes only based on Security Group practices some organizations generally follow. Or is only Microsoft can initiate a request?
    Here’s a post I put up in Power Platform Forum for the same – https://powerusers.microsoft.com/t5/Power-Apps-Governance-and/Customer-Lockbox-for-partners-same-tenant-access/m-p/1685530#M6849
  2. What is costs since in preview (at the time of this post), this is free-of-cost but will be chargeable once out of Preview.
  3. Once I create an actual Support Ticket with Microsoft and if they request access to Production data, I’ll configure a Lockbox scenario and update this blog further.

Customer Lockbox settings in PPAC

In Power Platform Admin Center [PPAC] (https://admin.powerplatform.microsoft.com/) –

  1. Look for Customer Lockbox (preview) under Policies section as shown below.

  2. Once you are in Customer Lockbox, you’ll see a button to start Configuring Customer Lockbox. While in preview, this is free – Later, it will be chargeable.

  3. Once this turns on in a few moments, you can see the message come up explaining how the Customer Lockbox will be enabled in 24 hours.
    The message reads – “For the duration for the preview, enabling Customer Lockbox will apply to all environments in the tenant. This capability is available in preview at no cost. When this feature becomes generally available, there will be a cost associated with environments protected by Customer Lockbox.

  4. Post this, you can turn the switch On and Save the settings. It’ll take 24 hours to take effect.

Hope this was helpful! Here are some more Dynamics 365 posts which you might be interested in –

  1. Dynamics 365 Storage Utilization | Dataverse Storage | Power Platform Admin Center
  2. Use Hierarchy in Roll Up Fields in Dynamics 365 CRM
  3. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  4. Get GUID of the current View in Dynamics 365 CRM JS from ribbon button | Ribbon Workbench
  5. Dynamics 365 App For Outlook missing on SiteMap in CRM? Use shortcut link [Quick Tip]
  6. Import lookup referencing records together in Dynamics 365 CRM | [Linking related entity data during Excel Import]
  7. Mailbox Alerts Hide/Show behavior in Dynamics 365 CRM
  8. Excel Importing Notes (Annotation) entity in Dynamics 365 CRM
  9. Enable/Disable the need to Approve Email for Mailboxes in Dynamics 365 CRM CE
  10. Call Azure Function from Dynamics 365 CRM using Webhooks
  11. Show Ribbon button only on record selection in Dynamics CRM
  12. Accessing multiple occurrences of a field in Business Process Flow using JS in D365 CRM

Thank you!!

Email Link to View and records from Dynamics 365 CRM | [Quick Tip]

If you want to send an email to a colleague about the view you have and the selected records for them to look at, here’s how you can do with an a feature that has always been in place but we often don’t use it as much. 😊

Email a Link – Selected Records

Here’s the ribbon button you’ve always seen –

  1. If you select multiple records on a View, you can go to the Flyout menu on the ribbon in the main view.

  2. And you’ll see a button called as Of Selected Records. For this option to appear, multiple records must be selected in the view as show in the above screenshot –

  3. Once you click this, the default Email client on your system will open a new Draft email and have the links of the above records populated.

  4. Now, if your email appears as below, it’s best to press Enter after the ending brackets to ensure the hyperlinks appear.
    You can then complete your email so that it’s ready to be sent out.

  5. Next, the same Email a Link is also available from within an individual record itself.

    This will do the same, thing – open the Email client and the record will be ready to be sent out.
  6. If the end user doesn’t have permissions or is unlicensed in Dynamics 365 CRM, they’ll see the below error based on what the issue is –

Email a View

Similarly, Email a View too exists with which you can share your View with other members from the organization.

  1. When there are no records selected, you’ll see the option in the Email a Link flyout menu which says Of Current View.

  2. This will simply create the link of the View you are on and the Email client will draft the link of the View to be sent out.

    Make sure to press enter after the end of the link since it won’t be a hyperlink till then and may appear just as text.
  3. Once the recipient receives the email, the page will simply open in their browser as it appears to the sender.

  4. This won’t works –
    1. If you have added any filters on the main view.
    2. If you are trying to share a Personal View using this link, they should already have permissions of your Personal View. Else, the link will redirect to the Default view of that entity.

Hope this was helpful! Here are some more Dynamics 365 posts which you might be interested in –

  1. Dynamics 365 Storage Utilization | Dataverse Storage | Power Platform Admin Center
  2. Use Hierarchy in Roll Up Fields in Dynamics 365 CRM
  3. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  4. Get GUID of the current View in Dynamics 365 CRM JS from ribbon button | Ribbon Workbench
  5. Dynamics 365 App For Outlook missing on SiteMap in CRM? Use shortcut link [Quick Tip]
  6. Import lookup referencing records together in Dynamics 365 CRM | [Linking related entity data during Excel Import]
  7. Mailbox Alerts Hide/Show behavior in Dynamics 365 CRM
  8. Excel Importing Notes (Annotation) entity in Dynamics 365 CRM
  9. Enable/Disable the need to Approve Email for Mailboxes in Dynamics 365 CRM CE
  10. Call Azure Function from Dynamics 365 CRM using Webhooks
  11. Show Ribbon button only on record selection in Dynamics CRM
  12. Accessing multiple occurrences of a field in Business Process Flow using JS in D365 CRM

Thank you!!

Plugin Registration Tool buttons not functioning | Dynamics 365 CRM [Quick Tip]

At times, if you are setting up a new system or new to development of Dynamics 365 CRM plugins, you often end up borrowing Plugin Registration Tool from some one.

In this scenario, you are getting a zip file from someone or some other computer and expecting the Plugin Registration Tool to work for you as it works for them.

Ideally, download Plugin Registration Tool from source. You can follow this post – Download Plugin Registration Tool for Dynamics 365 CRM using PowerShell

Plugin Registration Tool Issue

Issue is when you try to, say, Update the plugin assembly – You’ll see that the button is being pressed but nothing happens.

And the Update window doesn’t show up.

Fix

The issue is that when you bring files from other computer, Windows blocks suspected dlls when you Unzip the files.

So, you’ll need to Unblock all the dlls in the Plugins Registration Tool folder as shown below.
You can do so by going into Properties of each of the dll files in the Plugin Registration Tool folders and look for a button which says Unblock

Likewise, you’ll need to Unblock each of the dll files which will enable features within the Plugin Registration Tool.

As you can see, the message besides the Unblock checkbox reads – “This file came from another computer and might be blocked to help protect this computer.”

And once you Unblock all the files, you then need to restart the Plugin Registration Tool in case it was already open.

Side Note: In case you are new to Plugins in Dynamics 365 CRM and looking for tutorials, you can check out my Blog Series on Plugin Development – Plugins Development in Dynamics 365 CRM for Beginners | [Blog Series]

Hope this was helpful! Here are some more Dynamics 365 posts which you might be interested in –

  1. Dynamics 365 Storage Utilization | Dataverse Storage | Power Platform Admin Center
  2. Use Hierarchy in Roll Up Fields in Dynamics 365 CRM
  3. Filter records in a View owned by a Team you are a member of | Dynamics 365 CRM
  4. Get GUID of the current View in Dynamics 365 CRM JS from ribbon button | Ribbon Workbench
  5. Dynamics 365 App For Outlook missing on SiteMap in CRM? Use shortcut link [Quick Tip]
  6. Import lookup referencing records together in Dynamics 365 CRM | [Linking related entity data during Excel Import]
  7. Mailbox Alerts Hide/Show behavior in Dynamics 365 CRM
  8. Excel Importing Notes (Annotation) entity in Dynamics 365 CRM
  9. Enable/Disable the need to Approve Email for Mailboxes in Dynamics 365 CRM CE
  10. Call Azure Function from Dynamics 365 CRM using Webhooks
  11. Show Ribbon button only on record selection in Dynamics CRM
  12. Accessing multiple occurrences of a field in Business Process Flow using JS in D365 CRM

Thank you!!

Investigating Invalid Arguments errors in Dynamics 365 CRM

In case you encounter errors when working in Dynamics 365 CRM as a Developer, you’ll often see error popups that don’t let you have the option to Download Log File.

And it looks like this –

Now, since you don’t have anything to look at the log, let’s see how we can at least identify what is being called which is throwing this error.

Open Browser’s Dev Tools

  1. Open the Dev Tools by pressing F12 in any browser. In my case, I’m using Chrome.
    Go to the Network tab and clear the logs if needed as shown below.

  2. Now, perform the operation which caused the issue.

  3. And in the Dev Tools, you’ll see it populate

  4. Now, if you expand the one with the error, you’ll see the details of the issue.


Hope this was useful!

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

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

Thank you!