Modifier une liste SharePoint lors de la réception d'un mail

Étiquetté : 

  • Modifier une liste SharePoint lors de la réception d'un mail

    Posté par Geoffroy sur 28 avril 2022 à 5h38

    Bonjour à tous,

    Je souhaite modifier un élément d’une liste SharePoint lorsqu’un mail arrive dans Outlook. J’imaginais créer un flux qui repèrera, dans l’objet du mail, un mot-clé et un texte présent dans la colonne Titre de la liste SharePoint. Mais je ne suis vraiment pas à l’aise sur les flux.

    Si le mot-clé est présent, je voudrais que le flux modifie une colonne (type Oui/Non) de la liste SharePoint pour l’enregistrement correspondant.

    Exemple pour clarifier ma demande :

    Le titre du mail est “APRS VP100 F-GJXB (MSN 001304)”. Le flux doit détecter la présence du mot “APRS” qui sera le déclencheur et le mot “F-GJXB” qui correspond au champ “Titre” de ma liste.

    L’action à faire ensuite est de modifier la colonne nommée “APRS” en “Oui” pour l’enregistrement “F-GJXB” (ici, elle l’est déjà).

    Merci pour vos lumières. 🙂

    PostID=3nIvXEOnTF7YwWV

    Geoffroy a répondu Il y a 10 mois, 3 semaines 1 Membre · 5 Réponses
  • 5 Réponses
  • R3dKap

    Membre
    28 avril 2022 à 15h59

    Salut @Geoffroy WAGNER en utilisant ce déclencheur Power Automate tu pourras spécifier ta chaîne APRS dans ce paramètre pour déjà faire en sorte que ton flux ne se déclenche que pour les mails qui ont ce mot-clé dans l’objet du mail :

    Ensuite, à toi d’analyser l’objet du mail via des fonctions de manipulation de chaîne (split, left, right, trim, etc. -> tu trouveras toutes les fonctions ici : https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#string-functions) pour identifier la présence du code F-GJXB par ex. et rechercher ta ligne dans la liste SP en spécifiant un filtre comme ceci :

    Et il ne te restera alors plus qu’à positionner ton flag dans la colonne APRS…

    N’hésite pas si tu as besoin de + d’aide…

    CommentID=Wcwl81R1mdEIpQj, PostID=3nIvXEOnTF7YwWV

  • Geoffroy

    Membre
    28 avril 2022 à 16h57

    Merci beaucoup pour ta réponse. J’avais la première étape mais je ne sais toujours pas comment coder l’analyse de texte.

    J’ai tenté ceci (à tout hasard) mais, évidemment, ça ne marche pas.

    La formule appliquée à la chaine “APRS VP100 F-GJXB (MSN 001304)” donne bien “F-GJXB” dans PowerApps mais pas ici.

    CommentID=fSDxLz9vkw8tKYt, PostID=3nIvXEOnTF7YwWV

    • Geoffroy

      Membre
      28 avril 2022 à 18h40

      J’ai essayé ça mais ça ne donne rien. J’ai vraiment du mal à saisir la logique des flux 🤔

      SubCommentID=d5QatEPe9Opr9s5, CommentID=fSDxLz9vkw8tKYt, PostID=3nIvXEOnTF7YwWV

  • R3dKap

    Membre
    28 avril 2022 à 20h55

    En fait, dans ton étape Définir une variable tu ne peux pas taper du code directement dans le paramètre Valeur. Dans ce paramètre tu ne peux y mettre que des constantes ou des références à d’autres “objets” (comme tu l’as fait pour le champ Objet du mail).

    Pour saisir une formule :

    • vide ton paramètre Valeur : si ton curseur de saisie est bien dans la zone de saisie tu vas avoir cette fameuse popup juste à côté :

    • clique sur l’onglet Expression de cette popup

    • tape ta formule dans la zone de saisie fx (cadre rouge)

    Et si à un moment donné dans ta formule tu dois faire référence à un objet de ton flow (comme le champ Objet du mail par ex.) :

    • place ton curseur de saisie dans ta formule là où tu veux y faire référence

    • clique sur l’onglet Contenu dynamique

    • clique sur l’objet ou la donnée en question

    • le code correspondant sera inséré au bon endroit

    Pour ce qui est d’extraire l’immat de l’objet de ton mail, voici la bonne formule :

    concat('F-',split(split(<ton objet de mail>,'F-')[1],' ')[0])

    Remplace <ton objet de mail> par ton champ Objet du mail.

    Tu remarqueras quelques éléments intéressants sur le code Power Automate :

    • les noms des fonctions ne sont pas sensibles à la casse

    • les chaînes de caractères s’indiquent entre apostrophes et non entre guillemets

    • les paramètres des fonctions sont séparés par des virgules et non des points-virgules

    Sinon ça serait trop facile si ça ressemblait exactement aux formules de Power Apps… 😁

    CommentID=v3Cf3pQrR8qZpCX, PostID=3nIvXEOnTF7YwWV

    • Geoffroy

      Membre
      28 avril 2022 à 21h13

      Merci encore pour ton aide. Ca aide bien à comprendre le mécanisme, qui est beaucoup moins intuitif que PowerApps.

      Entre temps, j’avais trouvé une vidéo de Shane Young qui m’a mis sur la voie et j’ai fini (à force de tâtonner) par trouver une solution qui marche. 🤪

      La formule de la boite “Message” est : concat(‘F-‘,substring(last(split(triggerOutputs()?[‘body/subject’],’-‘)),0,4))

      Je testerai aussi ta solution, bien sûr.

      Merci encore 🙂

      SubCommentID=uK9njesVpwZyWIA, CommentID=v3Cf3pQrR8qZpCX, PostID=3nIvXEOnTF7YwWV

Connectez-vous pour répondre.