Embedding Canvas apps in model-driven forms in now generally available – Power Platform & Common Data Services

This is something I have tried for quite sometime now under NDA and a Private Preview programme which I found to be really interesting and powerful. This is the ability to embed an existing Canvas App to show up inside model-driven forms. This is now available and really opens up a lot of opportunities for creating pixel-perfect canvas apps that can then be embedded inside Dynamics 365. For example, you can have your Canvas App that reads data from SharePoint, embedded inside your contact entity form. How cool is that!

This is now Generally available. Here is the official announcement:


Using Microsoft Azure Functions instead of Dynamics 365 Plugins, Custom Actions and Custom Workflow Activities

Microsoft Azure has a multitude of Services that are offering a significant number of features and capabilities that can help you extend your Microsoft Dynamics 365 Solution, built on the Power Platform, in many ways.

If I were to follow each and every one of these, it would easily take me hundreds of pages/posts. However, there is one service that if you are not currently already using, then you are genuinely missing out. This is: Microsoft Azure Functions.

Azure Functions is an event driven, compute-on-demand serverless functions that extends existing Azure application platform with capabilities to implement code triggered by events occurring in Azure, Dynamics 365, Power Platform, Power App or any third party service as well as on-premises systems.

There are many things to cover on Azure Functions alone, but the main point I want to cover in this blog post, is how Azure Functions are now literally replacing Power Platform / Dynamics 365 plugins, custom workflow activities and custom actions. This is not an official Microsoft guidance, this is more of a personal conclusion.

If you are a seasoned Dynamics 365 CRM developer, you will remember how we used to build console apps and windows services to do a variety of things for us inside Dynamics 365 (or Dynamics CRM as we called it) but in a complete isolation outside of Dynamics 365 Platform.

Remember all these console apps that would update or insert data inside Dynamics 365? Remember the windows services that would run every 5 minutes to pull data out of Dynamics CRM or insert/Update data in Dynamics CRM? In the old on-premise world, these were prominent ways of running apps or code components in isolation from Dynamics 365 for very good reasons. Nowadays, in the Dynamics 365 world, these can (and should) be done as Microsoft Azure Functions.

Azure functions can act as a webhook, be triggered by an event or setup to run at certain times/dates or ever set intervals. Azure Functions can dip into your Dynamics 365 instance securely, and do all the CRUD (Create, Read, Update, Delete) actions you want it to do. Azure Functions can connect and integrate your Dynamics 365 solution with any other solution including on-premise solutions. Azure functions have no depth like plugins do and are do not have maximum 2 minutes execute time like plugins. There are many more points of comparisons, advantages and differences but I’ll leave that to future posts.

Hence, if you are not using Microsoft Azure Functions in your Dynamics 365 Solutions today, then you should start now. There is a whole world for you out there that you haven’t explored yet.