Pre-Export Step Required setting in Deployment Pipeline | Power Platform Pipelines

Now that you must’ve already setup your basic Power Platform Pipeline as yet and are looking to explore how to extend the Power Platform Pipeline to do more advanced operations, this post is for you!
In case you are still looking to first setup your Power Platform Pipeline, you can check this Blog Series which this very post too, is a part of – Power Platform Pipelines | Blog Series

What is Pre-Export Step Required Setting?

This is the ability to have a trigger before an Export operation from the Development Environment is initiated in order to run the pipeline – only available for the first stage in the pipeline.

This is provided so that you may want to run some external operations before this is taken through the pipeline for deployment.

Use Case is – that you want to first seek an approval from the Admin before the Solution is deployed to Production (or rather, sent through the pipeline for deployment). Once approved, the pipeline should automatically proceed towards executing the rest of the deployment stages.

Pre-Export Step Required

While setting up your Pipeline, in case you were wondering what Pre-Export Step Required setting was, see below –

  1. Once you mark this field as checked/Required, save the record and it’ll appear like this on the record.

  2. What this does is, it runs the trigger action ‘OnDeploymentRequested’

  3. And once this Flow is trigger based on this Action, you can perform custom logic to be carried out and be successful before the deployment is carried forward.
    In this example, I’m setting a simple Approval process to be in place so that the Admin is aware and approves all the Deployment requests.

  4. Now, once an Approval is received, you need to check the status of the request and if it’s Approved, you need to run Perform an unbound action to initiate the Action ‘UpdatePreExportStepStatus
    You’ll need to pass the StageRunId – You’ll get this in the Dynamics Content Properties of the Flow itself from the trigger.
    Then, you need to set the Status of 20 – this means Approved.
    For rejection, the status to set is 30.

  5. Now, once this Flow is in place, every time a Pipeline is Run to deploy the solution, it’ll first wait for the Approval process to complete and the pipeline itself will show the below message.

  6. This status can also be seen in the Deployment Stages in the ‘Deployment Pipeline Configuration‘ app as well.

  7. Now, the Admin on the other hand, will receive a Power Automate Approval like this (based on whatever you have configured). This is received on both Approvals in Teams and in Power Automate as well.

  8. Once the Approver approves, I’ll enter some notes while approving.

  9. The pipeline will then proceed to deploy to production.

  10. And this will also proceed on the UI in Pipelines as well.

  11. Once deployed, you’ll see that this is completed Successfully if there are no issues.

  12. You can also see the History. The End Time will represent when it was completed as opposed to Start Time representing when the Deployment Request was initiated.

  13. And also in the ‘Deployment Pipeline Configuration‘ app.



Here’s official Microsoft documentation on how you have Gated Extensions like these to be in place in Power Platform Pipelines – https://learn.microsoft.com/en-us/power-platform/alm/extend-pipelines#gated-extensions-available?WT.mc_id=DX-MVP-5003911

Hope this was useful!

Thank you!

Power Platform Pipelines | Blog Series

Here’s a blog series to get you up to speed on Power Platform Pipelines!

Setting up and Running Power Platform Pipelines

Here is what you need to get done in order to setup Power Platform Pipelines –

  1. Setup Power Platform Pipelines
  2. Run a Power Platform Pipeline

Advanced Settings

ScenarioBlog
Once request for deployment is submitted.Pre-Export Step Required setting in Deployment Pipeline | Power Platform Pipelines

Here’s official Microsoft Documentation on Power Platform Pipelines – https://learn.microsoft.com/en-us/power-platform/alm/pipelines?WT.mc_id=DX-MVP-5003911

Hope this was useful!

Thank you!

Run a Power Platform Pipeline

In case you setup your first Power Platform Pipeline and looking to test it out? This post is for you.

Or if you haven’t yet configured your Power Platform Pipelines first, refer this post – Setup Power Platform Pipelines

Now that you have your basic Power Platform Pipeline set in place, let’s run a created Pipeline!

Run Power Platform Pipeline

