Plugin Dataverse, flow Power Automate ou plug-in low-code Power Fx : comment choisir la bonne techno
Flow Power Automate, plugin .NET classique ou plug-in low-code en Power Fx : trois façons d'exécuter une logique métier sur Dataverse, avec des garanties très différentes en matière de cohérence transactionnelle, de performance et de maintenabilité.
Par Consultants Power Platform

Pour exécuter de la logique métier automatisée sur une table Dataverse, trois options existent aujourd'hui : le flow Power Automate (no-code, orchestration), le plugin .NET classique (code, performance et contrôle total) et le plug-in low-code en Power Fx (le nouvel arrivant, encore en preview). Le bon choix dépend presque toujours de trois questions simples : la logique doit-elle s'exécuter dans la transaction Dataverse elle-même ou peut-elle tolérer un léger délai, qui va la maintenir dans la durée, et à quel point elle doit rester lisible quand elle grossit. Ce sont ces trois critères, bien plus que la mode du moment, qui doivent guider l'architecture.
Trois façons d'exécuter de la logique métier sur Dataverse
Les trois options ne sont pas interchangeables : elles s'exécutent à des moments différents du cycle de vie d'un enregistrement, avec des garanties différentes.
Le flow Power Automate : l'option no-code
Un flow Power Automate déclenché sur un événement Dataverse (ajout, modification, suppression d'une ligne) s'exécute hors de la transaction qui a créé ou modifié cette ligne. C'est un processus séparé, orchestré par le moteur de Power Automate, qui peut appeler des centaines de connecteurs (Teams, Outlook, SharePoint, API externes), inclure des approbations humaines et tourner sur des durées longues. En contrepartie, un flow ne peut pas annuler automatiquement l'opération Dataverse qui l'a déclenché : si la logique métier échoue après l'enregistrement de la ligne, il faut gérer la compensation soi-même, en général avec des scopes try/catch explicites.
Le plugin .NET classique : le code pour la performance et le contrôle
Un plugin .NET classique est une classe C# compilée, enregistrée dans Dataverse sur une étape précise du pipeline (pré-validation, pré-opération, post-opération), en mode synchrone ou asynchrone. Il s'exécute dans la même transaction que l'opération Dataverse : s'il lève une exception en pré-opération, l'enregistrement est annulé dans son intégralité, ce qui en fait la seule option pour garantir une vraie cohérence transactionnelle. Il demande en revanche un développeur, un pipeline de build et de déploiement, et une discipline de tests que les équipes low-code n'ont pas toujours en interne.
Le plug-in low-code Power Fx : la troisième voie, encore en preview
Les plug-ins low-code Dataverse permettent d'écrire cette même logique en Power Fx, sans compilation ni enregistrement manuel, directement depuis l'application Dataverse Accelerator. Un plug-in « automatisé » se déclenche sur un événement de table, comme un plugin .NET, et un plug-in « instantané » s'appelle manuellement depuis une app canvas, un flow ou l'API Web. L'intérêt est réel : logique testable avec IntelliSense, pas de build séparé, et un format qui parle aussi bien à un développeur qu'à un maker avancé. Cette fonctionnalité reste toutefois en preview publique, Microsoft déconseille explicitement son usage en production, et les plug-ins instantanés sont déjà dépriorisés au profit d'une fonctionnalité plus récente, les Functions Dataverse, également en preview. Un point à surveiller avant d'y adosser une logique critique.
Tableau comparatif : flow, plugin .NET ou plug-in low-code
| Critère | Flow Power Automate | Plugin .NET classique | Plug-in low-code Power Fx |
|---|---|---|---|
| Exécution dans la transaction | Non, processus séparé | Oui, en mode synchrone | Oui pour les plug-ins automatisés |
| Annulation possible en cas d'erreur | Non, compensation manuelle à prévoir | Oui, l'enregistrement est annulé | Limitée, fonctionnalité encore jeune |
| Compétences requises | Maker, citizen developer | Développeur .NET/C# | Maker avancé ou développeur Power Fx |
| Build et déploiement | Aucun, dans la solution directement | Compilation, assembly, enregistrement | Aucun, stocké nativement dans Dataverse |
| Appels à des connecteurs externes | Natif, des centaines de connecteurs | Possible, mais à coder soi-même | Possible via connecteurs, avec restrictions |
| Maintenabilité à grande échelle | Se dégrade vite sans logique complexe | Bonne, avec les outils classiques du code | Encore incertaine, produit jeune |
| Statut produit | Disponibilité générale, mature | Disponibilité générale, mature | Preview publique, non recommandé en prod |
La méthode pour trancher en pratique
- La règle casse-t-elle l'intégrité des données si elle échoue ? Si oui (calcul d'un montant, validation bloquante, mise à jour liée d'un enregistrement), le plugin .NET synchrone reste la seule option qui garantit l'annulation complète de l'opération.
- La logique a-t-elle besoin d'un humain ou d'un système tiers ? Une approbation, une notification Teams, un appel à une API SaaS externe sans connecteur dédié en C# déjà prêt : Power Automate reste l'outil le plus rapide à mettre en œuvre et le plus facile à faire évoluer par une équipe métier.
- L'équipe dispose-t-elle d'un développeur .NET dédié dans la durée ? Si non, et que la logique reste simple (calculs, concaténations, validations de champs), un plug-in low-code peut suffire en environnement de test, en acceptant le statut preview et en gardant un plan de repli vers un plugin classique si la fonctionnalité évolue défavorablement.
- Le volume d'exécutions est-il élevé et sensible à la latence ? Un plugin .NET synchrone reste plus prévisible en performance qu'un flow, qui dépend du moteur d'exécution de Power Automate et de ses propres limites de débit.
Les erreurs les plus courantes
- Laisser grossir un flow Power Automate jusqu'à plusieurs dizaines d'actions imbriquées, alors que la complexité atteinte justifierait depuis longtemps un plugin, plus facile à tester et à faire évoluer avec les outils classiques du développement.
- Déployer un plug-in low-code Power Fx en production sur un processus critique, en ignorant l'avertissement de preview de Microsoft et le risque de changement de comportement sans préavis.
- Écrire un plugin .NET synchrone pour un appel à une API externe lente : un timeout plugin bloque toute l'opération Dataverse pour l'utilisateur, alors qu'un flow ou un plugin asynchrone aurait absorbé le délai sans dégrader l'expérience.
- Négliger la stratégie ALM dès le départ : un plugin .NET sans pipeline de build versionné, ou une logique Power Fx critique sans solution dédiée, deviennent très coûteux à reprendre une fois le projet en production.
Questions fréquentes
Peut-on mélanger les trois approches dans un même projet Power Platform ?
Oui, et c'est même la situation la plus fréquente sur des projets matures : les règles qui engagent l'intégrité des données passent en plugin .NET synchrone, l'orchestration métier et les intégrations tierces passent en Power Automate, et les logiques simples ou expérimentales peuvent être prototypées en plug-in low-code avant, éventuellement, d'être réécrites en plugin classique si elles deviennent critiques.
Les plug-ins low-code Power Fx vont-ils remplacer les plugins .NET ?
Pas à court terme. Microsoft positionne les plug-ins low-code comme une option complémentaire pour les makers et les logiques simples, pas comme un remplacement des plugins .NET pour les scénarios complexes ou critiques. La fonctionnalité évolue d'ailleurs déjà vers un nouveau concept, les Functions Dataverse, ce qui suggère que le low-code plug-in actuel n'est pas la forme finale de cette brique.
Un flow Power Automate peut-il garantir la même cohérence qu'un plugin synchrone ?
Non, pas nativement. Un flow s'exécute après que l'opération Dataverse a déjà été validée : il peut échouer sans annuler cette opération. Pour approcher une cohérence équivalente, il faut construire manuellement une logique de compensation (scopes de gestion d'erreur, statuts intermédiaires, reprises), ce qui ajoute de la complexité qu'un plugin synchrone évite par construction.
Offre partenaire
Hésitez entre flow, plugin et low-code pour votre logique métier Dataverse ?
Nos consultants cadrent l'architecture technique adaptée à vos contraintes réelles (cohérence transactionnelle, volumétrie, compétences disponibles) et développent la solution sur mesure, du plugin .NET à l'automatisation Power Automate.
Découvrir l'offre développement sur mesure →