The future of Dataverse plugins

The future of Dataverse plugins

Using the Dataverse plugin framework is one of the most common ways of extending Microsoft Power Apps and Dynamics 365 functionalities with custom .NET code. The problem with it is, however, that it is still based on the old .NET 4.6.2. Framework version and does not allow us to use many modern programming techniques and approaches to problem solving. What is more important, Microsoft plan is to deprecate the mentioned version of .NET Framework and it will lose official support on 12th of January 2027 (according to: https://learn.microsoft.com/pl-pl/lifecycle/products/microsoft-net-framework)

In this text, I would like to play clairvoyant and try to predict what could be the future of the Dataverse plugin framework. Just one clarification. I’m not a Microsoft employee, and I do not have any internal insides regarding this topic. My prediction has been made just for fun and based on my general thoughts and experiences.

Option 1 – Upgrading .NET version

Yes. It could be the most obvious option. Let’s upgrade .NET version and on the Dataverse servers to the newest available version (in the moment of writing this article – the latest supported .NET runtime version is 8) and everybody will be happy. The problem with this approach is that there are some areas of Dataverse and Dynamics 365-related functionalities when a good old .NET Framework is still required. Do you remember WCF endpoints from Dynamics CRM? Or a classic workflow engine based on WF (Workflow Foundation)? They are still parts of the Dataverse platform, and I would assume many Microsoft’s customers are still using the mentioned features.

Option 2 – It is a low-code world

There is a possibility of creating a Dataverse plugin using no-code tools without the necessity of writing C# or other .NET-platform code. Maybe there is a plan to replace custom code plugins with it, however, it will not happen soon. The low-code plugins editor is very poor, and it is dedicated only to very simple scenarios. It is not integrated with other components of Power Platform (for example, the collection of connectors to the external services and databases). Power FX is not a favorite tool of many people in the model-driven apps developer community. And the stability of the whole framework and tooling is not perfect right now. So, there is a long, hard road before low-code plugins become any kind of replacement for custom-code ones.

Option 3 – Maybe Azure Function then?

Azure Functions are serverless solutions dedicated to implementing code without taking care of infrastructure, hardware resources, and all the things, developers don’t like when thinking about their job 😊. There are many possibilities of triggering serverless functions, and one of them is raising a Dataverse pipeline event. There is also a possibility to pass the whole event context to the function as an input parameter and call back the Dataverse API from it. So, does it look like a perfect replacement for plugins? Unfortunately, no. The problem with Azure Functions is that they are not tightly integrated with the Dataverse events pipeline. It is not possible to run code synchronously or cancel the Save operation using function code. Maybe there will be some upgrades in this area, but at this moment Azure Functions are not a 1:1 replacement for the classic plugins’ framework.

Basing on the previous predictions, we may say there is no perfect option for Microsoft Dynamics or model-driven Power Apps developers to wake up in the modern .NET world. Every described possibility has some disadvantages and cons, and it requires removing some features from the platform. Personally, I would prefer the first described option, but I’m aware it is not an optimal solution for many customers and business scenarios. Nevertheless, whatever it will be, the future looks very interesting.