Using environment variables in a flow’s Excel action

I had a scenario where a flow with an Excel connection had to be usable in different tenants. On top of this, ALM for the flow had to be based on managed solutions. That naturally means there’s no touching and editing the flow after it’s been imported. From the platform’s perspective, environment variables are a means of defining values that differ between environments and tenants. In this… Continue Reading...

Read More

Dynamics 365 Project Operations: Approving time entries using the Project Approver Admin role

Project Operations Lite version 4.58.0.123 A global approver for time and expense has been an ask since PSA V1. The fact that only a Project Team Member set as a Project Approver can approve time and expense for a project has caused gray hair in nearly all PSA and Project Operations implementation projects I’ve done. With the September 2022 release, this has now changed. The September… Continue Reading Antti...

Read More

Time-zone agnostic price defaulting in Project Operations

Project Operations Lite version 4.58.0.123 The time-zone agnostic price defaulting capability was introduced in the September 2022 update for the lite and resource/non-stocked deployments of Dynamics 365 Project Operations. The core idea of the capability is for pricing of time entries, basic expense entries, and material usage logs to default based on a new column called Transaction date… Continue Reading Antti Pajunen’s...

Read More

External scheduling in Project Operations

Project Operations Lite version 4.58.0.119 One of the controversial pieces in Dynamics 365 Project Operations has always been the infused Project for the web experience for managing projects. While P4W works for the accidental project managers it’s built to serve, its capabilities are often times light for organizations investing in a project management ERP like Project Operations. This is… Continue Reading Antti...

Read More

Upgrading from PSA to Project Operations in upgrade Phase 2

The long-awaited Phase 2 upgrade from Dynamics 365 Project Service Automation to Dynamics 365 Project Operations is around the corner, with general availability in November 2022. While the Phase 1 upgrade was for scenarios where projects have no dependencies on their work breakdown structure (WBS), the Phase 2 upgrade is specifically for scenarios where a WBS is within the currently supported… Continue Reading Antti...

Read More

Revising quotes in Project Operations

Tested on Project Operations on Dataverse version 4.46.0.60 The long-awaited feature for revising quotes in Dynamics 365 Project Operations was released in the September 2022 update. The feature enables revision capabilities for easier tracking of quote versions. Let’s go through the feature and see how it works in action. Revising quotes First, the quote revision feature has to be… Continue Reading Antti Pajunen’s...

Read More

Subcontracting in Project Operations Lite – Part III

Tested on Project Operations on Dataverse version 4.44.0.22 In part II we looked at managing vendor resources and how they’re booked to projects. This post of the three-part series focuses on vendor invoicing. When vendors send invoices for materials and services they’ve delivered, those invoices need to be matched with costs recorded on related projects. Vendor invoicing is a feature that… Continue Reading Antti...

Read More

Subcontracting in Project Operations Lite – Part II

Tested on Project Operations on Dataverse version 4.43.0.119 In part I we looked at the basic concepts of subcontracting and how subcontracts are created. In this post, we’ll look at contract worker resource management so that we’ll learn how contract workers are booked to a project as subcontractors. The entire booking process isn’t very different from how user-based bookable resources are… Continue Reading...

Read More

Subcontracting in Project Operations Lite – Part I

Tested on Project Operations on Dataverse version 4.41.0.45 The final bits and pieces of subcontracting landed Dynamics 365 Project Operations Lite in April 2022. Subcontracting has been a highly anticipated feature since ProjOps’ preview and it’s also been quite a substantial effort for the product team to roll out. While April 2022 marks the release of the final pieces in subcontracting… Continue Reading Antti...

Read More

Faster Time Entries in Project Operations: Automatically filling the Time Entry grid

Tested on Project Operations on Dataverse version 4.28.0.120 (February 2022) Do I always have to use quick create to create a new Time Entry? Is there a way to automatically fill the Time Entry grid with all projects a resource is on? Is there a way to see all projects automatically on the Time Entry grid? If you work with Dynamics 365 Project Operations then you’ve most likely been… Continue Reading Antti Pajunen’s...

Read More

Project for the web to Project Operations migration with Power Automate

