Premium vs. Process: welche Lizenz wofür (Flow-Gruppen als KMU-Sparhebel)
Premium oder Process? So finden Sie die richtige Power-Automate-Lizenz, und wie Flow-Gruppen kleinen Flows Geld sparen.
Die Aktion „Verfassen“ heißt auf Englisch Compose und ist ein Zwischenspeicher für beliebige Werte. Wofür man sie nutzt und wann Variablen besser sind.
Die Aktion „Verfassen", im englischen Original Compose, ist ein Zwischenspeicher. Sie nimmt einen beliebigen Wert auf und stellt ihn allen folgenden Schritten als Ausgabe bereit. Erlaubt sind Text, Zahl, Array, JSON-Objekt oder das Ergebnis einer Formel.
Mehr macht die Aktion nicht, und genau das macht sie nützlich. Die deutsche Übersetzung führt allerdings viele in die Irre. Mit dem Verfassen von Texten hat der Baustein nur am Rande zu tun. Microsoft führt Compose unter den Datenvorgängen, zusammen mit „Auswählen", „Filtern" und „JSON analysieren".
Man nutzt „Verfassen" für vier Aufgaben: Werte einmal berechnen, Zwischenstände sichtbar machen, Daten zusammenbauen und Konstanten pflegen.
In der zugrunde liegenden Workflow-Definition ist ein Compose ein Objekt mit dem Typ Compose und dem Feld inputs. Das folgende Beispiel zeigt drei Schritte: eine Konstante, ein berechnetes Datum und ein daraus zusammengesetztes Objekt.
1{2 "Verteiler": {3 "type": "Compose",4 "inputs": [5 "einkauf@example.com",6 "buchhaltung@example.com"7 ],8 "runAfter": {}9 },10 "Stichtag": {11 "type": "Compose",12 "inputs": "@formatDateTime(utcNow(), 'dd.MM.yyyy')",13 "runAfter": {14 "Verteiler": [ "Succeeded" ]15 }16 },17 "Meldung": {18 "type": "Compose",19 "inputs": {20 "an": "@outputs('Verteiler')",21 "betreff": "@concat('Freigabe fällig am ', outputs('Stichtag'))"22 },23 "runAfter": {24 "Stichtag": [ "Succeeded" ]25 }26 }27}Zwei Regeln stecken darin. Ein String, der mit @ beginnt, wird als Ausdruck ausgewertet. Innerhalb eines Ausdrucks brauchen verschachtelte Funktionen wie outputs() kein weiteres @.
Sie greifen über die Funktion outputs() mit dem Schrittnamen zu, im Designer alternativ über den dynamischen Inhalt „Ausgaben" des Schritts. Die folgenden Ausdrücke lassen sich direkt in ein Formelfeld kopieren.
1outputs('Stichtag')2outputs('Meldung')?['betreff']3join(outputs('Verteiler'), ';')Wichtig ist der Schrittname. In der Definition tragen Aktionen Unterstriche statt Leerzeichen. Ein Schritt namens „Offene Freigaben" heißt im Ausdruck deshalb outputs('Offene_Freigaben').
Das Fragezeichen in der zweiten Zeile ist der Null-Ignorieren-Operator. Fehlt die Eigenschaft betreff, liefert der Ausdruck null, statt den Lauf mit einem Fehler abzubrechen.
Benennen Sie Compose-Schritte deshalb sofort um. Aus „Verfassen 7" wird „Verteiler", und der Flow bleibt auch in einem Jahr lesbar. Wie Sie mit solchen Bausteinen Schritt für Schritt zum ersten sauberen Flow kommen, zeigt unsere Power-Automate-Beratung. Für den verwandten Dauerbrenner der deutschen Oberfläche lohnt der Blick auf „Apply to each" auf Deutsch erklärt.
Der Unterschied ist die Veränderbarkeit: Ein Compose steht nach seinem Schritt fest, eine Variable lässt sich im Flow-Verlauf ändern.
Kriterium | Verfassen (Compose) | Variable
Kriterium: Wert später änderbar · Verfassen (Compose): nein · Variable: ja, über „Variable festlegen"
Kriterium: Eigener Initialisierungsschritt nötig · Verfassen (Compose): nein · Variable: ja, „Variable initialisieren"
Kriterium: Erlaubte Position im Flow · Verfassen (Compose): überall, auch in Schleife und Bedingung · Variable: nur auf oberster Flow-Ebene
Kriterium: Zugriff in Formeln · Verfassen (Compose): outputs('Schrittname') · Variable: variables('Name')
Kriterium: In paralleler Schleife · Verfassen (Compose): Ausgabe entsteht je Iteration und wird dort gelesen · Variable: alle Iterationen teilen dieselbe Variable
Kriterium: Zählt auf das Aktionskontingent · Verfassen (Compose): ja, ein Schritt · Variable: ja, je Initialisieren und je Festlegen
Die Faustregel: Wer einen Wert nur festhalten oder berechnen will, nimmt Compose. Wer einen Wert unterwegs verändern muss, braucht eine Variable.
Microsoft nennt Compose ausdrücklich die leichtere Wahl für Zwischenergebnisse, weil der Schritt keine Deklaration braucht. Variablen sind für Zähler und für Zustand über mehrere Schritte hinweg gedacht.
Vier Datenvorgänge decken die meisten Fälle ab, und jeder hat einen klaren Zuständigkeitsbereich.
Baustein | Zweck | Typische Eingabe
Baustein: Verfassen · Zweck: einen Wert festhalten oder berechnen · Typische Eingabe: beliebiger Wert oder Ausdruck
Baustein: JSON analysieren · Zweck: einen JSON-Text in benannte Felder zerlegen · Typische Eingabe: JSON-Text plus Schema
Baustein: Auswählen · Zweck: die Form jedes Objekts in einem Array ändern · Typische Eingabe: Array plus Feldzuordnung
Baustein: Filtern · Zweck: ein Array auf passende Einträge reduzieren · Typische Eingabe: Array plus Bedingung
Fünf Fehler treten bei „Verfassen" besonders häufig auf, und alle haben eine dokumentierte Ursache.
1. `outputs()` findet den Schritt nicht. Ursache: Der Schrittname enthält Leerzeichen, in der Definition steht dort ein Unterstrich. Lösung: Schreiben Sie outputs('Offene_Freigaben') statt outputs('Offene Freigaben'). Quelle: Referenz zu Ausdrucksfunktionen.
2. Zugriff auf ein Compose innerhalb einer Schleife schlägt von außen fehl. Ursache: Der Schritt gehört zum Bereich der Schleife und ist außerhalb nicht adressierbar. Lösung: Sammeln Sie die Werte mit „Auswählen" vor der Schleife, oder lesen Sie die Ergebnisse mit result('Apply_to_each'). Quelle: Funktion result().
3. „Variable initialisieren" lässt sich in einer Schleife nicht anlegen. Ursache: Variablen dürfen nur auf globaler Ebene deklariert werden, nicht in Bereichen, Bedingungen oder Schleifen. Lösung: Setzen Sie die Initialisierung an den Flow-Anfang, oder nutzen Sie an dieser Stelle ein Compose. Quelle: Werte in Variablen speichern.
4. Das Aktionskontingent ist aufgebraucht, obwohl der Flow „nur" Compose nutzt. Ursache: Jede Aktion zählt als Power-Platform-Anfrage, auch ein einfaches Compose. In einer Schleife zählt der Schritt einmal je Element. Lösung: Ziehen Sie unveränderliche Werte vor die Schleife und ersetzen Sie Schleifen durch „Auswählen" oder „Filtern". Quelle: Plattformgrenzen verstehen.
5. Der Lauf bricht mit „Unable to process template language expressions" ab. Ursache: Ein Ausdruck greift auf eine Eigenschaft zu, die im Objekt fehlt oder null ist. Lösung: Setzen Sie den Null-Ignorieren-Operator davor, etwa outputs('Meldung')?['betreff']. Quelle: Schema der Workflow-Definitionssprache.
Die deutsche Oberfläche übersetzt die englischen Aktionsnamen wörtlich, aus Compose wurde „Verfassen". Gemeint ist das Zusammenstellen eines Wertes, nicht das Schreiben von Text. Suchen Sie bei Problemen immer auch nach dem englischen Begriff Compose, die meisten Anleitungen im Netz verwenden ihn.
Ja. Ein Compose nimmt ein komplettes Objekt oder Array auf, etwa ein selbstgebautes JSON mit mehreren Feldern. Auf einzelne Teile greifen Sie per Formel zu, zum Beispiel mit outputs('Meldung')?['betreff']. Für strukturierte Daten aus fremden Quellen ist die Kombination aus Compose und „JSON analysieren" das übliche Muster.
Praktisch nicht. Compose gehört zu den leichtesten Aktionen und braucht keine Deklaration. Zu bedenken ist das Aktionskontingent: Auch ein Compose zählt als Aktion, in großen Schleifen summiert sich das. Setzen Sie den Baustein innerhalb von Schleifen also nur dort ein, wo Sie ihn wirklich brauchen.
Gründer von NordFlux. Sieben Jahre Erfahrung von Web und SEO bis zur Automatisierung im Konzern-Maßstab, heute pragmatisch für den Mittelstand und mit deutscher Datenhoheit.
Zertifizierungen
Premium oder Process? So finden Sie die richtige Power-Automate-Lizenz, und wie Flow-Gruppen kleinen Flows Geld sparen.
Variablen in Power Automate einfach erklärt: Initialisieren, Festlegen, Erhöhen und Anfügen – die wichtigsten Aktionen auf Deutsch.
Der Compose-Baustein sieht simpel aus, doch wer ihn mit Variablen verwechselt, baut Flows, die bei jeder Änderung schwerer zu warten sind. NordFlux strukturiert Ihre Flows von Anfang an so, dass Zwischenschritte nachvollziehbar bleiben und spätere Anpassungen kein Risiko sind. Im ersten Gespräch schauen wir uns Ihre bestehenden Flows auf Wartbarkeit an.