Here’s what you need to do in order to Run your pipeline –

  1. Go to the Dev environment on which you have Hosted your pipeline (or which is supposed to be your first environment from where all the customization/configuration should move over).
    Go to the Solution which you want to Run through the Pipeline.
    For the simplicity of this example, this Solution has just 1 custom column on the Account table.

  2. Now, click on Pipelines and look for the Deployed Pipeline which is ready to be used.

  3. Now, once you get to see the stages which you have set in the blog post – Setup Power Platform Pipelines, those stages will appear here.
    Then, verify the environment details mentioned and then click on Deploy here once you are sure.

  4. Now, once you click on Deploy here, you’ll be given option to choose when you want to deploy – whether now or later.

  5. For this example, I’m choosing Now instead of scheduling it for later. Then, I click Next and it’ll go into Validating Stage.

  6. Once it all looks good, you’ll get AI generated notes already if you are in the US Region (at the time of writing this post). Then, click Deploy once everything looks good.

  7. Once this is in progress in the background, you’ll see that the pipeline is deploying your solution.

  8. Once this is completed, you’ll see that this is deployed successfully.


  9. And this will be successfully deployed to the Target environment like so in the Managed Solutions section.

Hope this short tutorial was helpful!

Hope this was useful!

Thank you!

Project Status Update Reports on Projects using Copilot in Project Operations

Now that you must have enabled Copilot for Project Operations [If not, you can refer this post to learn how you can enable Copilot for Project Operations – Enable Copilot for Project Operations]

Note: Please note that this is a Preview feature at the time of writing this post and hence, not recommended for Production usage.

Enable Copilot For Project Operations

First, you need to ensure that Copilot is enabled for your Project Operations environment – Enable Copilot for Project Operations

Once this is enabled, you’ll be able to see Copilot on the ribbon button on the Project. Let’s look at the same in the below section.

Project Status Update Report

Now that you have Copilot enabled for Project Operations, you can now create Task Plans for a Project in Project Operations –

  1. When you navigate to a Project, you’ll see Copilot appear on the Ribbon given that you have enabled it for your Project Operations instance.

  2. Once you select Status Report, it’ll give you option to generate either an Internal or an External Report. Then it runs in the background and takes a few minutes till Copilot will gather all the information for you and generate a report.




  3. External Report generated is as below –



  4. Internal Report generated is as below –



Here’s Microsoft’s Full Documentation on how Project Status Update Reports are generated in Project Operations’ Copilot (Preview) – https://learn.microsoft.com/en-us/dynamics365/release-plan/2023wave1/finance-operations/dynamics365-project-operations/generate-project-status-reports-using-project-manager-copilot?WT.mc_id=DX-MVP-5003911

Hope this was useful!

Thank you!

Risk Assessments on Projects using Copilot in Project Operations

Now that you must have enabled Copilot for Project Operations [If not, you can refer this post to learn how you can enable Copilot for Project Operations – Enable Copilot for Project Operations]

Note: Please note that this is a Preview feature at the time of writing this post and hence, not recommended for Production usage.

Enable Copilot For Project Operations

First, you need to ensure that Copilot is enabled for your Project Operations environment – Enable Copilot for Project Operations

Once this is enabled, you’ll be able to see Copilot on the ribbon button on the Project. Let’s look at the same in the below section.

Risk Assessment

Now that you have Copilot enabled for Project Operations, you can now create Task Plans for a Project in Project Operations –

  1. When you navigate to a Project, you’ll see Copilot appear on the Ribbon given that you have enabled it for your Project Operations instance.

  2. Once you select Risk Assessment, it runs in the background and takes a few minutes till Copilot will populate the Risks for you.



  3. Once this is generated in a few moments, it appears in the Risks tab on the Project itself.


  4. Additionally, you are free to use this in reporting as well

Here’s Microsoft’s Full Documentation on how Risk Assessments work in Project Operations’ Copilot (Preview) – https://learn.microsoft.com/en-us/dynamics365/release-plan/2023wave1/finance-operations/dynamics365-project-operations/assess-issues-risks-project-using-project-manager-copilot?WT.mc_id=DX-MVP-5003911

Hope this was useful!

Thank you!

Enable Copilot for Dynamics 365 Sales environment

