> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langdock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Output

> Erfasse und speichere einen Wert als finales Ergebnis deines Workflow-Laufs.

## Überblick

Der Output-Node speichert einen aufgelösten Wert als Ergebnis des Workflow-Laufs. Er ist ein terminaler Node — er hat einen Eingangs-Handle, aber keinen Ausgangs-Handle, und bildet damit einen strukturellen Endpunkt in deinem Workflow-Graphen.

Nach Abschluss des Workflows ist der Output in der Lauf-Historie, über die API und — falls der Workflow aus dem Chat heraus gestartet wurde — direkt in der Chat-Nachricht verfügbar.

<Info>
  **Am besten für**: Zusammenfassungen, strukturierte Daten, extrahierte Werte
  oder andere finale Ergebnisse eines Workflow-Laufs zurückgeben.
</Info>

## Wie es funktioniert

1. Du konfigurierst ein **Value**-Feld mit einem Template-Ausdruck, der auf Outputs vorheriger Nodes verweist.
2. Zur Laufzeit wird das Template aufgelöst — Variablen wie `{{agent.output.structured.summary}}` werden durch tatsächliche Werte ersetzt.
3. Der aufgelöste Wert wird im `output`-JSON-Objekt des Workflow-Laufs gespeichert, geschlüsselt durch den **Slug** des Nodes.
4. Falls der Workflow aus dem Chat gestartet wurde, wird der Output zurück in die ursprüngliche Nachricht geschrieben, sodass du das Ergebnis direkt inline siehst.

## Mehrere Output-Nodes

Ein Workflow kann mehr als einen Output-Node haben. Jeder trägt einen separaten Schlüssel (seinen Slug) zum Output-Objekt des Laufs bei. Wenn du zum Beispiel zwei Output-Nodes mit den Slugs `summary` und `actionItems` hast, sieht der Lauf-Output so aus:

```json theme={null}
{
  "summary": "Q1-Umsatz stieg um 12%, getrieben durch Enterprise-Expansion...",
  "actionItems": "1. Board-Review planen\n2. Prognosemodell aktualisieren\n3. ..."
}
```

## Konfiguration

### Value

Das Kernfeld des Output-Nodes. Definiere, welche Daten erfasst werden sollen, mit einem Template-Ausdruck und Variablen von vorherigen Nodes.

```handlebars theme={null}
{{agent.output.structured.summary}}
```

Du kannst mehrere Variablen und statischen Text kombinieren:

```handlebars theme={null}
Bericht für {{trigger.output.customer_name}}:

{{agent.output.structured.analysis}}

Erstellt am {{trigger.output.date}}
```

<Tip>
  Der Output-Node unterstützt aktuell nur den **Manual-Modus** — du schreibst
  den Template-Ausdruck direkt. Das gibt dir volle Kontrolle darüber, was
  genau zurückgegeben wird.
</Tip>

### Slug

Der Slug ist der Schlüssel, unter dem dieser Output gespeichert wird. Er wird automatisch aus dem Node-Namen in camelCase generiert (z.B. "Final Summary" wird zu `finalSummary`). Wenn dein Workflow mehrere Output-Nodes hat, muss jeder einen eindeutigen Slug haben.

### Fehlerbehandlung

Konfiguriere, wie Fehler behandelt werden, wenn der Wert nicht aufgelöst werden kann:

| Strategie    | Verhalten                                      |
| ------------ | ---------------------------------------------- |
| **Stop**     | Workflow stoppt sofort bei Fehler              |
| **Callback** | Weiterleitung an einen Fehlerbehandlungs-Zweig |
| **Continue** | Fortfahren mit verfügbaren Fehlerdaten         |

**Standard:** Stop

## Chat-Integration

Wenn ein Workflow aus dem Chat heraus gestartet wird (entweder per @-Mention oder über einen Agenten), schreibt der Output-Node sein Ergebnis direkt zurück in die Chat-Nachricht. Du siehst den Workflow-Output inline, ohne zur Workflow-Lauf-Historie navigieren zu müssen.

Der Output erscheint als formatiertes Ergebnis-Panel im Chat mit Workflow-Name, Ausführungszeit und dem Output-Inhalt.

Wenn der Workflow keinen Output-Node hat, zeigt der Chat stattdessen einen generischen "Abgeschlossen"-Status ohne detailliertes Ergebnis.

## Beispiel

Ein Workflow, der ein Support-Ticket analysiert und eine strukturierte Antwort zurückgibt:

```handlebars theme={null}
**Priorität:** {{agent.output.structured.priority}}
**Kategorie:** {{agent.output.structured.category}}
**Vorgeschlagene Antwort:**

{{agent.output.structured.draft_reply}}
```

Dies wird zur Laufzeit in die tatsächlichen Werte aufgelöst und unter dem Slug des Nodes als einzelner String gespeichert.

## Best Practices

<AccordionGroup>
  <Accordion title="Halte den Output fokussiert">
    Gib nur die Daten zurück, die dein Konsument braucht. Wenn der Workflow aus
    dem Chat gestartet wird, ist eine prägnante Zusammenfassung nützlicher als
    alle Zwischendaten auszugeben.
  </Accordion>

  <Accordion title="Verwende aussagekräftige Slugs">
    Wenn dein Workflow mehrere Output-Nodes hat, gib ihnen beschreibende Namen,
    damit die Output-Schlüssel selbsterklärend sind (z.B. `summary`,
    `recommendations`, `rawData`).
  </Accordion>

  <Accordion title="Kombiniere mit Agent-Nodes">
    Verwende einen Agent-Node, um Daten aus mehreren vorherigen Schritten zu
    synthetisieren, und leite dann den strukturierten Output des Agenten in den
    Output-Node. So bleibt dein finales Ergebnis sauber und gut formatiert.
  </Accordion>

  <Accordion title="Teste mit der Lauf-Timeline">
    Prüfe nach dem Ausführen eines Workflows den Output-Node in der
    Lauf-Timeline, um genau zu sehen, welcher Wert erfasst wurde. Das hilft
    beim Debuggen von Template-Ausdruck-Problemen.
  </Accordion>
</AccordionGroup>

## Nächste Schritte

<CardGroup cols={2}>
  <Card title="Variablenverwendung" icon="brackets-curly" href="/de/using-langdock/workflows/fundamentals/variable-usage">
    Lerne, wie du Daten von vorherigen Nodes referenzierst
  </Card>

  <Card title="Agent-Node" icon="brain" href="/de/using-langdock/workflows/nodes/agent-node">
    Generiere strukturierte Daten für Outputs
  </Card>

  <Card title="Workflows im Chat" icon="comments" href="/de/using-langdock/chat/tools/workflows">
    Starte Workflows aus dem Chat und sieh Outputs inline
  </Card>

  <Card title="Kernkonzepte" icon="lightbulb" href="/de/using-langdock/workflows/fundamentals/core-concepts">
    Verstehe Workflow-Grundlagen
  </Card>
</CardGroup>