Migrating Project for the web projects from the default environment is a question I get asked every now and then. Sometimes customers want to migrate their P4W projects to Project Operations. Another ask is migrating P4W projects from default to a Dataverse production environment. With the Project schedule APIs, there’s an answer to these asks. P4W projects are heavily reliant on data like… Continue Reading Antti...

Read More

Change Requests in Project Operations – Part II

Tested on Project Operations on Dataverse version 4.26.0.155 (November 2021) In part I we looked at processing CR documents from SharePoint by using Power Automate and AI Builder. In part II we’ll append a processed CR to an order and a project. This way time entries can be pointed to new project tasks, which are created from the CR. The idea is that when a CR is appended to a project and… Continue Reading Antti...

Read More

Project Operations and Project for the web: Schedule API guide for Power Automate users

Tested on Project Operations Lite solution version 4.26.0.155 (November 2021), Project for the web solution version 1.0.26.153 The Project schedule APIs are the only means of programmatically creating, updating, and deleting Scheduling tables in both Project Operations and Project for the web. This blog post serves as a guide to programmatically creating rows in the Scheduling tables by… Continue Reading Antti Pajunen’s...

Read More

Change Requests in Project Operations – Part I

Tested on Project Operations on Dataverse version 4.26.0.155 (November 2021) Perhaps one of the most frequent requests I see in Dynamics 365 Project Operations projects is the ability to create and process change requests (later CRs). As of December 2021, such a feature is still missing from ProjOps, but that doesn’t mean we can’t make them happen with a bit of creativity. I recently played… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Creating Invoice Attachments With Power Automate – Part II

Tested on Project Operations on Dataverse version 4.25.0.91 (October 2021) In part I we looked at creating invoice attachments based on an invoice’s Invoice Line Details. In part II the focus shifts from a granular invoice level to a more high-level approach, focusing on projects and approved time entries. The approach in part II is significantly simpler as only approved time is regarded,… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Creating Invoice Attachments With Power Automate – Part I

Tested on Project Operations on Dataverse version 4.25.0.91 (October 2021) Invoice attachments. That’s a conversation that gets my brain in an infinite loop. Creating invoice attachments has never been a very easy or straightforward task with the native tools available on Power Platform. Simple scenarios can be managed with Word templates or Excel templates but Dynamics 365 Project… Continue Reading Antti Pajunen’s...

Read More

Dynamics 365 Project Operations and PSA: Approval Sets in Modern Approvals

Tested on Project Operations on Dataverse version 4.25.0.91 (2021 wave 2 EA) Approval sets are a feature that was originally introduced in PSA. The feature later graduated to Dynamics 365 Project Operations but there hasn’t been a lot of chatter about it. It kind of snuck in unannounced to help process large volumes of project approval rows. Project approvals have always been a bit sluggish… Continue Reading Antti...

Read More

Dynamics 365 Project Operations and PSA: Assigning a resource on a project for multiple roles

Tested on Project Operations on Dataverse version 4.25.0.91 (2021 wave 2 EA) A hidden gem that quite a few people seem to miss is the capability to assign multiple roles for a resource who is working on a project. The capability has been around for a while in PSA as it was introduced back in 2020. The docs article found here describes the setup process but I decided to write a short blog… Continue Reading Antti Pajunen’s...

Read More

Dynamics 365 Project Operations: Automating weekly time entry reminders to resources and managers

Tested on Project Operations on Dataverse version 4.23.0.7 (2021 wave 2 EA) A frequent ask in Dynamics 365 Project Operations implementations is a weekly reminder that is sent to resources and their managers, when a resource’s weekly time entries fall below a defined minimum. A weekly minimum is usually equivalent to the number of hours a resource works during a regular work week. In my… Continue Reading Antti...

Read More

D365 Project Operations, Project for the web: Calling Schedule APIs from Power Automate without custom connectors

Tested on Project Operations on Dataverse version 4.12.0.152 (July 2021 update), Project for the web solution version 1.0.12.148 The last time I wrote about Schedule APIs, custom connectors were the only way to call some of the APIs from a cloud flow. This was due to a Power Automate related bug, where some of the APIs (for example msdyn_PssCreateV1) didn’t work when they were called with… Continue Reading Antti...

Read More

D365 Project Operations & Project for the web: Using Schedule APIs with Power Automate’s native unbound actions

