Hide Resources from Schedule Board in Project Operations [Quick Tip]

In case you want a Resource to not be visible for Resource Managers to find and book, here’s how you can choose to hide them without having to work through filters

Default Behavior

Here’s what the default behavior will work for all Resource where you see a Resource like below – We are considering the example “Priyesh Wagh” as a Bookable Resource.


Now, let’s hide Priyesh Wagh as a Bookable Resource from the Schedule Board.

Hide Bookable Resources from Schedule Board

Fortunately, here’s how you hide Bookable Resources from appearing on the Schedule Board-

  1. Go to Resources table in the Resources area in the Project Operations sitemap. And look for the Resource you want to hide.

  2. And, go to the Scheduling tab and look for the below highlighted option called ‘Display On Schedule Board‘ which would be set to Yes. Set it to No and then save the record.


  3. Once this is set to No, then go back and Refresh the Schedule Board and Resource would be hidden. Even if you find the Resource, you won’t be able to find it.


Hope this was useful!

Thank you!

Power Platform Tools for Visual Studio

Here’s how you can quickly deploy and debug Dynamics 365 CRM plugins using Power Platforms Tools in Visual Studio

This is the first post in the series and once complete setting up Power Platform Tools for Visual Studio, I’ll follow up with writing and deploying C# CRM Plugins through Power Platform Tools for Visual Studio!

Let’s setup Power Platform Tools for Visual Studio first!

Getting Power Platform Tools in Visual Studio

Here’s how you can configure Power Platform Tools in Visual Studio from the Marketplace –

  1. In your Visual Studio, under Extensions, click on Manage Extensions.

  2. Then, search for Power Platform Tools and you’ll find on in the top few results itself which you will be able to identify as highlighted below.
    Click to install the “Power Platform Tools for VS 2022

  3. You’ll need to close Visual Studio for the installation to be proceed.

  4. Then, it’ll continue as a VSIX Installer and continue to install this extension for your VS.

  5. And this will be completed in a few moments.

  6. Once done, when you open Visual Studio back again, you’ll find “Connect to Dataverse” under Tools section in Visual Studio

  7. It’ll ask you to authenticate into your Dataverse environment. This doesn’t work with accounts using MFA – so for this demonstration, I turned off MFA temporarily for my trial environment.

  8. Then, I was asked to select the environment within the tenant.

  9. Now, I was asked to choose the Solution within the selected environment.


  10. Now, I could see all the Tables expanded in the Power Platform Explorer view.

  11. When you minimize, this is what you’ll see. You’ll see all items available to work with.


Next, I’ll demonstrate on registering a Plugin Assembly from Visual Studio Tools and registering a plugin. Watch this space!

Hope this was useful!

Thank you!

Cards in Power Apps

Cards in Power Apps can get you to send Adaptive Cards in Teams chats or channels without having to leave Power Platform to make your card!

Yes, till recently I was having a hard time to make an Adaptive Card in the Adaptive Cards Designer which is outside of the context of Dynamics/Dataverse and then embed it into Flow to be sent to a User – until Cards in Power Apps came along!

Let’s see how we can get started with the same and create our first Card and send in a Teams Chat!

Create a Card in Power Apps Maker Portal

