Position Hierarchy Settings in Dynamics 365 CE

In this post, you’ll learn how to configure Position Hierarchy for Dynamics 365 CE environment –



Let’s first look at the scenario which we want to look at and then how we can configure the Hierarchy to limit and show the Positions of the Users the intended data.

Scenario

Let’s consider the below scenario on who report to whom in the org CFT300 based on the below Positions in the Org –

In the above example,

  1. Salesperson should see then own records.
  2. VP of Sales should say their own records and of Salesperson roles too.
  3. Executive Director should see their own records and only those of VP of Sales, but not Salesperson roles.


Position Hierarchy

Given that you already know how to navigate to Hierarchy Settings in Power Platform Admin Center, refer the below to understand how to configure the same based on the above scenario –

  1. Once you are in the Hierarchy Settings in the Environment’s Settings area in Power Platform Admin Center –


  2. Now, you can select Enable Position hierarchy Model and click on Save to apply the Position Hierarchy Model access to your environment. Once Saved, you’ll see as below.

  3. The Depth defines how many levels of Positions should a User be able to access records of other user in other positions in a top-down approach.

  4. Let’s click on Configure in order to start setting up the Positions in the Org.

  5. Now, based on the diagram above, I’ll create the Position hierarchy on this page

  6. Now, based on the same, I’ve created the below Positions in a hierarchy


    And the tree looks like this –

  7. Now, next is to assign these Positions to different Users in Power Platform Admin Center. If you go to Users and select any of the Users, you’ll see Change Position button on the ribbon.

  8. Then, you can find the Position you created which you want to give to the Users. Select it and Save it on the Pane.

  9. Complete the process for all the Users who need to be having one of the Positions you created.


    So based on this, Jack Green will be the Executive Director and will be able to access Amit Prajapati’s records and not Vidit Gholam’s or Ethan Rebello’s records.

    Also, the selected Tables are the ones to which the Position Hierarchy should apply.


    Now, based on the above setup and the Scenario provided, let’s look at how the records will be visible to the Users in the hierarchy.

Dynamics CRM Records access based on the Position Hierarchy Security –

  1. Let’s start reviewing from the bottom of the hierarchy. Vidit and Ethan, both will see their own record in the Active Accounts view and no one else’s based on the Hierarchy Settings.
    Also, note that the Read privilege for all the Users in their Security Roles is set to “Users” and not “Organization“.

    Ethan Rebello


    Vidit Gholam

  2. We move 1 level up to Amit Prajapati – he’ll see his own record and also Vidit’s and Ethan’s records in Active Accounts view.

  3. And Jack Green can access his own record and as he’s the Executive Director and can see VP of Sales position records, he’ll see only Amit’s records for Accounts and not Ethan’s and Vidit’s.


    This will change if we increase the Depth to 2, 3 and onward based on the hierarchy structure.

Hope this was useful!

Thank you!

Manager Hierarchy Settings in Dynamics 365 CE

In this post, you’ll learn how to configure Manager Hierarchy for Dynamics 365 CE environment –


Let’s first look at the scenario which we want to look at and then how we can configure the Hierarchy to limit and show the Managers the intended data.

Scenario

Let’s consider the below scenario on who reports to whom in the Org CFT300 used in this example –

In the above example,

  1. Manager of Vidit Gholam and Ethan Rebello is set as Amit Prajapati.
  2. Manager of Amit Prajapati is Jack Green.

And this structure looks as below in Dynamics 365 CRM environment –

Note: Please note that in order to set Hierarchy Settings correctly, the Read privileges on the intended entity must be set to “User” level. If it is set to “Organization”, the the User will anyway be able to access everyone’s records despite Hierarchy Security Settings in place.

Manager Hierarchy

