Power Automate Compose (Verfassen): Anleitung mit Beispielen
Die Aktion Verfassen (Compose) in Power Automate erklärt: wofür sie gut ist, Unterschied zu Variablen, Ausdrücke, JSON bauen und Fehlersuche. Mit Beispielen.
Die Aktion „Verfassen“ (englisch Compose) ist eine der nützlichsten Aktionen in Power Automate. Sie nimmt einen Wert, einen Ausdruck oder ein JSON-Objekt entgegen und stellt das Ergebnis den folgenden Schritten zur Verfügung. Klingt unspektakulär, macht Flows aber übersichtlicher, schneller und leichter zu debuggen.
In dieser Anleitung zeige ich, wann Sie Compose statt einer Variable nehmen, wie Sie das Ergebnis weiterverwenden und welche Fehler häufig passieren.
Wo finde ich Verfassen?
Im Flow-Designer fügen Sie einen neuen Schritt hinzu und suchen nach „Verfassen“ oder „Compose“. Die Aktion gehört zur Gruppe Datenvorgänge (Data Operation). Sie hat genau ein Feld: Eingaben. Dort steht, was berechnet oder zusammengesetzt werden soll.
Benennen Sie die Aktion sofort um, etwa in „Rechnungsnummer“. Der Name taucht später in Ausdrücken auf, und outputs('Rechnungsnummer') liest sich besser als outputs('Verfassen_3').
Wofür Compose gut ist
1. Zwischenergebnisse festhalten
Statt einen langen Ausdruck an mehreren Stellen zu wiederholen, berechnen Sie ihn einmal in einer Compose-Aktion und verwenden das Ergebnis weiter.
Beispiel: Ein Dateiname aus Lieferant und Datum.
concat(triggerOutputs()?['body/from'], '_', formatDateTime(utcNow(), 'yyyy-MM-dd'), '.pdf')
2. Fehlersuche
Sie wollen wissen, was in einem Feld wirklich ankommt? Eine Compose-Aktion mit dem Wert zeigt ihn im Ausführungsverlauf an. Das ist der schnellste Weg, um Ausdrücke zu prüfen.
3. JSON bauen
Für HTTP-Anfragen, Teams-Karten oder die Übergabe an andere Systeme lässt sich ein JSON-Objekt direkt in Compose schreiben:
{
"kunde": "@{triggerOutputs()?['body/Title']}",
"betrag": @{triggerOutputs()?['body/Betrag']},
"status": "neu"
}
4. Werte in Schleifen sammeln, ohne Variablen
In einer „Auf alle anwenden“-Schleife lassen sich Ergebnisse mit Compose berechnen, die danach mit „Auswählen“ oder „Array filtern“ weiterverarbeitet werden.
Compose oder Variable?
| Verfassen (Compose) | Variable | |
|---|---|---|
| Wert ändern | nein, einmal berechnet | ja, mit „Variable festlegen“ |
| Deklaration | nicht nötig | muss am Anfang initialisiert werden |
| In parallelen Schleifen | sicher | kann zu falschen Werten führen |
| Geschwindigkeit | schnell | etwas langsamer |
| Typisch für | Zwischenergebnisse, JSON, Debugging | Zähler, Sammeln über Schleifen |
Faustregel: Wenn sich der Wert nicht mehr ändern muss, nehmen Sie Compose. Variablen brauchen Sie für Zähler oder wenn Sie in einer Schleife Werte aufsummieren.
Das Ergebnis weiterverwenden
Im dynamischen Inhalt heißt das Ergebnis „Ausgaben“ der jeweiligen Compose-Aktion. In Ausdrücken schreiben Sie:
outputs('Rechnungsnummer')
Ist das Ergebnis ein JSON-Objekt, greifen Sie auf einzelne Felder zu:
outputs('Kunde_JSON')?['betrag']
Typische Beispiele
- Datum formatieren:
formatDateTime(utcNow(), 'dd.MM.yyyy') - Leere Werte abfangen:
coalesce(triggerOutputs()?['body/Telefon'], 'keine Angabe') - Text zusammensetzen:
concat('Antrag von ', triggerOutputs()?['body/Author/DisplayName']) - Anzahl Einträge:
length(body('Elemente_abrufen')?['value']) - Erste Zeile eines Arrays:
first(body('Array_filtern'))
Häufige Fehler
- Anführungszeichen bei Zahlen: Im JSON-Beispiel oben steht der Betrag ohne Anführungszeichen, sonst wird er als Text übergeben.
- Falscher Aktionsname: Leerzeichen im Namen werden in Ausdrücken zu Unterstrichen.
- Compose in einer Schleife außerhalb verwenden: Außerhalb der Schleife sehen Sie nur das Ergebnis des letzten Durchlaufs. Nutzen Sie dann „Auswählen“ oder sammeln Sie die Werte in einem Array.
- Zu viele Compose-Schritte: Für Übersicht sorgen sprechende Namen und Bereiche (Scopes), nicht noch mehr Aktionen.
Häufige Fragen
Was ist der Unterschied zwischen Verfassen und Compose?
Keiner. „Verfassen“ ist die deutsche Bezeichnung in der Oberfläche, „Compose“ die englische.
Kostet Compose eine Premium-Lizenz?
Nein. Verfassen ist eine eingebaute Aktion und in jeder Power-Automate-Lizenz enthalten.
Kann ich Compose zum Debuggen in produktiven Flows lassen?
Ja, es schadet nicht. Für Übersicht sollten reine Debug-Schritte aber entfernt oder klar benannt werden.
Ihre Flows sind über die Zeit unübersichtlich geworden? Ich biete einen Flow-Check an: Ich prüfe Aufbau, Fehlerbehandlung und Lizenzen und räume auf. Mehr praktische Beispiele: Excel automatisieren mit Power Automate.