Usage of Power Platform or an old basic customization ?

Posted by
Version Française disponible ici

For few years now, Microsoft has raised the satellite tools such as Flow, Power BI and PowerApps to be the future business solutions for replacing the ERP customizations, the famous lowcode tools.

In 2019, those 3 tools have been gathered inside the PowerPlatform. It’s regarding this marketing grouping that Flow has been renamed in PowerAutomate. Also adding Power Virtual Agents for chatbox and so on…

Customizing business enterprise solutions, from A to Z, without writing a single line of code : that’s the key to be challenged by the PowerPlateform.

Let’s have a look in more details. Is John Doe able to run his own customizations alone ? No need of customization really ?

Current situation

Dynamics 365 is linked to the PowerPlateform. Microsoft is investing a lot on those tools, much more than the basic developpment tool used for the ERP.

From some times, it’ no longer possible to modify the code of the editor, the developpers have to extend their work, meaning waiting for the standard code to execute and plug the modifications after that. It’s probably restrictive for developpers, who need to adapt to that (when they have some AX 2012 or former expericences), but it’s more easy for deploying the releases from Microsoft (10/ years).

In my view, the philosophy of Microsoft, for fitting 100% of their customer needs within the ERP is the following : standard will cover 80% of your need, our ISV with their own solution will cover the 15% left for your specific business, and the 5% left will be covered through the PowerPlatform.

Can we think in a near future that Microsoft will forbid any customization except ISV ? We can imagine that ! Let’s now have a deeper look on some concrete scenario.

Some easy example to implement through the PowerPlatform

Here is a classical need : I want to notify by email every evening in an automatic way to a dedicated internal resource a list of every customers that have some transaction to settle. From that list my resource will be able to take some actions and send for approval to his manager.

For that, it makes sens to use the PowerPlatform, as 100% of the actions of this process are managed (or could be managed) out of the ERP. The trigger is done on the ERP, but from that, no need to connect again.

Basically, we can create here a business event triggered on ERP alerts, setup a flow through PowerAutomate, or setup a daily electronic report…

Another great example. We don’t have today in standard any workflow based on product creation. We can think of a PowerApps which would be initializing an item record within a CDS entity, and then triggering a PowerAutomate to manage the approval until the creation of the item in the ERP. When the data is not in the ERP initially, no problem at all.

To sum up this, an inbound or outbound process can be easiely managed.

Be carreful at one point : don’t under estimate the work to do. No code indeed, but still work to do ! It begins with finding the appropriate resources as we are using different tools, and run end to end tests. At the end, it’s not sure that the total of effort will be cheaper using the PowerPlatform against a basic customization.

What about security in live environnement ? Who can we refer to when there is a crash on a process managed in the ERP for a part and in PowerAutomate for the rest ? Which support to address ? If someone knows that, I would be happy to read a comment ! 😊

Complex cases

Let’s have a look on some scenario more complexe in my opinion to setup 100% through the PowerPlatform.

I need a new field on the customer record. Opening a PowerApps with that new field… it’s not so ergonomic yet (as far as I know) for an end user. If there is several fields to add it will be more complexe. What about the data model ? A lot of stuff need to be duplicate in the PowerApps ?

Ok we have the add custom field functionality… but it’s dangerous, for many reasons  detailed here…. Not a good option.

Today, it’s seems less ergonomic than doing a basic customization, and also probably more expensive. It’s not someting that can be done in 30 secondes with PowerApps, that’s why we have some PowerApps experts.

Another example, I want to setup an approval workflow when a bank account is created. PowerAutomate could be the solution for this, as there is no such workflow available in standard. But, first, you will still need some « ERP » customization. Building a workflow on an ERP object which doesn’t have any status control available… you will need to customize that. Moreover, some roles/privileges will be needed. For that you can do than by Visual Studio or manually… but still a lot of work to do.

For the PowerPlatform process, don’t forget to add a premium licence for managing PowerAutomate flow connected to the ERP.

A global reflexion of the trigger of PowerAutomate : it could be a timer (every x minutes) or an ERP event, such as Business Events. Be carreful, Power Automate is much more close to a synchrone process – even if not in real time because there is a minimum of 1 minute lead time – than asynchrone. Without additional customization, changing a bank account is immediate within the ERP, and waiting for the PowerAutomate flow to put on hold the change, in order to wait the approval. But there is a time laps between which the user can do action with his update done without waiting approval.

The future !

We can clearly consider those tools will improve every months, in their usage and application. Wave plan 1 is still full of promises.

A user filling his custom field done by PowerApps without seeing any change in the tool, why not. Let’s wait ! We always have to consider those beautiful tools available for us which is the PowerPlatform. Against concurrents, it’s always a good sign for winning presales. But don’t burry (yet) the old customizations which seems to be better solution for some issues in a economic and design perspectives.

Yohann

2 comments

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.