Tested on Project Operations on Dataverse version 4.12.0.152 (July 2021 update), Project for the web solution version 1.0.12.148 The last time I wrote about Schedule APIs, custom connectors were the only way to call some of the APIs in a cloud flow. This was due to a Power Automate related bug where the native unbound actions didn’t work. As of ca. August 2021, the bug with Power Automate… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Nonstocked materials

Tested on:Project Operations solution version 4.12.0.152 (July 2021 update), F&O 10.0.20. Nonstocked materials were introduced in the 2021 release wave 1 for Dynamics 365 Project Operations. The feature is two-fold as it provides a way to record material usage on projects and projects tasks (lite and integrated deployments) and purchase nonstocked materials using pending vendor invoices… Continue Reading Antti...

Read More

Two-way sync of bookings between Dynamics 365 and Outlook, Part IV – Deleting bookings

In part III we looked at how bookings are synced from Outlook to D365. In this part we’ll look at how an event can be deleted in Outlook after its related booking is deleted in D365. While bookings deleted in Outlook are deleted in D365 with the cloud flow covered in part II, bookings deleted in D365 aren’t that easily reflected in Outlook. This is because the Dataverse trigger used in cloud… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Using Schedule APIs with Power Automate and custom project templates

Tested on Project Operations on Dataverse version 4.11.0.156 (June 2021 update) Schedule APIs were introduced to public preview in the spring of 2021 for Dynamics 365 Project Operations and Project for the web (later P4W). They’re used to programmatically create, update, and delete what are known as scheduling tables. These tables are listed below. Table nameTable logical… Continue Reading Antti Pajunen’s Article on...

Read More

Two-way sync of bookings between Dynamics 365 and Outlook, Part III – Sync from Outlook to D365

In part II we looked at syncing bookings from Dynamics 365 to Outlook. In this part we’ll look at syncing existing bookings from Outlook to Dynamics 365. Events originating from Outlook as new events are not synced so this blog post only covers syncing existing events. I might write a separate blog post about syncing events that Originate from Outlook, after relevance search in Power Automate… Continue Reading Antti...

Read More

Scheduling modes in Project Operations and Project for the web

Tested on Project Operations on Dataverse version 4.10.0.186 (May 2021 update) Scheduling modes have landed in Dynamics 365 Project Operations and Project for the web. If you have used Microsoft Project (the desktop application) before, then you might be familiar with task types for fixed units, fixed work, and fixed duration. While in the desktop app the task type can be changed on a task… Continue Reading Antti Pajunen’s...

Read More

Two-way sync of bookings between Dynamics 365 and Outlook, Part II – Sync from D365 to Outlook

In part I we looked at change notifications in Graph API. In this part II we’ll cover how bookings (Bookable Resource Bookings) are synced from Dynamics 365 to Outlook when bookings are created, updated or deleted. To clarify terminology, bookings, Bookable Resource Bookings, and BRBs are used interchangeably in this blog post. Before we move on, I want to emphasize that the entire concept… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Diagnosing an empty staging table and integration journal

Tested on:Project Operations solution version 4.9.0.52 (pre-alpha), F&O 10.0.16. I recently redeployed my F&O T2 and Dataverse environments in hopes of seeing my F&O T2 appear in PPAC. While the whole deployment process has small details that have changed and evolved since ProjOps’ GA, the overall process has remained the same: Deploy F&O, deploy Dataverse, link environments, choose legal… Continue Reading...

Read More

Project for the web: Deploying to sandbox and production Dataverse environments and syncing users

Deployment to sandbox and production Dataverse environments became available for Project for the web in early 2021. Prior to that it was only possible to install P4W in a tenant’s default environment. While the possibility to install P4W in a sandbox or a production is a great win for ALM, there are some caveats to keep in mind: When P4W is installed in a sandbox or a production… Continue Reading Antti Pajunen’s...

Read More

Two-way sync of bookings between Dynamics 365 and Outlook, Part I – Change Notifications

Syncing Bookable Resource Bookings between Dynamics 365 and Outlook has been a hot topic since Microsoft officially deprecated the feature. I wrote about syncing bookings to Outlook with Power Automate back in 2019. While a one-way sync has always been fairly easy to achieve, I received a fair amount of feedback that customers are looking for a two-way sync between D365 and Outlook. This has… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Changing the “bill to” customer after invoicing

