top of page
  • Sebastian Sieber

First look on: Resource Recommendations for your Project Team - and the Setup


Announced with the 2023 Release Wave 2 Highlights, we are able to look into the first version of Resource Recommendations. With a combination of AI-powered and heuristics-based recommendation engine, Project Operations will be able to suggest the best match for tasks. Analyzing the costs, availability, experience, utilization, and skills of employees and subcontractors in your organization.


Resource Recommendations announcement via Microsoft

How to enable Resource Recommendations?

First, we need to talk about how to set up everything. Let's start with checking on the correct version of the Dynamics App.

With Project Operations version 4.91.x the first preview is now available.


Inside the Project Operations Model Driven App, change the navigation to Settings (1).

In the General group, find Parameters (2). Select the only Parameter in your environment and open up the main form.

Here select the Feature Control (3) dropdown and select Enable Resource Recommendation Engine Feature.


Enable Resource Recommendations feature via Settings > Parameters > Feature Control

Please note: This is a preview feature and enabling this functionality cannot be undone. It's not recommended to enable any preview features in a productive instance.


Usually enabling the feature in the parameter settings will close the deal. In terms of the resource recommendations, we also have to enable some Dataflows.


Activate Dataflows

Open up the maker portal - make.powerapps.com - make sure you're logged in with your account having System Administrator permissions. In the environment picker on the top right, select the Environment, where you just activated the new feature.

Select Dataflows in the sitemap, which is usually hidden in the More section:


Find Dataflows in Microsoft Maker Portal

You should now find at least 4 Dataflows - depending on your own usage of that component.

The Resource Recommendation flows are the ones we're looking for:


  • 1. Resource Recommendation - Daily KPE

  • 2. Resource Recommendation - Weekly Score Indexing

  • 3. Resource Recommendation - Weekly Add Time Summary

  • 4. Resource Recommendation - Weekly Update Summary


Currently, all of them are disabled and not published. So the resource recommendation wouldn't provide us any information as for now.


Identify not published Dataflows for Resource Recommendations

Because they're numeric ordered, we of course start with the first one. For enabling, select the three dots for more commands and choose Edit.


Edit Dataflows for Resource Recommendation

Editing a Dataflow will open up a Power Query dialog. It's required to add our system specific information before publishing the flow at the end.


The first flow, Daily KPE, has three different queries, with the EnvironmentName parameter already selected.

Replace the placeholder {{envName}} here with the environment URL, where you just enabled the Resource Recommendation feature within the Project Parameter.


Apply changes to Power Query of the Dataflow, here the EnvironmentName

Please enter the environment name without https:// and replace the brackets. For example: environment.crm.dynamics.com

Hit the Apply button to confirm your changes.


You can verify the result in the command bar above the current value field:


Apply the EnvironmentName

After entering the target environment name, navigate to the msdyn_projecttask parameter with the warning icon.

Select Configure connection to establish a new a connection source for the data - in this case the Project Tasks.


Configure connection for reading the table access

In the following step it's necessary to create the new connection. By default all conditions are already set and you can proceed to Sign In.

For a productive usage later, I would recommend to use a non named user for this connection. An organization doesn't want the flows to stop working once your User gets deactivated or you loose some of your permissions.


Create new connection to data source

Clicking Sign In will open up a window to enter your credentials. Once this has succeeded the query starts to execute and lists a number of Project Tasks as result.


In case you face an error here that the table msdyn_index is not part of the meta data, or there was an issue retrieving the data because the table is empty, besides you obviously have Project Tasks in your environment, close, refresh and open up the Power Query dialog again.

That helped so far in all of my setups. I do assume the connection is not fully set established and it just needs a moment and a refresh.


Proceed to Publish

Once the data is queried and the warning icon disappeared, click Next and publish the Dataflow in the final screen to activate it.


Repeat all of these steps now, for all the other flows - in numeric order.

Some of them have more connected tables than just the project task. But no worries, you don't have to establish the connection again or for each of the tables.

You can re-use the already created connection and only have to apply it once per dataflow 😊


Example of multiple data tables

Once all Resource Recommendation Dataflows have been published, they need to run at least once to fetch data. You can identify the status via the column Last Refresh.


In my case, I still need to wait for the last flow to complete it's initial run. Only after that, the Resource Recommendation Feature is ready to use.


Initial Refresh for Dataflows

Depending on the number of Projects and Tasks, that initial refresh may take up to 24 hours.

In my demo environment, it was finished within a few minutes.


More detailed information about the setup, please visit the Microsoft Learn documentation.


How to leverage Resource Recommendations

Alright, after all the setup, it's now time to use the new feature and get resource recommendations, right? Right! Well, kinda 😅

The engine needs some fuel to work. For AI and algorithm based functionality that fuel is data.

My demo environment has literally only me, myself and I to create the necessary data records.

So at this point, I will come back later with my final conclusion once I generated more matching data with some of my colleagues.


But of course I'm gonna show you how it works:

Create a new Project (you can as well use an existing one), plan out the task plan and set up the Project Team. Leave some of the work to Generic Resources as placeholder for the recommendation.

Navigate to the Team tab on your Project and select desired Generic Resource you want a recommendation for. Click the new button to Suggest Resource.


Suggest a Resource for Project Team, Generice Resource

The engine now generates multiple suggestions based on different factors.

This is where the dataflows play their role. Factors like Skills and Experience based on the Task description and existing Resource Assignments, Time Entry records and past Projects will be taken to form a score for each suggested member of the work force full of talents and leading experts, including subcontractors.


Well, as I already mentioned - in my demo environment, there is only me 😅


Suggest Result, based on AI

And the score does not look promising in my case either 👀


AI generated Score

With the Score is build out of 10 - a 0.4 is devastating. But you should get the idea by now:


Based on all the data the system automatically creates and maintains already, the engine is able to suggest fitting resources based on

  • Previously assigned Project Tasks

  • Roles fulfilled in different Project Teams (Solution Architect here)

  • Formerly created Time Entries

  • Keyword based indication, like configuring security settings - so recurrent tasks, time entries and more


With the dataflows, these indicators are updated regularly. You're always sure to review the latest state of the art data.



Of course there is more to show, like shortlisting candidates and comparing to other resources.

But I think that makes sense to show with some more data. Let me come back once I've bothered some colleagues 😁


Comments


bottom of page