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
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