Message Teams automatique avec image

  • Message Teams automatique avec image

    Posté par Julien sur 22 novembre 2024 à 10h35

    Hello,

    Nouveau défi du jour, voici le contexte :

    • Une application power apps permet de déclarer des non-conformités en saisissant des champs.
    • Lorsque le formulaire est soumis, cela renseigne une ligne d’une liste sharepoint (IMPORTANT : il y a une colonne image).
    • Lorsqu’un élément est créé, un message doit être posté dans un canal Teams pour informer les équipes.

    J’arrive à paramétrer mon flux pour qu’il envoie un message automatique dans le canal teams en récupérant les informations de tous les champs, sauf l’image (qui est une photo prise sur le terrain), sachant que je souhaiterai qu’elle apparaisse en miniature dans la conversation Teams…

    Merci pour votre aide !

    Charles a répondu Il y a 4 heures 3 Membres · 9 Réponses
  • 9 Réponses
  • Charles

    Membre
    22 novembre 2024 à 14h23

    Bonjour Julien,

    Est-ce que ton problème c’est d’afficher l’image en miniature ou de l’afficher tout court?

  • Julien

    Membre
    22 novembre 2024 à 15h47

    De l’afficher tout court, j’ai essayé différentes méthodes mais seul un lien apparaît (voir print ecran attaché).

    Dans les champs de ma liste, en-dessous de “photo”, effectivement si l’image pouvait apparaître en miniature (et libre ensuite aux utilisateurs de l’agrandir en cliquant dessus), ce serait super ! 😬

  • François-Xavier

    Membre
    22 novembre 2024 à 15h59

    Bonjour Julien,

    Peux-tu nous montrer comment tu récupères ton image dans ton flux et comment tu l’envoies avec le composant Teams ?
    Est-ce que tu utilises des balises ou pas pour l’injecter avec ton message ?

  • Charles

    Membre
    22 novembre 2024 à 16h00

    Tu as un moyen dans ton flux en récupérant le contenu des attachments.

    Si on considères que tu as récupéré avec ton flux le contenu de ton fichier l’id de ton groupe teams et l’id du canal dans lequel tu veux poster, tu peux créer une action Envoyer une Requete HTTP Microsoft Graph HTTP et tu mets les infos suivantes dans body:

    URI = https://graph.microsoft.com/v1.0/teams/{ID de l’équipe}/channels/{Id du canal)/messages

    Method = POST

    Body = a voir sur l’image j’arrive pas à coller

    En visuel ça donne ça comme type de flux:

    • Cette réponse a été modifiée Il y a 5 heures, 51 minutes par  Charles.
    • Cette réponse a été modifiée Il y a 5 heures, 50 minutes par  Charles.
    • Cette réponse a été modifiée Il y a 5 heures, 46 minutes par  Charles.
  • Julien

    Membre
    22 novembre 2024 à 16h25

    Hi,

    Merci pour vos retours, voir ci-dessous la méthode utilisée pour tenter de récupérer l’image depuis une liste sharepoint (j’ai employé le même flux que pour récupérer une image et l’insérer en attachment d’un email (V2)).

    Du coup j’ai changé ma dernière action en request HTTP mais comment récupérer l’ID du groupe Teams et du canal pour l’insérer dans URI ?

  • Charles

    Membre
    22 novembre 2024 à 16h33

    Elle sert à quoi ta variable de tableau?

    Pour les pièces jointes si tu en as qu’une à chaque fois il faut que tu fasses un first pour récupérer la pemière.

    Pour récupérer les id du groupe tu fais l’action “Obtenir une équipe”

    Ensuite grâce à ça tu vas récupérer la liste des canaux de cette équipe avec l’action “Lister les canaux”

    Sur cette liste tu veux récupérer uniquement l’Id de celle qui t’interesse donc tu vas faire un filtre comme ci-dessous:

    Ensuite l’id du canal est calculé en faisant

    <div>
    <div>first(outputs(‘Filter_array’)[‘body’])?[‘id’]</div>
    <div> </div>
    <div>Il faut remplacer Filter_array par le nom de ton action de filtre</div>
    <div> </div>
    <div>Ensuite tu feras attention tu as parti sur mon body copier/coller qui est tronqué au collage, il faut regarder sur l’image pour le voir vraiment.</div>
    </div>

  • Julien

    Membre
    22 novembre 2024 à 17h07

    J’ai repris tout mon flux depuis le début mais quelque chose ne colle pas du tout du tout 😱

  • Charles

    Membre
    22 novembre 2024 à 17h39

    C’est parce que tu as généré un for each à la selection de l’item Canal ID. Il faut que tu prennes l’output du filtre tu mets first(body(NomduFiltre))[‘Id’]. Au pire après ton action de filtre tu mets une action de compose et tu mets la formule ci-dessus et ensuite tu mets l’output de ton compose dans ton URL.

    Ah et dans le contenu de la pièce jointe il faut aussi que tu mettes un first pour prendre le premier résultat de ton Get Attachments.

    • Cette réponse a été modifiée Il y a 4 heures, 14 minutes par  Charles.
    • Cette réponse a été modifiée Il y a 4 heures, 11 minutes par  Charles.
    • Cette réponse a été modifiée Il y a 4 heures, 11 minutes par  Charles.
  • Charles

    Membre
    22 novembre 2024 à 17h54

    Voici le flux étape par étape adapté à tes noms d’action (je peux pas faire mieux sorry ^^’)

Connectez-vous pour répondre.