Copilot for Dynamics 365 Sales is in Preview at the point of writing this post. Hence, I’ll start by showing how you can turn Copilot for Dynamics 365 Sales on for your environment.

It is recommended to do this in your Sandbox instances first.

Enable Copilot for Dynamics 365 Sales

Given that you have the correct licenses setup and you are a System Administrator, you can follow the below steps in order to enable Copilot for Dynamics 365 Sales –

  1. Make sure you are in the Sales Hub app.

  2. And then go to the App Settings

  3. Here, you’ll see the Copilot as an option on the Sitemap, select that.

  4. Note that all the Settings are turned off by default.

  5. First thing you can do is, turn Auditing On. It’ll take a while to Save the changes in the background.

  6. Then, you can turn on other features which are in Preview On and enable the Copilot App based on your Published apps in your environment.

  7. Here are the Preview features which are listed under the See what’s in preview link in the above screenshot – https://learn.microsoft.com/en-gb/dynamics365/sales/view-copy-email-summary
  8. Once the changes are saved, it’ll look like this in the Published state. the selections will remain the Publish button will be disabled.

  9. At this stage, the Copilot has been enabled for the selected Apps in your environment.
    Now, you can move to other options like Opportunities and Leads tabs on the settings page.
    The Summary section in the entities will show which fields should be included in Summary information that Copilot will generate.
    The Recent Changes in the entities will show which fields should be included to keep track of the changes which happen on these fields.


At this point, you are all set in configuring Copilot in your Dynamics 365 Sales environment. Next, I’ll write about how we can use the features which we enabled in this post and I’ll share link of the upcoming post here.

Hope this helps!

Thank you!

Hierarchy Settings in Dynamics 365 CE | Power Platform Admin Center

You must have seen Security Roles, Field Level Security, Access Teams etc. as a way to access records in Dynamics 365 CE (or CRM). Here’s what Hierarchy Security is all about –

There are 2 types of Hierarchy Settings in Dynamics 365 CE and what they mean in a short explanation –

  1. Manager Hierarchy – Access control of records based on the Manager settings for a System User.
  2. Position Hierarchy – Access control of records based on the Position of the System Users based on how they are placed in the Organization.

Configure Hierarchy Settings in Power Platform Admin Center

Given that you have Dynamics 365 Admin privileges, you can configure the Hierarchy Settings as below –

  1. Go to the Environment’s Settings in Power Platform Admin Center

  2. Now, you can expand and click on Hierarchy Settings

  3. By default, these will be Disabled by default. Then, you can turn on the one which you want and configure the same.

  4. In order to Configure the Manager Hierarchy Model, you can refer this post below –
    Manager Hierarchy Settings in Dynamics 365 CE
  5. In order to Configure the Position Hierarchy Model, you can refer this post below –
    Position Hierarchy Settings in Dynamics 365 CE

Hope this was useful!

Thank you!

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!

Time and Materials Billing Backlog table in Project Operations

Even wondered what is Time and Materials Billing Backlog table in Project Operations which you see in the Sitemap but you might not be sure what records are in it –

Time and Materials Billing Backlog

Here’s the purpose of Time and Materials Billing Backlog entity –

  1. Given that you have 2 Time Entries Submitted for Approval to the Project Management / Account Manager.

  2. When the Time Entries are Submitted, the Approver receives them for Approval. The Project Approver can then Approve the Time Entries.

  3. Once they Approve the Time Entries, they are turned into Actuals (msdyn_actual) in Project Operations.
    Then, Actuals are then Supposed to be marked as Ready to Invoice.

  4. So, when the Actuals are the created and even when they are marked Ready to Invoice, that’s when they appear in Time and Materials Billing Backlog view.
    This table is in fact Actuals table itself! 😊 (There’s no Time and Entry Billing Backlog as a separate Table in Dataverse).

  5. In fact, Accounting managers or Project Managers can Ready the Actuals from the Time and Materials Billing Backlog table itself.

  6. Now, then the Invoice is created for the ready Actuals, they are added to Invoice Lines

  7. And then, they are removed from the Time and Materials Billing Backlog view.

Hope this was useful!

Thank you!