---
url: https://docs.ogmabox.com/de/app/workflows.md
description: >-
  Erstelle wiederverwendbare Ogma-Workflows für passive Verarbeitung, aktive
  Aktionen und Datenumwandlung.
---

# Workflows {#workflows}

Workflows sind wiederverwendbare Automatisierungspipelines, die aufgezeichneten Datenverkehr verarbeiten, aktive Schritte ausführen oder Daten transformieren – ohne dass du eigenständige Skripte schreiben musst.

## Workflow-Typen {#workflow-types}

| Typ | Auslöser | Häufige Verwendung |
|------|-------------|------------|
| passiv (Passive) | Neu aufgezeichneter Datenverkehr | Interessante Muster markieren, Anfragen mit Tags versehen, Befunde automatisch erstellen. |
| aktiv (Active) | Manueller Start | Folgeanfragen senden, Aktionen verketten, mehrstufige Tests ausführen. |
| Konvertierung (Convert) | Testeingabe, Umwandlungsaktionen oder Suchen & Ersetzen | Text oder Bytes transformieren, etwa JavaScript formatieren oder JSON normalisieren. |

Passive-Workflows laufen kontinuierlich im Hintergrund. Active-Workflows werden bei Bedarf für eine ausgewählte Menge von Anfragen ausgeführt.

## Die Workflow-Arbeitsfläche {#the-workflow-canvas}

Öffne **Workflows** und wähle einen Workflow, um seine Arbeitsfläche zu öffnen.

* Knoten erscheinen im mittleren Bereich. Jeder Knoten hat typisierte Ein- und Ausgangsports.
* Verbinde einen Ausgangsport mit einem Eingangsport, indem du vom Ausgangsport zum Eingangsport ziehst.
* Klicke auf einen Knoten, um rechts seinen Konfigurationsbereich zu öffnen.
* Die obere Werkzeugleiste enthält Optionen für Ausführung, Aktivieren/Deaktivieren und Import/Export.

## Knotentypen {#node-types}

| Knoten | Beschreibung |
|------|-------------|
| Start / Ende | Ein- und Ausgangsknoten passend zum Workflow-Typ Passive, Active oder Convert. |
| Bedingungen | If / Else, If / Else JS, HTTPQL-Abgleich, Scope-Abgleich, Zeichenfolge enthält und Regex-Abgleich. |
| Codierung | Base64-, URL-, Hex- und HTML-Codierung/Decodierung. |
| Formatierung und Hashes | JSON minimieren/formatieren, MD5, SHA-1 und SHA-256. |
| Textoperationen | Trimmen, Verbinden, Aufteilen, Match & Replace, JQ-Transformation und Grep-Extraktion. |
| JavaScript | Eigene Logik mit dem Workflow-SDK; kann Datenverkehr lesen, Dateien bearbeiten und Befunde erstellen. |
| Integration | Protokoll, Webhook, Workflow aufrufen, Anfrage senden und Match-&-Replace-Regel. |

Die tatsächlichen Ports und Einstellungen findest du in der Knotenpalette. Klicke auf eine Verbindung, um sie zu bearbeiten, statt zum Neuverbinden des Graphen einen Knoten zu löschen. Speichere mit **Speichern** oder **Ctrl+S** (Command+S unter macOS).

## Gemeinsame Nutzung und Gültigkeitsbereich {#sharing-and-scope}

Workflows werden standardmäßig zwischen Projekten desselben Arbeitsbereichs geteilt. Aktiviere **Projektspezifisch**, damit eine Definition ihrem Projekt zugeordnet bleibt. Geteilte Definitionen bedeuten nicht, dass Datenverkehr, Ergebnisse oder Notizen aller Projekte geteilt werden. Exportiere/importiere Workflow-JSON beim Wechsel in einen anderen Arbeitsbereich oder eine andere Installation.

## Vor dem Live-Einsatz testen {#testing-before-live-use}

Passive- und Active-Workflows haben einen Bereich **HTTP-Test** mit URL sowie rohen Anfrage- und Antwort-Testdaten. Aktiviere den Workflow, fülle die Felder und klicke auf **Workflow testen**. Der Test speichert Änderungen vor der Ausführung. Testdaten bleiben pro Workflow erhalten, wenn du weg- und zurücknavigierst.

Ein Convert-Workflow hat stattdessen **Testeingabe** und Ausgabe. Beginne mit einer kleinen repräsentativen Eingabe und teste danach eine realistisch große Ressource. Testdaten machen beliebiges JavaScript oder Anfrage-senden-Knoten nicht harmlos: Workflow-Code kann weiterhin seine konfigurierten Aktionen ausführen.

### JavaScript und Dateien {#javascript-and-files}

