The quick answer to this question is: Yes, you can use Power Automate with Project for the web. In this article, let’s discover a couple of use cases together and get a better understanding about these applications in the process.
Project for the web is an ever-improving application available to anyone in an organization that has a Project a P1, P3, or P5 license. You can simply navigate to Project.Microsoft.com and you are ready to build your Gantt Charts.
With recent updates to Project for the web, resources (users) don’t have to be a part of the Office 365 group. Additionally, all users that have an Office 365 account can read schedules that they are assigned to. These are two major updates make adoption of the tool much easier.
Power Automate can be used for a very wide variety of actions. If a process is repetitive and is accessible through the web, there is a good chance that it can be automated in some shape or form. Power Automate is an application that is very accessible and powerful on its own. The product comes with three licensing tiers, which are best explained here.
Where is my Data?
Project for the web data is stored in a place called Dataverse . This means that the data is secure and cloud based, which, in turn, also means that you will only be able to access the content with a valid Office365 account and an internet connection.
If you don’t have a valid Project License, as mentioned in the beginning of this post, you will get this message:
If you are the first person in the organization starting to work with Project for the web by creating a first project in the Project.Microsoft.com section, you will get this message:
In the back end, this first project creation triggers activity in the Dataverse to create a number of tables for us. I may even result in the first instance of Dataverse activated (if, for instance, your organization hasn’t played around with Model driven PowerApps yet).
The first project in Project for the web includes a built-in guide in the form of tasks with actions you can do:
In Dataverse, there are 18 core tables associated with the “ProjectServiceCore” solution. Recently, an addition was made that increases that number to a total of 33 tables, of which two are most relevant to our work with Power Automate. They are msdyn_project and msdyn_projecttask.
The below image shows the solution interface with tables in the Dataverse.
Now that we have a better understanding of where our data resides, we can start designing automation steps.
Two Scenario’s that Can “Power Automate” Your Work
The first scenario we will explore is that of creating a lightweight intake form for new projects. We will use a Microsoft Forms form to grab basic Project information (just the name, for now). To create a new project using Flow, you require some background values. Be aware that if your organization has added additional required fields, you will also have to provide values for them:
The easiest way to get the information to create a Flow is to grab data from an already existing project. The reason I do this is because of the Calendar ID, a value not easily found in the data it originates from.
Step 1: Grab the Project ID:
Step 2: Build a simple Flow to get the background values, and run it:
The result can be analyzed to get the data we require.
Now that we have the values, we have what we need to build a simple form. The Microsoft Form contains only one value and looks like this:
Step 3: Build a new Flow with a reference to the Project intake form:
The user that fills in the form needs to be a project manager in the system. We can find the user by searching the system users by internal mail address. This can be done by the “List rows” action:
Now, we have all required field values to fill in a new project action (a “Add a new row” action). The moment you select the responder’s information, Flow will wrap the information in a “for each” condition:
Another scenario we can look at is that of creating a Microsoft Teams Channel based on new projects. Connecting different applications together is something Flows can also do successfully. There are some actions to take and some advanced permissions you need to have to build the following automation process. But when you have this Flow in place, you will be able to create new Teams channels automatically based on new projects in Project for the web. Similar steps can be performed when working with Project Online.
In the below video I take you through the steps to perform the needed actions.
Include Project Accelerator for More Options
Dataverse is a flexible environment, we can build upon the core and create additional interfaces designed to work together with the Project for the web solution. In fact, the Dataverse tables hint at additional options that aren’t available from a standard Project for the web configuration. Tables such as Program and Risk, for instance.
Microsoft has supplied an example solution that you can start out with called the Project Accelerator. In this video I demonstrate how to include Project Accelerator in your organization. And in this one, I help you create a project based on a requested solution. It involves Power Automate Flows!
Look at Templates
It might be difficult for some to design or configure a Flow from scratch. For those, templates can be a great starting point. When accessing the Power Automate home page, you will be presented with a wide range of options. You can even enter your tools of choice and see if there are already some related Flows built by the community.
I’d love to know what your experience with Power Automate has been. Leave your comments below. And check out my upcoming webinar, 3 Tips to Power Automate your Project Management Work. I’ll be providing insight in the world of automation by sharing best practices when working with Power Automate and instruction on how to build Power Automate Flows that will help you focus on the things that matter.
Dave Howe
Thank you, Erik. Following along with your guidance, I was able to successfully add a row to Projects table in Dataverse using Power Automate and the Project Online trigger for “when a new project is created v2”, however the row that gets created does not bring in any of the dynamic data I use in the flow. For example, the Project Name is blank despite using the Project Name dynamic content in flow. Any thoughts as to why this is happening?