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 | Exemple | Doc |
| <div style="text-align: left; margin-top: 0.5em; margin-bottom: 0.5em;"><span>Split(</span><span style="font-style: italic;">chaine</span><span>, </span><span style="font-style: italic;">séparateur</span><span>)</span></div> | Crée une array en coupant la chaine par le séparateur. | ||
| <div style="text-align: left; margin-top: 0.5em; margin-bottom: 0.5em;"><span>First(</span><span style="font-style: italic;">array</span><span>), Last(</span><span style="font-style: italic;">array</span><span>)</span></div> | Retourne le premier/denier élément d’une array. | ||
| <div style="text-align: left; margin-top: 0.5em; margin-bottom: 0.5em;"><span>Skip(</span><span style="font-style: italic;">array</span><span>, </span><span style="font-style: italic;">num</span><span>)</span></div> | 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 |
| <div style="text-align: left; margin-top: 0.5em; margin-bottom: 0.5em;"><span>first(split(variables('varAttachmentName'), '.')</span><span style="font-weight: bold;">)</span></div> | Retourne le nom d’une pièce jointe, placée dans une variable varAttachmentName (nom à gauche de l’extension) |
| <div style="text-align: left; margin-top: 0.5em; margin-bottom: 0.5em;"><span>first(skip(split(body('Get_file_properties')?['{Path}'],'/'),2))</span></div> | 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
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
- 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 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').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']



