Fonctions [WiP]
https://docs.microsoft.com/fr-fr/azure/logic-apps/workflow-definition-language-functions-reference
https://docs.microsoft.com/fr-fr/azure/search/query-odata-filter-orderby-syntax
Fonctions Power Automate
| Nom fonction | Explication |
Split(chaine, séparateur) | Crée une array en coupant la chaine par le séparateur. |
Last(array) | Retourne le premier/denier élément d’une array. |
Skip(array, num) | Retourne l’élément numéro num d’une array. |
'Nom étape'?['Propriété'] | Retourne une Propriété de Nom étape. |
Exemples complet de fonctions Power Automate
| Exemple | Explication |
first(split(variables('varAttachmentName'), '.')) | Retourne le nom d’une pièce jointe, placée dans une variable varAttachmentName |
first(skip(split(body('Get_file_properties')?['{Path}'],'/'),2)) | Retourne le dossier d’une étape Get_file_properties. |
'Get_file_properties')?['{Path}'] | Chemin de l’étape |
Récupérer la valeur d’une étape
triggerBody()[’UserEmail_Inputs’] : Récupère l’e-mail du lanceur du flux
outputs(action_name) : retourne la valeur d’une action_name précédente si l’action est de type Variable.
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.
dataURI(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
- Créer une variable
- Ajouter une étape Mettre à jour des lignes :
Fonction formatNumber
Fonction Office365Users
Office365Users.ManagerV2(ThisItem.'Created By'.Email).displayName
Fonction formatDateTime
formatDateTime(utcNow(),'DD/mm/yyyy')
Fonction convertTimeZone
convertTimeZone(
utcNow(),
'UTC',
'Romance Standard Time',
'dd/MM/yyyy HH:mm'
)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').communesDans une expression, on veut 1 des 3 communes, aléatoirement :
variables('varData').communes[rand(0, sub(length(variables('varData').communes),1))].nomSinon :
variables('varData').communes[rand(0, sub(length(variables('InputData').buildings),1))].nomFonctions 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
| Élément | Compose | Initialiser une variable |
| Type | Action de traitement statique | Action de stockage réutilisable |
| But principal | Calculer ou contenir une valeur intermédiaire | Stocker une valeur modifiable |
| Modifiable ensuite ? | ❌ Non | ✅ Oui |
| Lisible dans un tableau ? | ✅ Oui (facile à lire dans le suivi du flux) | ✅ Oui aussi |
| Nom spécifique | Non (juste "Sortie de Compose") | Oui, vous donnez un nom à la variable |
| Réutilisation dans un Apply to each | ✔️ (souvent plus performant) | ✔️ mais un peu plus verbeux |
| Cas d’usage | Préféré |
| Vous stockez un JSON temporairement sans le modifier | ✅ Compose (plus léger) |
| Vous devez mettre à jour la valeur ensuite | ✅ Initialiser une variable |
| Vous réutilisez plusieurs fois la valeur dans un flux complexe | ✅ Variable (mieux identifié) |
| Vous êtes dans un Apply to each avec performance critique | ✅ Compose (moins de surcharge mémoire) |
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']



