Exemples complet de fonctions Power Automate
Récupérer la valeur d’une étape
triggerBody()[’UserEmail_Inputs’] : Récupère l’e-mail du lanceur du flux
Variables(nom_variable) : retourne le contenu d’une variable nom_variable.
Variables(nom_variable).element : récupère le nœud element d’une variable de type JSON.
outputs(action_name) : retourne la valeur d’une action_name précédente si l’action est de type Variable.
dataURL(outputs(’Get_file_content’)?[’body]’ : récupère l’action précédente et transforme en URL (cas d’une image par exemple).
Fonctions Variable et contenu JSON
Ajouter une étape Mettre à jour des lignes : La syntaxe est donc Variables(NomVariable).nom_element.
Fonction formatNumber
Fonction Office365Users
Office365Users.ManagerV2(ThisItem.'Created By'.Email).displayName
Fonction formatDateTime
formatDateTime(utcNow(),'DD/mm/yyyy')
Fonction dataURL
dataURL(outputs('Get_file_content')?['body'].
Convertir une source en JSON (source de Run d’un flux)
JSON(
Filter(
tblTache;
Statut=ddStatut.Selected.Statut
);
IgnoreUnsupportedTypes & IncludeBinaryData
)
Fonction base64ToBinary
Par exemple dans une étape Ajoute un attachement (SP), dans File Content.
Parcours d’une liste
Dans une variable, indiquer la liste sous la forme [”valeur1”, “valeur2”].
Dans une boucle Pour chaque, indiquer l’expression item() pour faire référence à l’élément courant de la variable.
Pour tester le nombre d’éléments dans la liste :
length(variables(’ListeEmail’))
Récupérer le manager
Action Obtenir le responsable (v2)
Créer un fichier Excel
Créer une étape Envoyer une requête HTTP à SharePoint, puis indiquer dans la zone URI :
_api/web/GetFolderByServerRelativeUrl('Shared%20Documents')/Files/add(url='Fichier.xlsx',overwrite=true)
Fonction getPastTime
getPastTime(rand(0,60), 'Day')
Variable de type Objet
Création
Créer une étape de type Définir Variable. Sélectionner Objet comme Type. Saisir du JSON.
Par exemple varData.
{
"communes": [
{
"nom": "Rennes"
},
{
"nom": "Paris"
},
{
"nom": "Brest"
}
]
}
Utilisation
Dans une boucle ForEach :
variables('varData').communes
Dans une expression, on veut 1 des 3 communes, aléatoirement :
variables('varData').communes[rand(0, sub(length(variables('varData').communes),1))].nom
Sinon :
variables('varData').communes[rand(0, sub(length(variables('InputData').buildings),1))].nom
Fonctions Données
Compose (Message)
L’action se nomme Message (et non Compose ou Composer) dans les actions de type Données.
Proche dans le principe du fonctionnement d’une variable.
Cas d’usage :
Construire des chaînes de texte dynamiques (concaténer des valeurs ou expressions). Calculer ou transformer des valeurs, sans avoir à créer une variable formelle. Structurer des données JSON, en vue d’une utilisation ultérieure dans votre flux. La sortie de l’action Composer est en lecture seule : utiliser Composer dès qu’une données ne doit pas être modifiée, utiliser à la place des variables quand la valeur de la variable doit être modifiée.
Compose = concat(outputs('Prénom'), ' ', outputs('Nom'))
Compose = formatDateTime(utcNow(), 'dd-MM-yyyy HH:mm')
{
"nom": "@{outputs('Nom')}",
"age": @{outputs('Age')}
}
Rôles dans les flux
Analyser JSON (Parse JSON)
Cas d'usage :
Extraire des données spécifiques d'une réponse d'API. Désérialiser des données stockées sous forme de chaîne JSON. Valider la structure d'un JSON reçu. Sous la propriété Schéma, cliquer sur Utiliser un exemple de charge utile pour générer un schéma, puis coller un exemple de code JSON :
Après Validation, le schéma est affiché. Coller ensuite le code JSON (ou un autre) dans Content :
Interroger ensuite le JSON :
body('Analyser_JSON')['utilisateur']['nom'] donnerait "Jean Dupont"
body('Analyser_JSON')['utilisateur']['adresse']['ville'] donnerait "Paris"
body('Analyser_JSON')['utilisateur']['roles'][0] donnerait "administrateur"
Sélectionner (Select)
(Différent de la fonction Select)
Transforme un tableau en un nouveau tableau avec une structure différente. Vous pouvez choisir les propriétés à inclure, les renommer ou créer de nouvelles propriétés basées sur des expressions
Cas d'usage :
Réduire un grand tableau à seulement quelques colonnes nécessaires. Renommer des colonnes pour correspondre à un schéma cible. Créer des propriétés calculées dans le nouveau tableau. Un JSON fourni par un étape (par exemple Liste des éléments SharePoint) :
[
{
"ProductID": "P001",
"Name": "Clavier mécanique",
"Description": "Clavier ergonomique avec rétroéclairage",
"Price": 99.99,
"Category": "Périphériques",
"Stock": 150
},
{
"ProductID": "P002",
"Name": "Souris sans fil",
"Description": "Souris optique avec autonomie longue durée",
"Price": 49.50,
"Category": "Périphériques",
"Stock": 200
}
]
Dans Carte (Map) :
L’expression avec item() est de la forme : item()['Price']