Microsoft Flow: Email bei neuem oder geändertem SharePoint Item mit Attachments versenden

Microsoft Flow: Email bei neuem oder geändertem SharePoint Item mit Attachments versenden

In SharePoint ist es sehr einfach, eine oder mehrere Dateien an einen Listeneintrag anzuhängen. Etwas komplizierter ist es, diese in Microsoft Flow bzw. Power Automate zu verarbeiten und zum Beispiel an eine Benachrichtigungs-Email für das neue oder geänderte List Item anzuhängen.

Um dies zu realisieren, müssen verschiedene Aktionen durchgeführt werden:

  • Holen der Attachments
  • Für jedes Attachment den eigentlichen Inhalten abfragen
  • Den Inhalt für jedes Attachment an eine Variable auf Basis eines Arrays anhängen
  • Die Email generieren und das Array anhängen
Ablauf des Flows zum Anhängen von Attachments an eine Email

1. Trigger: When an item is created or modified

Hier verbinden wir uns mit der SharePoint-Site und -Liste, für die wir den Flow aktivieren wollen:

2. Delay

Aus Erfahrung hat sich gezeigt, das gerade bei größeren und mehreren Attachments eine kurze Verzögerung von zum Beispiel einer Minute sinnvoll sein kann:

3. Get Attachments

Als nächstes müssen wir uns die Meta-Daten der Attachments für das zu verarbeitende List Item aus SharePoint heran holen:

Die ID ist dabei die des SharePoint List Items.

4. Initialize Variable

Nun müssen wir eine Variable vom Typ „Array“ initialisieren. Dieses Array wird dann für jedes Attachment einen Eintrag enthalten. Das Array kann dann in der Email ausgelesen bzw. verwendet werden:

5. Apply to each

Jetzt durchlaufen wir für jedes Attachment eine Schleife und holen uns die Details zu dem Attachment. Diese werden alle in der BODY-Variable aus der „Get Attachments“-Aktion geliefert:

In das Attribut „ContentBytes“ setzen wir die folgende Formel:

 body('Get_attachment_content').$content 

Der vollständige Code für diese Aktion sieht folgendermaßen an:

{    "inputs": {
        "name": "varAttachments",
        "value": {
            "Name": "@{items('Apply_to_each')?['DisplayName']}",
            "ContentBytes": "@{body('Get_attachment_content').$content}"              
        }
    }
}

6. Email versenden

Zum Schluß versenden wir die Email. Hier ist zum einen die richtige Aktion wichtig (V3 geht nicht), und das bei den Attachments rechts das kleine Icon geklickt wird, sodass die Attachments gruppiert werden. In das Textfeld schreiben wir dann den Namen unserer Array-Variable hinein:

Wenn wir nun an ein List Item aus der SharePoint-Liste Attachments anhängen, erhalten wir wie geplant eine Email mit den Attachments im Anhang:

Über den Autor

Volker Kleffmann administrator