Tested on:Project Operations solution version 4.6.0.123 (pre-alpha), F&O 10.0.15. The Dynamics Community forums had an interesting question about changing the “bill to” customer after invoicing. With a “bill to” customer I mean the customer at the receiving end of an invoice. While this is a pretty frequent requirement (I’ve been in this situation myself many times), there isn’t a simple…...

Read More

Deploying ProjOps for Dataverse+F&O based integrated scenarios, Part II – T2 F&O with Dataverse

In part I we deployed a Cloud-hosted T1 F&O with Dataverse. In part II, we’re going to deploy F&O as a Microsoft Managed T2 sandbox for UAT with Dataverse. But what does Microsoft Managed mean? A Docs article states that : “A Microsoft subscription means that the customer purchases Finance and Operations licenses, which will then allow them to deploy environments to an Azure subscription which… Continue...

Read More

Deploying ProjOps for Dataverse+F&O based integrated scenarios, Part I – T1 F&O with Dataverse

Dynamics 365 Project Operations has three different deployment options. In simple terms, the different options are Dataverse only, F&O only and Dataverse+F&O integrated. The Dataverse only deployment is similar in nature to what Project Service Automation offers. The F&O deployment could be considered as an implementation of the PMA module in F&O and the integrated deployment is exactly what… Continue Reading...

Read More

Dynamics 365 Project Operations: Importing time entries, Part II – Recalls

Tested on:Project Operations solution version 4.4.0.70 (UR 4), CE-only deployment In my previous post I talked about importing and integrating time entries from a 3rd party system into Dynamics 365 Project Operations. Sometimes there might be a need to roll back an imported entry batch though. This doesn’t only apply to import scenarios but to everyday use of ProjOps as well. The ask of… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Importing time entries, Part I

Tested on:Project Operations solution version 4.4.0.70 (UR 4), CE-only deployment Time entries play an important role in Dynamics 365 Project Operations. They are instrumental in the creation of business transactions as both the cost and sales components of Actuals are created based on approved time entries. Sometimes organizations have a time tracking system that they prefer to keep,… Continue Reading Antti Pajunen’s...

Read More

Dynamics 365 Project Operations: Transaction Categories and Expense Categories

Tested on:Project Operations solution version 4.3.0.59 (UR 3), CE+F&O integrated deployment Transaction Categories and Expense Categories have an important role in the setup of Dynamics 365 Project Operations. They’re used in all deployment options. In the CE only “lite” deployment they work exactly as they did in Project Service Automation. An integrated CE+F&O deployment adds additional… Continue...

Read More

Dynamics 365 Project Operations: Billing methods on project tasks

Tested on:Project Operations solution version 4.3.0.59 (UR 3), CE-only deployment The General Availability of Dynamics 365 Project Operations has introduced a long-awaited feature of billing and chargeability options for project tasks. As I’m writing this blog post, this feature is currently only available in a CE-only deployment however the integrated CE+F&O deployment will also receive… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Updating from public preview to GA in a CE only scenario

Dynamics 365 Project Operations became generally available (GA) on October 1st, 2020. With GA, many have already asked if the public preview version 4.2.0.24 (UR 2) of ProjOps can be updated to the GA version 4.3.0.59 (UR 3). This blog post will look at the CE side of things and on that side, the short answer is YES! ProjOps definitely can be updated however data upgrades are not supported…. Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Configuring Dual Write alerts

Tested on:Dual-write application orchestration solution version 2.0.777.353Dual-write core solution version 1.0.18Project Operations solution version 4.1.0.35 (UR 1) Alerts in Dual Write help admins react to planned and unplanned maintenance. During the Dynamics 365 Project Operations public preview, a common scenario is to turn off the F&O Virtual Machine while the Customer Engagement side… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Advances and Retainers

Tested on: ProjOps version 4.1.0.35 (public preview, UR1) Advances and Retainers is a new feature that was released with the UR1 update of Dynamics 365 Project Operations. With this feature, upfront payments can be defined. The value of delivered services can then be reduced from the advance/retainer amount. If delivered services exceed the advance/retainer amount, the difference is… Continue Reading Antti Pajunen’s...

Read More

Dynamics 365 Project Operations: Not-to-exceed limits