Given that you already know how to navigate to Hierarchy settings in Power Platform Admin Center, refer the below to understand how to configure the same based on the above scenario –

  1. Once you are in the Hierarchy Settings in the Environment’s Settings area in Power Platform Admin Center –

  2. Now, you can select Enable Manager hierarchy Model and click on Save to apply the Hierarchy Model access to your environment.

  3. The Depth defines how many levels should a Manager be able to access records of the Users in the top-down approach.
  4. You’ll also need to set the Users’ Manager in Power Platform Admin Center. If you go to the Users and select any 1 of them, you’ll see Change Manager button on the ribbon.

  5. And, search the User who should be the Manager of the User which you are editing.


    So based on this, Jack Green will only be able to access Amit Prajapati’s records and not Vidit Gholam’s or Ethan Rebello’s records.

    Also, the selected Tables are the one to which the Hierarchy Security should apply.


    Now, based on the above setup and the Scenario provided, let’s look at how the records will be visible to the users in the hierarchy.


Dynamics CRM Records access based on Manager Hierarchy Security –

  1. Let’s start reviewing from the bottom of the hierarchy. Vidit and Ethan, both will see their own record in the Active Accounts view and no one else’s based on the Hierarchy Settings.
    Also, note that the Read privilege for all the Users in their Security Roles is set to “User” and not Organization” level.

    Ethan Rebello


    Vidit Gholam –

  2. We move 1 level up to Amit Prajapati – he’ll see his own record and also Vidit’s and Ethan’s records in Active Accounts view.


  3. And Jack Green can access his own record and as he’s the Manager of Amit Prajapati, he’ll only see Amit’s records for Account and not Ethan’s and Vidit’s.


    This will change is we increase the depth to 2, 3 and onward based on the hierarchy structure.

Hope this was useful!

Thank you!

Manually Add Licensed Users in Dataverse Environment in Power Platform Admin Center

In case you want to reflect a recently licensed user in a Dataverse environment but you don’t see it reflect immediately, here’s how you can manually add users to the Dataverse environment yourself.

Check that the User has an appropriate license

From Microsoft 365 Admin Portal, ensure that the user has been successfully been given a license –

  1. In Users, click on the User and ensure the user has correct License required to be added to the environment.

  2. And even if you refresh the Enabled Users (in classic CRM UI), you don’t see the User.


    Here’s how you can quickly add a User instead of trying to sync all users (It’s possible to do that but slightly lengthy process). I’ll cover it in a separate post and link it here.
    First, let’s see in the below section on how to quickly add a User –

Add Users from Power Platform Admin Center

Given that you have the correct Dynamics 365 Administrator privileges, here’s how you can add Users manually –

  1. Go to the Environment in Power Platform Admin Center

  2. Go to the Users section once you expand on Users Permissions tab

  3. You’ll see that User is still not part of the environment. Here’s how you can add the User. Click on the + Add User button.

  4. Then, search for the User with their Email Address and you’ll see it populate once the user qualifies the criteria mentioned on the pane under User access requirements.

  5. Then, click on Add.

  6. In the next step, you’ll be asked to provide a Security Role to the User. For example, I’m assigning a Salesperson security role from the default Business Unit. And then clicking Save.

  7. This User will be added with the Security Roles. If you don’t see the name immediately, click on Refresh.

  8. You’ll see the User appear in the environment list.
    Also, you’ll see the User in the classic UI if you click on Manage users in Dynamics 365.

  9. Here’s how it’ll appear in the Classic UI.

Hope this was useful!

Thank you!

Dataverse Low-Code Plugins | Dataverse Accelerator | [Preview]

So by now, you must’ve come across Dataverse Low Code Plugins quite a lot if you’re following Dynamics 365 Wave Updates.

Here’s a post that demystifies and summarizes what Low Code Plugins are all about and how you can start implementing the same.

Note: Please note that this is in Preview at the time of writing this post. Hence, this feature is not recommended for Production use.

What are Dataverse Low-Code Plugins?

