Planner E-Mail-Report mit Aufgaben gruppiert nach Bucket

Dieser Beitrag beschäftigt sich ähnlich wie mein Beitrag zur „SharePoint-Listen als E-Mail…“ mit dem Thema E-Mail-Reports.

Hier möchte ich einmal vorstellen wir ihr euch mit einem einfachen und kurzen Flow in Power Automate eine ansprechende E-Mail Übersicht über Aufgaben aus einem eurer Planner erstellen könnt.

Ich starte hier schon einmal direkt mit dem Ergebnis und stelle euch dann den wichtigsten Punkt vor denn ihr zu beachten habt.

Als Grundlage habe ich wieder einen „scheduled cloud flow“ gewählt,
dieser läuft in meinem Fall immer am Montag um 10uhr.

Ihr müsst dann pro Bucket, denn ihr später in eurem E-Mail-Report anzeigen wollt, eine Variable vom Type String initialisieren.

Danach rufen wir alle Aufgaben aus unserem Planner ab, damit wir diese im nächsten Schritt verwenden können…

Mit einem Apply to each iterieren wir dann durch die Aufgaben und suchen mit einer Condition nach der passenden value Bucket Id, also dem passenden Bucket.

Jetzt fragt ihr euch natürlich wo bekommt man denn die Bucket ID her 🙂

Wir gehen den Flow nun erst einmal weiter durch und dann zeige ich (m)einen Weg auf.
Ihr seht ich habe für meine zwei Buckets je eine Condition, wie oben beschrieben verwendet und benutze dann Send an email (V2) wobei ich den Body der E-Mail mit HTML editiere…

Hier der von mir verwendetet HTML Code für zwei Buckets.
Wenn ihr euch mit HTML-Tabellen auskennt, könnt ihr leicht weitere Spalten einbauen…

<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style type="" text="" css??="">
        .content {
        max-width: 600px;
        margin: auto;
        }
        BODY{
            font-family: "Segoe UI", -apple-system, system-ui, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
            color:#1a1a1a;
            font-size: 14pt;
            }
            table{
            padding-left: 10px;
            margin-top: 10px;
            border-spacing: 0px;
            width: 550px;
            }
            th{
                font-size:14px;
                font-weight: bold;
            }
           td,th{
           border-bottom:solid 2px #eaebec;
           min-width: 175px;
           text-align:center;
           font-size:12px;
           padding-top: 2px;
           padding-bottom: 5px;
           }
            H1{   
            color: #000;
            font-family: "Segoe UI", -apple-system, system-ui, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
            font-weight: 400;
            padding: 0;
            margin: 0;
            text-align: left;
            line-height: 30px;
            word-wrap: normal;
            margin-bottom: 10px;
            font-size: 24px;
            letter-spacing: -0.01em;
            padding-bottom: 10px;
            padding-left: 10px;
            -webkit-text-size-adjust: none;
            }

            p {
            margin: 0;
            color: #1a1a1a;
            font-family: "Segoe UI", -apple-system, system-ui, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
            font-weight: 400;
            padding: 0;
            text-align: left;
            line-height: 20px;
            font-size: 14px;
            margin-bottom: 10px;
            word-wrap: normal;
            -webkit-text-size-adjust: none;
            padding-left: 10px;
            } 
            #zahl{
                color:#0072c6;
                font-size:12px;
            }    
        </style>
</head>

<body>
    <div class="content">
        <div>
            <h1>Wöchentlicher Report - Aufgaben</h1>
        </div>
        <div>
             </p>
                <!-- Einleitung Link, etc. -->
            </p>
        </div>
        <div>
            <table style="width:550px; border-spacing:10px; padding-left:0px;" >
                <tbody>
                    <tr>
                        <td style="border-bottom:0px; background-color:#f4f4f4; padding:20px;text-align: left;"><span style='font-size:75px;'>&#128198;</span><b>Planned</b><div id="zahl"><ul>@{variables('Tasks_Planned')}</ul></div></td>
                        <td style="border-bottom:0px; background-color:#f4f4f4; padding:20px;text-align: left;"><span style='font-size:75px;'>&#128640;</span><b>In Progress</b><div id="zahl"><ul>@{variables('Tasks_In_Progress')}</ul></div>
                        </td>
                    </tr>
          
                </tbody>
            </table>
        </div>
        <div>
            <!-- Footer -->
        </div>
    </div>
</body>

</html>

Nun kommen wir aber zur Beantwortung der Frage „Wie bekommen wir die Bucket ID, die wir dann im Flow und der Condition verwenden.

Dafür öffnet ihr den Planner, um den es geht im Browser.
Drückt dann F12, bzw. startet den Browser-Debugger.

Mit dem Selector (siehe Bild) könnt ihr nun den Titel des Bucket anklicken und seht dann den dazugehörigen HTML-Code.

Kleiner Tipp: Mit einem Doppelklick und ein-zwei Versuchen könnt ihr die ID auch in die Zwischenablage kopieren, abschreiben macht hier wenig Spaß 😉

Die Bucket IDs könnt ihr so sammeln und dann in euren Conditions verwenden.

Ich hoffe das Microsoft hier für die Zukunft die Konnektoren in Flow noch weiterentwickelt, aktuell ist dieses Thema noch etwas gebastelt und aus meiner Sicht eine Herausforderung für den CitizenDeveloper.

Es gibt auch eine umfangreichere Flow-Lösung, wobei ihr hier dann aber keinen HTML-Code examinieren müsst und die Bucket ID auch dynamisch abfragen könnt.
Zum Hintergrund: Beim Kopieren eines Bucket oder des Planner werden nämlich sämtliche IDs neu ausgewürfelt.

Plant also erst euren Planner und baut dann den Flow 😉

Hier der Link zum offiziellen Topic bei powerusers.microsoft.com:

Solved: Get a Bucket ID from a Bucket Name – Power Platform Community (microsoft.com)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.