# Flowg8 · Workflow-Webhooks

Empfange ausgewählte Flow-Ereignisse an deinem signierten HTTPS-Endpunkt.

Verwalte Ziele unter Organisation → Webhooks mit einem Administrator-User-Token; Sandbox-Entwickler dürfen ihre Sandbox verwalten. Konfiguration und Secrets sind je Umgebung getrennt. Sandbox-Ziele senden echte HTTPS-Anfragen an deinen Testempfänger. Integration-API-Keys dürfen keine Webhook-Ziele verwalten.

Ereignisse: run.started, gate.activated, gate.approved, gate.rejected, acknowledgment.requested, acknowledgment.completed, notification.created, notification.delivered, notification.failed, run.approved, run.rejected, run.completed, run.expired. Payloads enthalten id, type, apiVersion, createdAt, sequence, organizationId, environment und data.run/data.gate/data.notification/data.outcome. Der Prozess enthält id, referenceId, flowId und flowVersionId. Anfragefelder und Kommentare werden nicht eingebettet; Details liest du über die Run-API.

Prüfe Flowg8-Signature: t=<Unix-Sekunden>,v1=<HMAC-SHA256 hex> über Zeitstempel + "." + unveränderten HTTP-Rohbody mit deinem fg_whsec_-Secret. Das SDK exportiert verifyWebhookSignature(rawBody, header, secret) mit fünf Minuten Zeitfenster. Ein erneuter Versuch verwendet einen frischen Signaturzeitstempel und dieselbe Ereignis-ID und Payload. Dedupliziere anhand event.id, berücksichtige unterschiedliche Zustellreihenfolgen, antworte zügig mit 2xx und verarbeite asynchron.

Zustellung erfolgt mindestens einmal mit bis zu zehn automatischen Versuchen innerhalb von 72 Stunden. Nur öffentliche HTTPS-Ziele auf Port 443; private Adressen und Weiterleitungen werden abgewiesen. Versandhistorie: bis zu 30 Tage, begrenzt durch die Sandbox-Aufbewahrung. Pausieren verhindert neue Nachrichten und hält wartende Zustellungen an; eine URL-Änderung bricht wartende Zustellungen ab, statt alte Ereignisse umzuleiten.

## GET /v1/webhook-endpoints

Authentication: FLOWG8_ACCESS_TOKEN from Flowg8 sign-in
Required tenant header: X-Organization-Id.
Required user permissions: Administrator oder Sandbox-Entwickler erforderlich. The API checks current membership, roles, key scopes and resource permissions on every request. Documentation visibility grants no access.

## Request example (replace example IDs)

```sh
curl "https://api.flowg8.io/v1/webhook-endpoints" \
  -H "authorization: Bearer $FLOWG8_ACCESS_TOKEN" \
  -H "x-organization-id: 10000000-0000-4000-8000-000000000001"
```

## Response excerpt

```json
{
  "configured": true,
  "items": []
}
```

Source: /docs/webhooks
Full schemas: /docs/openapi.json
