The New Microsoft Project Experience – Zero to Hero

Paul Mather


In this eBook, we will look at the new Project for the web application, which is Microsoft’s cloud-based version of their Project app. This book will cover how it is architected and deployed by Microsoft, what functionality it offers out of the box and how it can be further extended by using the Power Platform.

In this eBook, we will look at the new Project for the web application, which is Microsoft’s cloud-based version of their Project app. This book will cover how it is architected and deployed by Microsoft, what functionality it offers out of the box, and how it can be further extended by using the Power Platform.

Project for the web stores its data in the Common Data Service (CDS), which is the data storage service used by Power Platform services such as Power Apps and Power BI and has been built from the ground up to be a native CDS application.

Being built in this way means that it easily fits into the rest of Microsoft’s Power Platform suite of products, which means its functionality can be extended easily using no-code solutions.

It also provides an intuitive, modern UI that is easy to use but, at the same time, powerful and offers all the functionality you would expect. Some other key features include:

  • Autosave – changes to a project are saved automatically in real-time so new versions don’t have to be manually published
  • No check-in/out – when you open a canvas you can go straight into editing it and don’t need to check it out
  • Co-authoring – multiple users can edit project schedules at the same time
  • Office 365 Group Security
  • Responsive UI across all devices

Project and the Power Platform

As mentioned previously, Project for the web is built on the CDS so you can make use of other Power Platform apps and services to enhance the out-of-the-box functionality of Project. This includes:

  • Power BI – provides reports and dashboards to allow you to analyse and all the data associated with your projects
  • Power Apps – allows you to build custom apps to extend the capabilities of Project and add further functionality that isn’t available out-of-the-box
  • Power Automate – enables organisations to automate certain background processes and business workflows e.g. approvals and e-mail notifications
  • AI Builder – allows you to use Microsoft’s AI applications to analyse data and intelligently predict possible outcomes. Once AI models are ‘trained’ with historical data they could then be used to predict things such as when risks will likely become issues or the likelihood of a project succeeding or failing

Project Overview