Given you have appropriate access to create and view Cards, here’s how you can create your Card in Power Apps Maker portal –

  1. Navigate to Power Apps Maker Portal (https://make.powerapps.com/) and select the right environment with Dataverse in which you want to create your Cards.

  2. When you click on + New Card, Cards will ask you to name it and add a description.

  3. And once you create – you’ll be taken to the Card Studio.

  4. One the left hand side, you can see the menu which you can identify what the Card can be configured to do.

  5. To keep the function of the Card example, simple – I’m only displaying the logged in user name on click of a button.


  6. Notice that on the right hand side, you have different ways to deploy this Card – like in a Teams Chat.

  7. When in Play Mode, you’ll get to use the Card as it would work when deployed (or sent to a User, in this case), notice on the right hand side, you get a way to deploy the Card whether in a Chat as a link or through a Flow.

    In this example, I’ll choose a Flow.

  8. Now, it’ll initialize a Flow template with necessary steps.

  9. When ready, it’ll give this template for me to complete the Flow.


    Now, in the next section, let’s continue to finish the Flow and send it to an actual user. (Myself 😊)

Sending a Power Apps Card to Teams Chat

Now, let’s work on our Flow to be ready to run –

  1. First step is to Initialize the Card itself with an instance of the Card. Here, we’ll select the Card we just created.

  2. In the second step, you can actually choose who should the Card go out as.

  3. Then, it as ask what should should it post into. I’ve selected Chat with Power Apps since I wanted it to as a personal chat.

  4. Finally, it also needs a recipient – I’ve selected myself here to test it out.

  5. Now, when I run the Flow, I receive a chat message from Power Apps like below –

  6. And it then runs the Card itself! When I click the button as configured, it’ll read the user and display the name.



    Here’s the result!

Hope this was useful!

Thank you!

Rejection & Recall comments on Time Entries

In case you are wondering where are the Rejection Notes in case you need to run reporting on Rejected Time Entries and Approvals – and what you could potentially do with this – this short summary should help.

Rejecting Time Entries Notes

Let’s look at Rejecting the Time Entries Submitted by a Resource –

  1. When you see a Submitted Time Entry. You can choose to Reject a Time Entry.

  2. When you click on Reject, you’ll be asked to enter the Notes.

  3. And then you open the Time Entry record itself, it’ll be in the Notes of the Time Entry record on the Form.


    And that’s where it is which you can choose to send it out to the Resource i.e. upon creation of a Note where Regarding is set as Time Entry. But hang on! There’s another type of Notes that gets attached to the Time Entry as well. See next section –


Recalling Submitted Time Entry Notes

Let’s look at Rejecting the Time Entries Submitted by a Resource –

  1. When you have submitted a Time Entry and the same has been Approved, you can choose to Recall it using this button as shown below –

  2. And then you recall a Submitted Time Entry as opposed to recalling a Draft Time Entry, you’ll be asked to enter the Notes/Reason for recalling an Approved Time Entry as below –

  3. And these Notes too go on the Time Entry record itself.



So, the bottom line is – If you want to send out the Notes to different audience based on where the Note came from – do it alongside identifying the field “Entry Status” so that you know if the Note is supposed to be sent to the Approver or the Bookable Resource.

Thank you

Catalog in Power Platform

Catalogs in Power Platform are a way to distribute managed/unmanaged customization which ready install and extend on other environments. At the time of writing this post, the feature is in Preview.

Get Catalog Manager

Here’s how you can install Catalog Manager from App Source and onto your target environment –

  1. Go to the URL – https://appsource.microsoft.com/en-us/product/dynamics-365/powerappssvc.catalogmanager-preview?flightCodes=dde212e5c66047c59bf2b346c419cef6
    It’ll open in App Source as it’s not directly available from Install Apps in Power Platform Dataverse environments.
    You’ll see this App Source page –

  2. Once you click on Get it now, you’ll need to sign in using the Dynamics 365 Administrator privileges.

  3. Once you sign in successfully, you’ll need to click on Get it now again as shown below.

  4. Then, you’ll be taken to the page shown below where you’ll need to select the environment you want to install the Catalog Manager on. This will be the environment from where you’ll create your Catalog to be available to other environments.

  5. Once you confirm as shown below, Installation process will start like any other Dynamics 365 App.


    And then let it install for a few moments –


    And it’ll complete its installation in about 10 minutes.


  6. Now, once this is installed, check for the security roles available for users to be assigned with.

    Assign these roles to the Users who need to be either of them – below are the details on what the roles do.

Working with Catalog Manager

Now that Catalog Manager is installed, here’s how you can work through it –

  1. In your Apps, you should be able to see the Catalog Manager as well.

  2. Play the App, and in the App, you’ll see the Catalog Publishers table. This is where you have to create a Publisher and add Users from the Publisher for different roles.


  3. Here’s the sample Publisher I created and added the Admin User as a Publisher user as well.

  4. Once this is done, you are all set. Let’s move to the next section.

Create Catalog

Now, let’s look at the process of creating Catalogs which other environments in your Org can browse through and use –

  1. Let’s say you have a Solution which is supposedly a Catalog candidate which others can borrow and install.
    It has a mix of components which are categorized as usable in a Catalog.


  2. Here, you can select the Solution itself and click on Publish to Catalog (Preview) using the button as shown –

  3. Once you click on the Catalog, a dialog will open which you can select as Default

  4. Once you select the Default Catalog Name, you’ll be able to select if the components should be Managed components or unmanaged (as Templates).
    Then, I can choose to not select anything as a Primary Component to keep it simple.

  5. Now, I’ll enter the details as shown below which are self-explanatory.
    Published/Active Publisher will appear from the list and I can fill in the rest of the details which are applicable.

  6. Now, when I click Next, I can enter what the picture/icon should be –

  7. Finally, this is the summary and I can click Submit once done.

  8. Once everything looks good, this will be completed and show success.

  9. Now, since the Catalog is already set to auto-approval, it’ll appear in Catalogs –


Installing from Catalog

Now, as the Catalog is ready to be published, other environments can go in Catalogs and Get it from there in their current environments –

  1. For example, in this environment – I can see it in Catalogs and choose to Get it.

  2. Click Get to start installing.

  3. It’ll start installing.

  4. Once done, you’ll see that it has finished installing.

  5. And when you see the Solutions, since this was a Managed catalog – it’ll get installed as a Managed Solution in the selected environment.

  6. And the Components inside it will be managed too as expected.

Install History

As other Admins/Makers install from Catalog, you’ll see the Install History of the Catalogs in the Catalog Manager App –

  1. Under Install History, you’ll see the details as below –

Here’s Microsoft Documentation on the same – https://learn.microsoft.com/en-us/power-apps/maker/data-platform/catalog-overview?WT.mc_id=DX-MVP-5003911

Hope this was useful!

Thank you!

Setup Power Platform CLI using Windows installer [.msi]

In the past, I had posted about how you can use Microsoft Power Platform CLI from Visual Studio Code – Set up Power Platform Tools in Visual Studio Code | Power Platform CLI.

In this post, I’ll show how you can do so using direct download and installation using .msi file.

Download Power Platform CLI installer

Here’s the link you need to go to in order to download Power Platform CLI –

  1. Visit – https://learn.microsoft.com/en-us/power-platform/developer/howto/install-cli-msi?WT.mc_id=DX-MVP-5003911


  2. Once downloaded, make sure to start the installer, it’ll ask you for confirmation.

  3. It takes a few minutes to complete setting up. Then, you can Run powershell

  4. In PowerShell, you can type pac and enter to see if Power Platform CLI was installed. By default, it’ll connect to the organization your PC is connected to.

  5. Once connected, you’ll see list of commands for the CLI which you can use given you have the appropriate connections.

Hope this was useful!

Thank you!

Environment Routing in Power Platform Admin Center

In case you already have created Environment Groups, you can set some rules to divert how environments are created to Environment Groups.

If not, you might want to first take a look at a post on Environment Groups in Power Platform Admin Center!

Environment Routing is feature to redirect existing/new Makers to their own Developer environment when logging into the Maker Portal (https://make.powerapps.com/)

Routing in Environment Groups

Here’s how you can set Routing rules in Environment Groups in Power Platform Admin Center –

  1. Given that you have the correct Dynamics 365 Administrator privileges, you should be able to see the Environment Groups section and also see button to set the Environment Routing.

  2. In Environment Routing, you can choose to enable to Create personal developer environments for makers option.

  3. When you turn it on, you can choose to enable it either for All makers or for new makers only. I’ll enable it for All makers for this example.


  4. Now, I’ll select the Environment Group where the routing should happen to – for this, I’ve created a CFT Developers Environment Group.


    And Save.

Routing to Developer Environments

Let’s consider this example to demonstrate how Routing will work –

  1. When a developer logs into the Maker Portal (https://make.powerapps.com/), a setup will load for a few moments the user, let’s say, Amit Prajapati in this example, will be redirected to his own Portal –

  2. And if you look at the list of the Environments in the Group you selected for Routing, you’ll see that Amit’s Environment is now created.

  3. Now, another User Ethan Rebello also logs into the Maker Portal. He too will be redirected to his own environment.
    And the same will be added to the Group as well.


    Every developer will have access to only their own Developer environments and other’s won’t be able to access them.

Hope this was useful!

Thank you!

Environment Groups in Power Platform Admin Center

Environment Groups is a feature to let you club the environments of your choice together in order to govern them commonly and easily with Rules for the environments.

The Rules as of now which you can govern commonly for the grouped Environments are –

  1. Sharing controls for Canvas Apps
  2. Usage Insights
  3. Maker welcome content
  4. Solution checker enforcement
  5. Backup retention
  6. Enable AI-generated descriptions (preview)

    Let’s see how you can do this!

Environment Groups

Here’s how you can use Environment Groups in Power Platform Admin Center given that you have the correct Dynamics 365 Admin privileges –

  1. You’ll see in the Power Platform Admin Center that Environment Groups is its own section.

  2. Here, can you can click on Create a group as the button suggests and It’ll let you create a Group.

  3. Next obvious step is to simply give it a Name and Description.

  4. Once done, you’ll be able to select Environments to be added to the Group you just created.

  5. Then, select the ones which are relevant to be added to this group. Once done selecting, click on Add environments.

  6. Next, you’ll need to turn on the Managed Environment Modes for the selected environments. If all selected already have Managed Environments feature turned on, then they’ll simply be added further. In order to understand Managed Environments feature, you can refer to this post – Enable Managed Environments in Power Platform Admin Center


  7. It takes a few moments to turn on Managed Environments, then you can finally click on Add Environments to add them to the Group.
    As you see in the notification area, it takes a few moments to add the environments.

  8. Once the processing has been completed on the backend, the environments will be added.

Rules for Environment Groups

Now, let’s see how you can commonly set Rules for the environments in the Environment Group –

  1. You’ll see the tab called as Rules. Once your environments are added, you can go to this tab to look at the Rules you can change and apply.

  2. You’ll see that by default, the rules remain as is and are not commonly applied. Let’s modify Backup Retention rule at first.
    Once you select a Rule, you’ll get to Edit it.

  3. Once you Edit, for example, Backup Retention – you’ll see the default values which you can change in order to commonly apply to the environments in the Environment Group.

  4. Now, I’ll change it to 21 Days, as an example. Then, click Save.

  5. Let me change another rule.

  6. Now, you’ll see that the changed Rules will have star mark on it and are marked as bold.

  7. Now, when you click Publish, it takes a few moments for the Rules to be published and you’ll see the last published rules once applied.


    And here’s the latest status once changed.

In order to fully understand the capabilities and limitations of the Environment Groups, follow this Microsoft article on the same – https://learn.microsoft.com/en-us/power-platform/admin/environment-groups?WT.mc_id=DX-MVP-5003911

Hope this was useful!

Thank you!

Recycle Bin in Dynamics 365 CRM | [Preview]

Now, you can retrieve deleted records up to 30 days in Dynamics 365 CRM /. CE apps.
Here’s how you turn this feature on!

Enable Recycle Bin

Here’s how you can enable this given you have the correct Dynamics 365 System Administrator privileges –

  1. Go to the Environment’s Settings in Power Platform Admin Center (https://admin.powerplatform.microsoft.com/)

  2. Now, expand Product section and go to the Features option.

  3. When you scroll to the bottom, you’ll see Recycle Bin option as a feature. At the time of this blog post, the feature is in Preview – Hence, this is not recommended for production purposes yet.
    By default, it’s turned Off.

  4. Once you flick the switch, you’ll be asked for number of days the data has to be retained for. I’ll enter 30 here and then scroll to the bottom and save the setting.

  5. Once saved, you can go to your environment and test this on a sample record. See the section next.

Deleted Records

Now, since this is enabled and post that when you delete records, here’s how you can find them for the number of days you’ve configured Recycle Bin for –

  1. For example, this is the Account record you want to delete.

  2. Go to the View Deleted Records section in the in your environment’s Settings area.

  3. You’ll see the Deleted records which you can select and choose to Restore.


  4. Confirm.

  5. Upon Restoring, they’ll appear where they were originally supposed to exist.


    Because this feature is still in Preview, here’s Microsoft’s Documentation on the same with listing of some known issues as well – https://learn.microsoft.com/en-gb/power-platform/admin/restore-deleted-table-records?WT.mc_id=DX-MVP-5003911

Hope this was useful!

Thank you!

Create a Custom Connector For Power Automate & Power Apps

One of the most important qualities of extending capabilities of any platform is being able to add Custom code and make it available to wider use cases.

In this case, it’s a custom code that is encompassed in a Custom Connector in Power Platform and made available to Power Automate or Power Platform.

Use Case

The purpose of my custom connector is to call my hosted custom code in Power Automate or Power Apps.

For this example, I’ve created a simple Azure Function that just returns a value – just to test the working of the Custom Connector. Of course, your use case is to be able to connect to the hosted app, expect it to process the business logic which you intend to do and return back the results.
So, in my case – my Azure Function will simply greet the name passed to it.


See the Postman test below –

Now, let’s make a Custom Connector that will execute this Azure Function in your Power Automate.

Create Custom Connector in Power Apps / Power Automate

You can either make the Custom Connector from the Power Automate portal or the Power Apps Maker portal, both are the same things. Let’s see this example from Power Apps portal –

  1. In this use case, I’m in a Solution in Power Apps / Power Automate. Open the one in your case since you can’t create a Custom Connector from outside a Solution any longer.

  2. Now you can drop down from New and see in Automation menu that you can create a Custom Connector

  3. Now, you’ll be required to enter the name of the Connector itself and other details like a PNG icon for it, Description etc.

  4. Now, below is the info that I filled in. I’m calling it Data Transporter and have selected an Icon which should make me easy to recognize my connector in Power Automate and Power Apps and enter enter the details of my hosted Azure Function which is authenticated using an API Key.
    So, here’s what my info looks like –

  5. Now, when I click on Security after filling all the info, the type of Authentication I used in this case if API Key, yours could be different depending on what your custom application is configured to work with –

  6. It’ll ask you to fill in the information so that it appears as parameters to fill in for the Custom Connector when the end user will work on their Flows/Apps.

  7. The info I’m choosing to fill is this – I’m giving a name to the parameter to indicate what info is required. The actual parameter name required by the Azure Function, in this case – it’s ‘code’ and since I need to pass the API key in Query string, I’ve selected Query instead of Header.

  8. When you go to the next part, i.e. Definition, make sure you also give a Name to the Custom Connector already. Before your lose the info you’ve already entered. Make sure you also click on Create Connector


    Once you click on Create connector, it’ll create it in a few moments.

  9. Now, since you are aware of Triggers and Actions from using Power Automate – in this use case, my Custom Connector is designed to be an Action i.e. when called/used in Power Automate, it’ll simply perform the operation it’s designed to do.
    Hence, I’m selecting an Action here.
    When I select New Action from the left hand pane, it’ll open up information for me to fill out to describe the Action.

  10. Now, since this will appear as a listed item in Actions in my Power Automate connector, I’m filling in this info (and we can check later how it appears).


    Next, I’ll click on + Import from sample as it’ll give me a place to enter a sample for the request to call my hosted Azure Function.



  11. Next, I’ll pass these values as I did in Postman to create the sample. Once done, I can click on Import.

  12. When I import, I’ll the request parameters set in the Custom Connector based on the sample I entered.

  13. Next, I’ll scroll down to ensure that all validations are perfect and I needn’t fix anything.

  14. Next, I’ll skip AI Plugins step and also the Code step since I want to keep this example concise and to the scope of the hosted Azure Function only.


    And this is skipped too –

  15. Now, the final step is to Test the Custom Connector. The Editor will ask you to Update connector before you can Test. Then, in order to begin testing – you’ll need to first create a Connection using New Connection button as shown below.


  16. When you click on New Connection, you’ll be taken to a new tab to enter the API key which you created as parameter in the initial setup of this Connector. See #7 above. Enter the API key you have which works for this hosted app and then click Create connection.


  17. Next, in case the Connection doesn’t appear, click Refresh button once.

  18. Once you refresh, you should see your Connection come up and selected.

  19. Now, next step is to test the Custom Connector itself. Enter the values that you wish to test for and click Test operation.

  20. You’ll see the test results based on what the hosted code is supposed to perform.
    In my case, it was easy as it just greets the name entered.


    And your Custom Connector is now ready to be used!

Consuming Custom Connector

Now, let’s see how you can use the Customer Connector in Power Automate in order to perform the operation in your Flows –

  1. Once in Power Automate, look for the Custom tab in the Action selector.

  2. Then, you can see the Action you defined in your Connector Definition steps above.

  3. Since you need to authenticate using the API key you have, the create Connection step will ask you this info and you can give the name of the Connection.

  4. Pass the value you want to pass as data.

  5. Finally, you can just save and test the Flow itself and look for your Outputs.


    And that’s how you can have a Custom Connector for your custom app/service your have created. I’ll soon write about other aspects of Custom Connector which I wasn’t able to cover in this blog.

Hope this was useful!

Thank you!