Workflow-JavaScript unterstützt das Ogma-SDK und kompatible `fs`-/`path`-Importe. Nutze `sdk.fs.readFile`, `writeFile`, `appendFile`, `exists`, `readDir`, `mkdir` und `unlink` für Dateioperationen und `sdk.path` für plattformgerechte Pfade. Dies sind Ogma-Helfer, nicht die gesamte Node.js-Standardbibliothek.

Für einen Ressourcenexporter liest du `response.getBody().toText()`, wählst mit `sdk.path.join` ein Ziel, erstellst dessen übergeordnetes Verzeichnis und prüfst `sdk.fs.exists`, wenn du keine vorhandene Datei überschreiben möchtest. Prüfe Dateisystempfade vor der Ausführung: Workflow-Dateisystemhelfer laufen auf dem Ogma-Host, anders als `sdk.fs` eines Plugins in dessen privatem Verzeichnis. Informationen zu dieser anderen Laufzeit findest du im [Plugin-SDK](../plugins/README.md#sdk-fs).

## Einen Workflow importieren {#importing-a-workflow}

1. Klicke in der Workflow-Werkzeugleiste auf **Importieren**.
2. Wähle eine JSON-Workflow-Datei.
3. Der Workflow öffnet sich auf der Arbeitsfläche. Prüfe die Knotenkonfiguration vor dem Aktivieren.
4. Speichere den Workflow.

Exportierte Workflow-JSON-Dateien können zwischen Ogma-Installationen geteilt oder in der Versionsverwaltung gespeichert werden.

## Einen Workflow für aufgezeichneten Verlauf ausführen {#running-a-workflow-on-captured-history}

Active-Workflows lassen sich für zuvor aufgezeichnete Anfragen erneut ausführen.

1. Öffne den Workflow.
2. Klicke auf **Auf Verlauf ausführen**.
3. Gib im Dialog zum Scannen des Verlaufs bei Bedarf einen HTTPQL-Filter ein, um die verarbeiteten Anfragen zu begrenzen.
4. Klicke auf **Ausführen**.

Prüfe die Trefferzahl und starte den Auftrag. Fortschritt und Fehler erscheinen im Scanauftrag und bei aktivierter Protokollierung in dessen Ausführungsverlauf. Passive-Workflows bieten **Verlauf scannen** und **Für Anfrage erneut ausführen** zur nachträglichen Verarbeitung.

Für einige interessante Ressourcen wählst du eine oder mehrere HTTP-Verlaufszeilen, öffnest das Kontextmenü, wählst **Senden an > Workflow** und einen aktivierten Active-Workflow. Dies übergibt ihm die ausgewählten Einträge, ohne seine Definition zu ändern oder den gesamten Verlauf zu verarbeiten.

Die Schaltfläche **KI** neben dem Filter für das Scannen des Verlaufs erzeugt aus einer natürlichsprachlichen Beschreibung einen HTTPQL-Ausdruck.

## Workflow-Ausführungen und Ergebnisse {#workflow-runs-and-results}

Aktiviere **Protokollierung aktivieren** in der Workflow-Konfiguration, wenn du Ausführungsdetails brauchst. Dies gilt für Passive-, Active- und Convert-Workflows einschließlich Match-&-Replace-Umwandlungen. Bei Deaktivierung läuft die Verarbeitung weiter, fügt aber keine Ausführungs-/Schrittprotokolle hinzu; aktiviere sie erneut und wiederhole einen Test zur Problemdiagnose.

* Klicke auf eine Ausführung, um die Schrittausgabe pro Knoten zu sehen.
* Knoten mit Fehlern werden hervorgehoben.
* Während der Ausführung erstellte Befunde erscheinen unter [Befunde](./findings.md).
* Während der Ausführung extrahierte Variablen sind im Schrittdetailbereich sichtbar.

**Alles leeren** entfernt den gespeicherten Ausführungsverlauf des ausgewählten Workflows. Lade Protokolle vorher herunter, wenn du sie als Debugging-Nachweise behalten musst. Die Protokollierung kann große Ausgaben wie vollständige Skript-Bodies speichern; lasse sie deshalb bei häufigen Umwandlungen ausgeschaltet, sofern du sie nicht brauchst.

## Einen Passive-Workflow aktivieren {#enabling-a-passive-workflow}

1. Öffne den Workflow.
2. Prüfe, ob die Arbeitsflächenkonfiguration vollständig ist (keine unverbundenen erforderlichen Ports).
3. Betätige **Aktivieren** in der Werkzeugleiste.

Aktivierte Passive-Workflows verarbeiten neuen Datenverkehr automatisch. Deaktiviere einen Workflow, um ihn ohne Löschen zu pausieren.

## Verwandte Seiten {#related-pages}

* [Befunde](./findings.md)
* [Umgebung](./environment.md)
* [HTTPQL und StreamQL](../reference/httpql.md)