Here’s what Low-Code plugins are about in Dataverse –

  1. Low Code plugins let you write server side business logic without having to write custom .NET code and register manually on the Dataverse.
  2. Currently, this is in Preview and once this is out of Preview, a lot of features are expected to be released for Low Code plugins.
  3. You can create 2 types of Low Code Plugins –
    • Instant [On Demand]
    • Automated [Based on a Dataverse event]

Let’s see how you can get started in using Low Code Plugins in Dataverse.

Getting Started

Here’s how you can get started on Low-Code Plugins in Power Platform.

  1. Ensure that you have the Dataverse Accelerator App installed on your environment. From 1st Oct 2023, all new environments have the Dataverse Accelerator App installed in their environments.

  2. Now, you can run the Dataverse Accelerator in Power Platform App Make [https://make.powerapps.com/environments/] –

  3. Usually you’ll see a Play button when you hover over the Dataverse Accelerator App listing, but alternatively, you can also click on the three dots (ellipses) and choose Play.

  4. You can even Dataverse Accelerator as an App in your Dynamics 365 CRM Sales environment just like other Model-Driven Apps

  5. When the App opens in the new tab on your browser, you’ll see that it looks similar to the Power Apps Maker Portal, you can now see that you’ll get an option to create a new Plugin –
    You can create 2 types of Plugins – Instant and Automated.


    Or even using the large buttons on the Home Screen

  6. In this example, I’ll create an Automated plugin that will do some Action when an Account is Updated.
    Example: So simply when any field is updated on the record, Description field will be updated with the value “This is my first Low Code Plugin“.
    So, when I click on Create automated plug-in, I get to define the Name of the Low Code Plugin and details like when it should be triggered.

  7. Once you save this, your Plugin will appear in the Automated plugins list in Dataverse Accelerator.


  8. Now, once you edit the record, notice that the field is blank –

  9. And when you Save the record, the Description field will be updated with the value as mentioned in the Formula of the Plugin.


Low Code Plugin Power Fx [Preview]

Here’s where you start learning Power Fx for Low Code plugins. Please note that a lot of Formulas are currently not supported as of the day of writing this post – https://learn.microsoft.com/en-us/power-apps/maker/data-platform/low-code-plug-ins-powerfx?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!

Enable App Auto-Updates in Power Platform Admin Center | [Preview]

Sometimes, Apps need to be up to date in order for some features to run effectively. Power Platform Admin Center now allows you to select Third-Party Publishers for an Environment to allow automatic App Updates in your defined Maintenance Window slots.

Enable Auto-Updates

Here’s how you turn on Auto-Updates for certain Publishers in your environment –

  1. Go to the Environmnent itself in Power Platform Admin Center given that you have correct Admin access. [https://admin.powerplatform.microsoft.com/environments]

  2. Then, look for Updates and then App Update Settings

  3. Then, turn On Select publishers from which you want to receive app updates to this environment.

  4. Finally, select the Publisher which you want to receive Automatic App Updates on.

  5. And once you select, you’ll see the selection as below to show which apps are allowed to auto-update in your Maintenance Window Hours.

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!

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 SharePoint List | Power Platform

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

Good news is that this also syncs back to the SharePoint List! Let’s see how.

SharePoint List

Let’s say you have a SharePoint List which you want to convert into a Dataverse Table in your Power Platform –

Let’s do this by creating using a Virtual Table which now connects to SharePoint and SQL. Please note that at the time of writing this post, connecting to external data is still in Preview.

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 and 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 SharePoint for this example. Both also use the connection you are logged in.

  4. Once you select SharePoint, you’ll either be asked to select one of the recently used Sites or if you know the URL of the Site in which your list resides, you can choose the same.
    Refer below that I’m choosing up to the name of the Sub-site in question.

  5. So, you can either select a recently used Site or just paste the URL of the Site which has your List in it.


    OR


  6. Once you are in the desired Site, you’ll see the List under that Site.

  7. Once I select the List, I’ll be asked if I need to change any schema name from the ones identified by the wizard.

  8. Or if everything looks OK, you can simply click on Next. You’ll be given a summary of what Table will be created from your SharePoint list.

  9. It takes a few moments to create this Virtual Table for you with the data from the SharePoint List.
    Once ready, it’ll appear as below with the data and you can start adding your data as well.

  10. Also, the data you add from the Virtual Table is also sent back to the SharePoint List.

  11. This entity / table will be listed as any other Table in the Power Apps Maker with the Virtual type.


Hope this helps!

Thank you!

Environment Assignment settings in Power Platform Admin Center

Environment Assignments and who should be able to create what types of Dynamics 365 CRM / CE / Dataverse environments can now be easily controlled.

You can either let everyone create a certain Type of environment or only enable Admin groups to create environments in Power Platform Admin Center! Let’s see how.

Restricting Users from Creating Environments

You can now restrict which types of Environments are allowed to be created for the type of audience in your tenant –

  1. If you are one of the Global Admins, Power Platform Admins, you have access to the Power Platform Admin Center settings (https://admin.powerplatform.microsoft.com/tenantsettings)
    And you’ll see the below types of Environment Assignments available for you to tweak
    Developer environment
    Production environment
    Trial environment
    Add-on capacity


  2. And in this example, let review and modify the settings for Production types of instances and who should be able to create this environments.
    Every type of assignment will have the below 2 options –
    Everyone
    Only specific admins (Global Admins, Power Platform Service Admins & Delegated Admins)
    Reference Link: https://learn.microsoft.com/en-gb/power-platform/admin/control-environment-creation?WT.mc_id=ppac_inproduct_settings?WT.mc_id=DX-MVP-5003911


  3. Once your preferences are set, just click on Save and the settings will be applied. Let’s see in the next section how this works.

Restriction Imposed

Here’s how a User will be restricted when they try to create the Types of environments when they are not part of the Admin Groups –

  1. Although, every user will get an option to Create using the Create button and select a Type of environment. When a User selects a Type, in this case Production

  2. And when they click Next, and enter further details in order to create the environment, they’ll see this error message.

  3. And to validate, you can look at the Roles in Microsoft 365 Admin Center under Users as to what Roles they have been assigned with.

Hope this helps!

Weekly Digest for usage insights | Power Platform Admin Center

One of the features in Power Platform Admin Center is that now you can receive Weekly Updates in the form of a Newsletter for the Managed Environments.

Pre-Requisites

Below are the Pre-requisites for enabling Weekly Digest

  1. Tenant-Level Analytics must be enabled in your Power Platform Tenant. Here’s a post to see how you can enable Tenant-Level Analytics – Tenant-Level Analytics in Power Platform Admin Center | For Power Apps and Power Automate
  2. Only Managed Environments Updates are available – Here’s how you can learn more about Managed Environments – Enable Managed Environments in Power Platform Admin Center
  3. Under those Managed Environments, only those Managed Environments will be considered which have been enabled for Weekly Digest. While enabling Managed Environments in the above step #2, ensure this checkbox is marked in order to consider the Managed Environment for Weekly Digest –

Enable Weekly Digest

Given the above Pre-requisites are met, here’s how you can enable Weekly Digest –

  1. Navigate to Tenant Settings in the Power Platform Admin Center (https://admin.powerplatform.microsoft.com/tenantsettings) – Look for Weekly digest. Notice that it is marked with a green icon which indicates that it will only be applicable for Managed Environments.

  2. On the right hand side, you’ll see place to enter email addresses (separated by semicolons) who should receive the Weekly Digest emails.
    Power Platform Administrators and Dynamics 365 Administrators only will receive these updates.

  3. Once you entered the email addresses, you can Save those and you’ll see the below message upon confirmation.

  4. That’s it!
  5. And then on a Monday, I saw this in my mailbox!

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!