Files
2026-07-02 08:18:00 +02:00

34 lines
1.6 KiB
Markdown

# `webhook` — HTTP-Aufruf an externe URL
**Zweck:** Sendet einen HTTP-Request an eine beliebige URL (z. B. um ein Drittsystem zu informieren) und kann die Antwort in den Kontext übernehmen. Läuft ohne Benutzerinteraktion; alle Felder unterstützen Platzhalter.
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `url` | **ja** | — | Ziel-URL |
| `method` | nein | `POST` | `GET`, `POST`, `PUT` oder `PATCH` |
| `body` | nein | *(leer)* | Request-Body (bei POST/PUT/PATCH), z. B. JSON |
| `header` | nein | `Content-Type: application/json` | Beliebig viele `<header name="…">Wert</header>`-Elemente; Werte mit Platzhaltern |
| `timeout` | nein | `10` | Timeout in Sekunden |
| `response_var` | nein | *(keine)* | Kontextvariable für den Antwort-Body |
| `fail_on_error` | nein | `true` | Bei `false` gilt der Task auch bei HTTP ≥ 400 oder Verbindungsfehler als erfolgreich (Workflow läuft weiter) |
**Eingangswerte:** Beliebige Kontextvariablen in `url`, `body` und Header-Werten.
**Ausgangswerte** (nur wenn `response_var` gesetzt):
- `<response_var>` — Antwort-Body als String
- `<response_var>_data` — Antwort zusätzlich als Struktur, falls sie gültiges JSON ist (Felder z. B. per `{{antwort_data.feld}}` nutzbar)
```xml
<task type="webhook" id="archivieren">
<config>
<url>https://api.example.org/archiv</url>
<method>POST</method>
<body>{"id":"{{WORKFLOW_ID}}","file":"{{pdf_url}}"}</body>
<header name="Authorization">Bearer {{api_token}}</header>
<response_var>archiv_antwort</response_var>
</config>
</task>
```