There are two entry points for accessing Project for the web. The Project Office UI (an example of which can be seen in the introduction section) is the default method of access and can be accessed from the Project home screen (

There is also a default model-driven app, which can be used to access Project via the Power Apps interface.

Project is deployed in your Office 365 tenant via a managed solution and this contains all the required components, such as entities that store all the data, resource and JavaScript files and the Project app itself.

The key CDS entities that are used in Project include:

  • Project
  • Project Parameter
  • Project Task
  • Project Task Dependency
  • Project Team Member
  • Project Bucket
  • Resource Assignment
  • Bookable Resource

Project for the web and Project Online

Many organisations are currently using Project Online, which is still a useful tool and isn’t going to go anywhere any time soon. As the above diagram shows, Project for the web and Project Online can be used side by side and both Project types can be accessed from Project Home.

Project roadmaps can be created that surface data from both Project for the web and Project Online and Power BI can be used to build visualisations and reports that allow you to analyse data from both versions of Project. Data from Azure project boards can also be included in Project roadmaps and Power BI reports and dashboards.

Project UI

The screenshot below shows what the Project Home screen looks like:

It shows the most recent projects that you have accessed and allows you to pin particular projects as favourites, so your most important projects can always be accessed easily.

Creating a new Project

To create a new project, you click the New blank project button at the top of the screen. This opens a blank canvas where you can begin to build your project:

The first thing to do with a new project is to give it a name, which can be done by clicking Untitled project in the top left-hand corner of the screen:

As well as changing the project name, you can also set the Project Manager and set the start date of the project. If you need to do this, you can click the ellipsis above the project name and select Delete project.

Grid View

The default view of a project is the grid view, and as the name suggests it displays task information in a grid/table style view with columns to display metadata for the tasks.

Once you’ve set a name, you can then start adding tasks to the project using the grid view. This can be done by clicking Add new task and then typing in the name(s) of the tasks you want to add:

You can indent tasks, so they appear as subtasks of the task above. To do this, select the tasks you want to indent, right-click, and then choose Make subtask:

The tasks you selected will then appear as subtasks under a parent task as shown below:

Keyboard shortcuts from previous versions of Project can also be used to perform tasks such as this. For example, Alt+Shift+Right arrow key will indent the selected tasks as above.

By default, the Project interface shows a small number of columns – Task name, Assigned to, and Duration. Extra columns can be added by clicking Add Column and then choosing the column you want to add:

Once the extra columns have been added they can be rearranged by dragging the column name to the required location on the grid.

When you come to assigning tasks to people, the only person who will show initially will be the project owner:

However, you can then start typing a name in the search box, and it will search for existing users in your Office 365/Azure environment. The first time you add a new user to your project, you will see a prompt about connecting your project to a new or existing Office 365 group:

Any subsequent people you assign to tasks in your project will then be added to this group, which will give them access to other shared Office 365 resources as well as the project itself.

Clicking the information icon next to a task name will display information about that task:

Here you can make additional changes to a task such as adding notes, setting dates and duration as well as any effort for the task. You can also add dependent tasks using the Add dependency button, but we will cover this later using a different interface.

To complete a task, you simply click the check the checkbox to the left of the task name, which then completes the task and automatically sets the % complete field to 100%:

Board View

The second view that is available is the board view and this displays tasks in various ways such as grouping by buckets, progress, and finish date:

Group by bucket enables you to create your own custom buckets, and tasks can then be moved between the buckets by dragging the task cards. This gives you the option of managing tasks on a Kanban-style board.

The group by progress view is similar to the bucket view, but there are three progress lanes where again tasks can be dragged and dropped:

The difference with this view is that that when you drag tasks into the different progress lanes then the task progress is automatically updated. As can be seen in the image above, if a task is dropped into the In progress lane, then the % complete for the task is automatically set to 50%. If a task is dropped into the Completed lane then the % complete is set to 100% and the task is marked as complete.

Group by finish date shows when tasks are due to finish so you can easily see which tasks are due for completion:

Timeline View

This view gives a graphical representation of tasks in a Gantt chart style view, which is the kind of view people most associate with Project:

Each bar represents the length of time that a task is due to last and a timeline of dates are displayed above, so users can easily see when tasks are due to start and finish.

Task dependencies can easily be created in this view by dragging one end of a task to the start of another:

Task durations can also be changed in this view by dragging the end of a task and increasing its length to the desired end date.

Model-driven app

The other method of accessing Project on the web is by using the model-driven app. Model-driven apps are a type of app created in Power Apps and are built around the entities that you design (in this case, the Project entities referenced earlier).

The home screen of the model-driven app displays your projects, and there are a few different views such as active projects and closed projects:

A project can be opened by clicking its name and then summary information will be displayed about the project:

Clicking the Tasks tab displays the same Project Office UI that was shown in the previous chapter. All the same, views are accessible here, and everything is interactive in the same way as if you were using the Office UI:

There is also an Open in Project button in the model-driven app, which allows you to open your project in the full Office UI. Regardless of the method you use to make changes, it is the same data in the background, so changes made in the Project Office UI will reflect in the model-driven app and vice versa.


Roadmaps are another feature of Project and can be accessed from the home screen of the Project Office UI. A new roadmap can be created by clicking the dropdown next to New blank project and then selecting New roadmap:

A roadmap allows you to add multiple projects into it and as mentioned previously these can be projects from Project for the web or from Project Online. To add a project to a roadmap you click on Add row. You can then give the row a name, assign an owner and then choose whether to connect it to a project or an Azure board:

If you select Project, you are then presented with a list of your recent projects and the ability to search by name if you have a large list of projects:

Once the project has connected you can then choose which tasks you want to appear in the roadmap:

Once the tasks have been added, that project will then appear on the roadmap along with any others that have been added. The status of tasks in the roadmap can also be set to show if they are on track or at risk etc:

Extending and customising Project for the web

As mentioned previously, one of the advantages of Project for the web is the ability to extend the basic Project functionality using the Power Platform.

Custom App Walkthrough

This section will walk through an example of a custom model-driven app created in Power Apps to manage projects and programs. There is a navigation menu on the left-hand side of the app, allowing users to switch between the different entities and the main section displaying details of the selected entities:

Examples of some of the custom columns included in this app are:

  • Overall status – includes colour icons to represent the different status types and this is achieved by adding JavaScript to the option values
  • Estimated Program Cost – as projects are related to programs this field is a rollup displaying the total estimated cost from all related projects
  • Program Remaining Budget – a simple calculated field that works out the remaining budget by subtracting estimated cost from the overall program budget

When you click on a program a custom form then appears displaying its details:

You can see that there is a Last updated value next to the calculated field Estimated Program Cost. This is because calculated fields in the CDS aren’t updated in real-time when their dependent fields change but are updated by a background job within around 24 hours.

The Projects tab displays all related projects, and a project can be selected by clicking its name in the list. This then displays the custom forms for a project:

You can see that this form also includes a process flow along the top, and this can be set to be dependent on settings in the project. For example, if you change the Project Type field to Moderate, the Planning Review stage in the process flow is no longer required, so it disappears from the top of the form.

By clicking on the current stage, you can then add any required information and move it onto the next stage:

Below the business process stages, you can also see various tabs used to display different related entities for the project such as tasks, comments made when moving between stages as well as risks and issues:

As well as viewing current items in these tabs you can also add new ones so, for example, a new risk can be created from the Risks tab:

Existing risks can also be escalated into issues and this can be done by selecting the Escalation tab and then setting Escalate To Issue to Yes:

Once this has been done a Power Automate flow is triggered in the background, which will escalate the risk into an issue and set the escalated date:

An issue will also be created in the issues list:

An overview of the Power Automate flow is shown below. The flow triggers when the Escalate To Issue field is modified in the CDS entity, and then it checks to make sure the field has been set to Yes:

If the field is set to Yes then the flow creates a new issue:

The related risk is then updated to add the escalated date, and the risk status is set to Closed:

Another example of some automation in this custom app can be seen in the Status Updates tab in the project form:

This allows project owners, managers, and stakeholders to post status updates about the project.

When items are added, some sentiment analysis of the update text is automatically done, and again this is done using a Power Automate flow:

Another piece of functionality in this custom app is the ability to export project status updates to a Microsoft Word document. This is accessed using the Word Templates button on the top menu of the app:

No code is required to set up these document templates, and you simply drag and drop fields from the Project app/entities into the specified parts of the template. Clicking one of the templates from the menu then populates the template with data from the project and creates a Word document:

How was this done?

There are three main steps to setting up a custom app for managing project and program data:

Add custom fields to Project CDS entities

There are a large number of out-of-the-box fields included with the Project CDS entities, but you can create your own custom fields. Examples of these in the app we’ve looked at include rollup fields such as the Estimated Program Cost field and calculated fields such as the Program Remaining Budget:

Define Business Rules

Business rules can be set up so you can define how your app behaves based on the values of fields. For example, in our app, the following business rule checks the estimated cost field, and if it is 30,000 or more, then it makes the cost justification field required, so the user must fill this in. If the estimated cost is less than 30,000, then the cost justification field is not required.

Configure custom views

You can create custom views of all entities used in the Project solution to control what information is displayed. An example of this would be the Active Projects view used in our app.

Create custom forms, dashboards, and charts

You can easily create custom forms to control how the user views and enters details for each entity. This is a simple drag and drop designer where you can add sections, tabs etc and then place your fields wherever you need them:

Custom dashboards and charts can also be created in the same way if required.

Create the app

Once you’ve customised the entities you then need to create the model-driven app itself, which is done in the Power Apps designer. This involves adding all the entities you want to display and as well as the forms, views, and dashboards that will display information for each entity:

Once the app is published, you can then share it with the required users, and they can use it to manage their project information.

Integration with Microsoft Teams

Project for the web can also be added into a channel tab in Microsoft Teams.

The example below shows how the Exchange Migration Project has been added to the IT Projects channel in the PMO Team:

The Project tab is fully interactive, and you can add, edit, and remove tasks just as you can in the normal Project Office UI environment or in the model-driven app.

One thing to note when adding Project as a tab is to ensure that the query string dynamicsUI=true is added to the end of the URL as shown below:

This ensures that you get a better-embedded experience, and none of the Office navigation shows in the tab.

Another example of Teams integration is using the Team Posts tab to display messages and alerts about projects. Power Automate flows can be used to post messages or adaptive cards to alert users when tasks are overdue, for example:

This example flow checks for overdue tasks every week and then posts an adaptive card displaying details of the task to the channel in Teams:

Finally, you can also display Project reports produced in Power BI in a Teams channel tab:

0000-00-00 00:00:00

Leave a Reply

Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}