This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Webhook

Generic HTTP Webhook

    POSTs every event (or every event whose Data() matches filter) as a JSON object to a configured URL. Slack and Discord notifiers share this codepath under the hood.

    Payload shape

    {
      "RemoteAddr": "203.0.113.5",
      "RemotePort": 54321,
      "UserAgent":  "curl/8.0",
      "Data":       "DELETE /probe HTTP/1.1\r\nHost: ...",
      "Details":    "HTTPX: DELETE http://.../probe from 203.0.113.5:54321"
    }
    

    Configuration

    KeyRequiredDefaultNotes
    notifieryesMust be webhook.
    urlyesDestination URL. Posted with Content-Type: application/json.
    filterno.*Go regexp syntax. Tested against the event’s Data(); non-matches are dropped silently.

    Failure handling

    • 2xx/3xx responses are treated as success.
    • 4xx/5xx responses log an error but do not propagate one up to the dispatcher (so a flaky webhook does not block other notifiers).
    • Connection/transport failures (DNS, refused, timeout) propagate as errors and are surfaced in the app log.