Von Benjamin Bozejac auf Donnerstag, 06. April 2023
Kategorie: Cloud Services

Schon wieder vergessen? Azure, erinnere mich!

Viele kennen das – am letzten Arbeitstag im Monat vor dem Urlaub oder zu anderen Terminkonstellationen müssen bestimmte Aufgaben erledigt werden. Solche regelmäßigen Aufgaben können in der Hektik der Urlaubsübergabe oder auch sonst schnell in Vergessenheit geraten. Glücklicherweise bietet Microsoft Power Automate die Möglichkeit, automatisiert eine Erinnerung zu verschicken. Wie das funktioniert, soll hier anhand eines Beispiels für den letzten Arbeitstag eines Monats gezeigt werden. 

Zielsetzung und Voraussetzungen

Das Ziel ist, an regelmäßig auszuführende Aufgaben erinnert zu werden. Dabei heißt regelmäßig aber nicht, dass die Aufgaben in festen Abständen zu erledigen sind, sondern zu mehr oder weniger individuellen Zeiten. Diese sind z. B. davon abhängig, wann man selbst Urlaub, Überstundenausgleich oder andere regelmäßige und dennoch terminabhänge Kalendereinträge hat (z. B. Feiertage). Das hier aufgeführte Beispiel stützt sich dabei auf einen ordentlich gepflegten Outlook-Terminkalender.

Wie schon erwähnt, werden die Termineinträge schließlich in einem Flow (MS Power Automate) abgefragt und als Trigger für weitere Aktionen verwendet. Ein Microsoft-Konto mit der Möglichkeit, Power Automate zu nutzen, ist daher Voraussetzung.

In unserem Beispiel soll ein Mitarbeiter am letzten Arbeitstag eines Monats daran erinnert werden, seine Stunden zu prüfen. Im Anschluss kann er seinen Vorgesetzten informieren und sich die Stunden genehmigen lassen. 

Kalendereinträge – Planung ist (fast) alles

Um erfolgreich am richtigen Tag erinnert werden zu können, sind Kalendereinträge notwendig. Dabei ist es sinnvoll, dass die verschiedenen Arten der Kalendereinträge (Urlaub, Überstundenausgleich, Feiertage, …) stets einheitlich definiert werden. Dies ist im Falle von Urlaubseinträgen leicht: „Urlaub" oder andere gängige Abkürzungen (z. B. „U", „JU" oder „ÜA" für Überstundenausgleich) sollten verwendet werden. Darüber hinaus sollte klar definiert sein, welche Ereignisse relevant sind. Urlaub, Überstundenausgleich oder Feiertage haben beispielsweise einen Einfluss darauf, welcher Tag des Monats der letzte Arbeitstag eines Mitarbeiters ist. Eine Krankmeldung zählt zu den nicht vorhersehbaren Ereignissen, welche eine rechtzeitige Erinnerung potenziell aushebeln können.

Wichtig sind für unser Beispiel demnach Einträge, die Urlaub, Überstundenausgleich und/oder Feiertage festlegen. Ein Eintrag wie beispielsweise „Weihnachten" sollte über ein zusätzliches Attribut (z. B. das Attribut „Kategorie") der Gruppe der „Feiertage" zugeordnet werden. Bestenfalls ist zusätzlich definiert, ob der Feiertag nur für bestimmte Regionen zutrifft. Auch Wochenenden können den letzten Arbeitstag bestimmen. Sie sind aber recht einfach über die Nummer des Wochentages zu identifizieren.

Schritte zum „Erinnere mich"

Mit einem Power-Automate-Zugriff und den entsprechenden Kalendereinträgen kann direkt mit der Umsetzung der individuellen und automatisierten Erinnerung begonnen werden. Im Folgenden sind die einzelnen Schritte in Fotostrecken dargestellt. 

Schritt 1: Neuen Flow erstellen

Schritt 2: Neuen Schritt (Aktion) anlegen

