Intégrer du code .NET dans les Logic Apps Standard

Publié par Maia SUTTER
Catégorie : .Net / Logic Apps
06/11/2025

Lorsqu’on utilise des Logic Apps Standard dans Azure, il arrive parfois que les actions disponibles ne suffisent pas pour gérer ou transformer les données d’un workflow. Le traitement peut nécessiter une logique métier plus fine ou des transformations spécifiques.
Dans ces cas, il devient intéressant de pouvoir intégrer du code .NET directement dans un workflow Logic App.

Historiquement, les solutions consistaient à faire des appels HTTP vers une Function App contenant la logique personnalisée, ou à développer un Custom Connector pour exécuter du code. Ces approches fonctionnent, mais elles nécessitent un développement supplémentaire et engendrent des coûts additionnels.
Aujourd’hui, il est possible d’intégrer du code directement via une action dédiée qui permet de référencer des fonctions personnalisées déjà déployées.

 

Développement

 

Le développement de code intégré dans une Logic App Standard est actuellement possible uniquement depuis Visual Studio Code.
Avec la dernière version de Logic Apps (Standard), le modèle de projet fournit une structure prête à l’emploi pour démarrer rapidement.
L’espace de travail doit contenir deux projets :

  • Un projet pour le code des fonctions (qui sera compilé séparément)
  • Un projet pour le workflow Logic App

Dans le projet de code, vous pouvez développer vos fonctions à utiliser dans la Logic App. Vous pouvez également inclure des classes utilitaires, des helpers ou tout autre code nécessaire.
Les fonctions utilisent un déclencheur spécifique : WorkflowActionTrigger.
À l’intérieur de la fonction, vous pouvez effectuer des transformations, appliquer une logique métier personnalisée, valider et parser des données, voire appeler des composants externes pour récupérer des informations supplémentaires.

 

integrated .Net code in Logic App

 

 

Test

 

Il est aussi possible de tester et déboguer le code directement depuis Visual Studio Code, sans avoir besoin de déployer sur Azure.
Cela implique d’abord de compiler et construire le projet.
Depuis l’explorateur de fichiers, un simple clic droit permet de lancer la commande Build Project. Cela génère automatiquement certains fichiers dans le projet Logic App : les .dll nécessaires à l’exécution et un fichier function.json.

Ensuite, dans le workflow designer, vous pouvez utiliser l’action Call a local function in this logic app, entrer le nom de la fonction et ses paramètres d’entrée.
Le reste du workflow peut être ajusté avec d’autres actions, ou simplifié pour tester uniquement le code.

 

integrated .Net code call in workflow

 

Pour exécuter le workflow, il faut activer l’émulateur Azurite (blobs, queues, tables).
Une fois activé, vous pouvez attacher le débogueur aux deux projets via l’option Run/debug logic app with local function.
Depuis la vue d’ensemble du workflow, vous pouvez ensuite déclencher l’exécution.

 

workflow run

 

Si vous utilisez un déclencheur HTTP, vous pouvez aussi appeler directement l’URL générée via un outil comme Thunder Client, Bruno ou Postman.

 

workflow test

 

 

Déploiement

 

Pour déployer le code intégré, deux options sont possibles :

  • Déploiement direct depuis Visual Studio Code
  • Déploiement via un pipeline CI/CD

Dans les deux cas, il faut s’assurer que le code est bien compilé et que les assemblies (.dll) sont placées dans le bon dossier.
Pour un déploiement direct, il suffit de faire un clic droit sur le projet Logic App et de sélectionner Deploy to Logic App.

 

workflow deploy

 

Attention : il faut sélectionner le dossier du projet Logic App (celui contenant à la fois les assemblies et le workflow).
En dehors de ce point, le déploiement est identique à celui d’une Logic App classique.

 

Contraintes

 

Comme mentionné précédemment, le développement de code intégré n’est possible que via l’extension Logic Apps Standard dans Visual Studio Code sous Windows.
Cependant, après déploiement depuis VS Code, il reste possible d’ajouter l’action de workflow appelant la fonction depuis le portail Azure.

Bien que ces fonctions puissent exécuter des traitements complexes — limités uniquement par les capacités de .NET — elles présentent certaines restrictions :

  • Elles ne doivent pas durer plus de 10 minutes
  • Elles ne sont pas adaptées aux gros volumes de données
  • Elles ne conviennent ni aux traitements batch, ni au streaming

 

Conclusion

 

L’utilisation de code intégré dans les Logic Apps Standard est une excellente solution pour implémenter des logiques ou transformations complexes au sein même du framework Logic App.
Elle permet de bénéficier de toute la puissance de .NET, tout en restant dans un environnement d’intégration maîtrisé.
Bien que cela nécessite Visual Studio Code, cette approche offre la possibilité de tester et déboguer localement, sans déploiement préalable — un atout considérable pour les développeurs.