Tested on: ProjOps version 4.0.0.726 (public preview) The 2020 release wave 1 introduces quite a few really exciting new features to the Dynamics 365 Customer Engagement core of Dynamics 365 Project Operations. One of the new features is the ability to set up not-to-exceed limits for project contracts and quotes, with the possibility of enforcing them at invoicing. While some additional… Continue Reading Antti Pajunen’s...

Read More

Dynamics 365 Project Operations public preview: Copying CE environments in the Full Deployment option

Tested on: ProjOps version 4.0.0.726 (public preview) As I’m writing this blog post, the Dynamics 365 Project Operations public preview has been running for 2.5 weeks. At the moment, the Product Team offers three different deployment options: Full Deployment (CE+Project Management and Accounting in F&O).Customer Engagement only.Project Management and Accounting (F&O) only. The ProjOps… Continue Reading Antti...

Read More

Dynamics 365 Project Operations: Split billing

Tested on: ProjOps version 4.0.0.726 (public preview) Dynamics 365 Project Operations introduces certain enhancements to Quotes and Project Contracts. All enhancements are described in the 2020 release wave 1, and one of them is split billing. With this new feature, it’s possible to add multiple accounts to a Quote or a Project Contract (Order) and define a billing split percent for each… Continue Reading Antti...

Read More

Dynamics 365 Project Service Automation: Time Entry recall request comments with Power Automate

Tested on: PSA version 3.10.30.41 Project resources occasionally make mistakes with time entries and want to recall them. If a time entry has already been approved, a user recalling them is given an option to type a reason for their recall request. One might think a project approver will then get a notification with comments about the request. In reality, a recall request is only seen on… Continue Reading Antti Pajunen’s...

Read More

Dynamics 365 Project Service Automation: Creating a Project Team Template

Tested on: PSA version 3.10.30.41 A recent customer ask was about creating a project team automatically when a Project was created in PSA. While creating a project team is usually a one-time effort at the beginning of a project, I do see value in project team templates in cases where teams are fairly static and they’re assigned on different projects. The ask sounded interesting so I wanted… Continue Reading Antti...

Read More

Dynamics 365 Project Service Automation: Resource Utilization Grid

Tested on:PSA version 3.10.20.4 I was talking with fellow MVP Mohamed Mostafa about utilization in PSA and our conversation got me thinking it’s time to revisit that old topic. MVP Scott LeFante did a thorough investigation into utilization back in 2018 but back then the utilization grid was “same but different”. As the grid has since changed and there is now even official documentation by… Continue Reading...

Read More

Dynamics 365 Project Service Automation: Settings and Parameters

Tested on:PSA version 3.10.20.4, Update Release 17.5 One of the first blog posts I wrote was a checklist for PSA’s basic settings. This was before V3 and features like Multidimensional Pricing or what was introduced in the October ’18 release wave. I’ve always used a checklist for PSA’s basic settings and parameters when I’ve started an implementation project. That checklist has proven very…...

Read More

Dynamics 365 Project Service Automation: Weekly time entry reminders with Power Automate

Professional services organizations want their staff to submit time entries promptly. Some organizations require employees to submit time entries daily, while weekly time entries are in general probably the most common practice. Sometimes people forget so a helpful email reminder can come in handy. Personally, I’m fairly precise with my time entries but sometimes I simply forget to submit them… Continue Reading Antti...

Read More

Dynamics 365 Project Service Automation: Update and fix Date on Time Entry

Tested on:Dynamics 365 PSA version 3.10.9.21 Time Entries in PSA can be created by using either the quick create form on Time Entry or the Time Entry Grid PCF control that is by default enabled on the entity. If we look at the msdyn_date (Date) field after a Time Entry record has been created, the field’s value is displayed in a user’s local time in the UI. So far so good. This is how it… Continue Reading Antti...

Read More

Dynamics 365 Project Service Automation: Helpful Time Entry and Project Approval views

Tested on:Dynamics 365 PSA version 3.10.9.21 Time Entry and Project Approval entities usually need to be complemented with custom views in D365 PSA projects. This blog post has examples of some common requirements for custom views. Before we jump into the examples, it’s good to remind ourselves of a couple of points on how PSA behaves: When a Project Team Member is set as a Project… Continue Reading Antti Pajunen’s...

Read More