(Zu Abbildung 8 + 9) Die nächsten Schritte sind die Initialisierungen vier weiterer Variablen: 

Name Datentyp Wert
​ tempLetzterTag ​Zeichenfolge ​ --- (Wert wird nicht festgelegt)
​ TagStatus​Boolescher Wert​ fx(true)
​ LetzterTagImMonat​Zeichenfolge​ <letzter Tag im Monat> *
​ letzterArbeitstagImMonat​Zeichenfolge​ <letzter Arbeitstag im Monat> **

* Der Wert des letzten Tages im Monat wird ebenso über das Pop-Up Fenster „Dynamischer Inhalt" im Reiter „Ausdruck" festgelegt. Der Ausdruck ist folgender:
formatDateTime(subtractFromTime(startOfMonth(addToTime(utcNow(),1,'month')),1,'day'),'yyyy-MM-dd')

** Der letzte Arbeitstag im Monat muss ein Werktag (Mo. – Fr.) sein. Daher wird hier eine if-Abfrage verwendet, die prüft, ob der letzte Tag im Monat (Variable LetzterTagImMonat) auf ein Wochenende fällt. Ist das der Fall, so wird von diesem Tag auf den davorliegenden Freitag zurückgerechnet (Sa. – 1; So. - 2). So werden bei der Initialisierung der Variablen des letzten Arbeitstages im Monat die Wochenenden schon berücksichtigt:
formatDateTime(if (equals(dayOfWeek(variables('LetzterTagImMonat')),0),subtractFromTime(variables('LetzterTagImMonat'),2,'day'),if (equals(dayOfWeek(variables('LetzterTagImMonat')),6),subtractFromTime(variables('LetzterTagImMonat'),1,'day'),variables('LetzterTagImMonat'))),'yyyy-MM-dd')

Schritt 3: Wiederholen bis

​Schritt 4: Kalendereinträge abrufen

Schritt 5: Auf alle Kalendereinträge anwenden

Schritt 6: Bedingung – Prüfen auf Feiertage

Schritt 7: Bedingung – Urlaub und Überstundenausgleich

Schritt 8: Prüfen, ob die Schleife abgebrochen wird oder weiterlaufen muss

Schritt 9: Letzte Bedingung – ist heute der zuvor berechnete letzte Arbeitstag im Monat?

Der gesamte Flow sieht nun wie folgt aus – die einzelnen Blöcke mit den Details sind zusammengeklappt (Ausnahme: Wiederholen bis): 

Zum Schluss

Das Zusammenspiel verschiedener Microsoft-Komponenten kann den Arbeitsalltag vereinfachen, wenn die Zeit es erlaubt, ein wenig herumzuexperimentieren. So ist z. B. die automatisierte Erinnerung zu einem bestimmten Zeitpunkt möglich – hier am letzten Arbeitstag im Monat. Benötigt wird ein bisschen Outlook, etwas von der Cloud und ein Hauch von zeitlicher Flexibilität, um sich mit dem Thema zu befassen.

Sollte die zuletzt genannte Zutat fehlen, ist auch der Download des Flows als ZIP-Datei möglich. Dieser lässt sich in diesem Format leicht in der eigenen Power Automate Umgebung importieren – wenn der hier beschriebene Anwendungsfall auch für Sie interessant ist. Wichtig beim Import ist, dass der Flow als neuer Flow erstellt wird (Schraubenschlüssel anklicken) und die eigene E-Mail-Adresse bzw. der MS Account hinterlegt wird. Weiterhin muss nach dem Import der eigene Kalender ausgewählt werden (über „Flow bearbeiten").

Ansonsten sind Ihre Einsatzgebiete gefragt. Setzen Sie Ihre Ideen doch gleich um und teilen Sie diese gerne mit uns – über einen Kommentar zu diesem Artikel.

Vielleicht wäre eine automatisch erstellte Abwesenheitsnotiz möglich. 

Seminarempfehlung

Kommentare hinterlassen