← Tous les articles

Créer un workflow synchrone dans Dataverse pour générer des noms complexes d’enregistrements

Table des matières
  1. Introduction
  2. Pourquoi choisir un workflow synchrone ?
  3. Mise en place pas‑à‑pas
    1. Étape 1 – Créer le workflow
    2. Étape 2 – Définir les déclencheurs
    3. Étape 3 – Ajouter la logique de génération
    4. Étape 4 – Activer et tester
  4. Résultat attendu
  5. Alternatives et limites
  6. Conclusion

Introduction

Dans cet article, nous allons explorer ensemble comment mettre en place un workflow synchrone dans Dataverse afin de générer automatiquement des noms d’enregistrements complexes. Vous découvrirez ainsi une méthode fiable pour garantir la cohérence et la lisibilité de vos données, sans dépendre de solutions limitées comme les colonnes Autonumber.

Pourquoi choisir un workflow synchrone ?

Nous savons que les colonnes Autonumber sont pratiques pour créer des identifiants uniques, mais elles restent limitées aux séquences numériques, dates ou chaînes aléatoires.

Avec un workflow synchrone, nous pouvons aller plus loin : combiner plusieurs champs, intégrer des valeurs associées, et régénérer le nom automatiquement dès qu’une donnée clé est modifiée. Vous bénéficiez ainsi d’une donnée immédiatement cohérente, utilisable sans délai dans vos processus métiers ou vos intégrations.

Mise en place pas‑à‑pas

Imaginons que nous travaillions sur la table Compte dans Dataverse. L’objectif est de produire une référence de compte qui soit immédiatement parlante pour les utilisateurs et qui combine deux informations clés : le nom du compte parent et la propriété.

Étape 1 – Créer le workflow

Nous ouvrons Power Apps, accédons à une solution, puis créons un nouveau processus de type workflow

Nous nommerons le workflow, sélectionnerons la table associée (Compte) et décocherons l’option “Exécuter le worflow en arrière plan (recommandé)”

Étape 2 – Définir les déclencheurs

Nous configurons le workflow pour qu’il s’exécute :

  • À la création : le nom est généré automatiquement dès que l’enregistrement est sauvegardé.

  • À la mise à jour : si l’un des champs clés (Nom, Ville, Type de compte, Date d’inscription) est modifié, le nom est régénéré pour rester cohérent.

⚠️ Le paramètre “étendue” permet d’ajouter une couche pour limiter de déclenchement du flux. Exemple sur “Utilisateur”, Le workflow ne s’exécute que sur les enregistrements créés, possédés ou partagés avec l’utilisateur qui déclenche l’action.

Étape 3 – Ajouter la logique de génération

Nous ajoutons une étape Mettre à jour l’enregistrement et construisons le nom à partir de plusieurs champs.

Nous décidons d’assembler :

  • Nom du compte

  • Nom du compte parent (champ de relation) → identifie le compte supérieur.

  • Propriété (champ de type choix) → peut contenir Public, Privé, Filiale ou Autre.

Code

Texte
{Nom du compte(Compte)} ({Nom du compte(Compte parent (Compte))}) {Propriété(Compte)} 

Exemples :

Un compte enfant rattaché à Société ABC avec la propriété Privé → ABC Services (ABC corporation) - Privé

Un compte enfant rattaché à Holding XYZ avec la propriété Filiale → **XYZ Resorts (Holding XYZ) - Filiale**

⚠️ Le champ à mettre à jour doit impérativement être présent dans le formulaire principal (1) et être modifiable (il peut être masqué ensuite, une fois le workflow créé et activé)

ℹ️ Il est possible d’utiliser l’assistant formulaire (2), même si l’ergonomie de cet outil laisse à désirer 😵‍💫

Étape 4 – Activer et tester

Nous activons le workflow et testons en créant ou modifiant un enregistrement. Le nom est généré ou régénéré immédiatement.

Résultat attendu

  • Vous obtenez un nom unique et lisible qui facilite la recherche et la navigation.

  • Vous évitez les incohérences : le nom reflète toujours les données actuelles.

  • Vous gagnez en productivité : plus besoin de saisir ou corriger manuellement le nom.

Alternatives et limites

Avant de retenir le workflow synchrone, il est utile de comparer cette approche avec d’autres solutions possibles. Chacune présente des avantages, mais aussi des contraintes qui peuvent limiter leur adoption dans un contexte professionnel exigeant.

  • Le plugin JavaScript permet d’exécuter une logique directement côté client, ce qui offre une grande flexibilité et une expérience utilisateur réactive. Cependant, il nécessite du pro code, une maintenance plus lourde, et ne s’exécute pas côté serveur (donc pas dans les intégrations ou API).

  • Le plugin Low code (basé sur Power Fx) est une alternative intéressante pour les équipes qui souhaitent éviter le code complexe. Mais cette fonctionnalité n’est pas encore en disponibilité générale (GA), ce qui la rend encore risquée pour un usage en production.

  • Les flux Power Automate offrent une grande flexibilité et la possibilité d’intégrer des services externes. En revanche, ils consomment des requêtes API, introduisent une certaine latence, et ne permettent pas de cibler uniquement certains champs comme déclencheurs.

Voici un résumé comparatif :

AlternativeAvantageLimite
Plugin JavaScriptFlexible côté clientNécessite du pro code, maintenance plus lourde.
Plugin Low code (Power Fx)Plus accessiblePas encore en disponibilité générale
Flux Power AutomateGrande flexibilité, intégrations externes possiblesConsomme des requêtes API, ajoute de la latence, ne permet pas de cibler uniquement certains champs

En comparaison, le workflow synchrone reste la solution la plus robuste et immédiate. Vous bénéficiez d’une exécution côté serveur, sans surcoût en API, et avec un déclenchement sélectif sur les champs choisis.

Conclusion

En configurant un workflow synchrone, nous assurons une gestion fine et automatisée des noms d’enregistrements. Vous obtenez une donnée fiable, cohérente et immédiatement exploitable, tout en évitant les limites ou la complexité de certaines alternatives.

Échanger autour de cet article

Les commentaires utilisent Giscus et GitHub Discussions. Le service externe n’est contacté qu’après activation.