WWarnFireDocs

Webhook adapters

Generic webhook

Connect any tool that can send a JSON webhook — no custom code needed.

Many tools can send a webhook — a small message posted to a web address when something happens. The generic adapter accepts those messages directly, so you can connect almost anything that lets you customize its webhook body.

The address and the key

Send a POST request to:

https://api.warnfire.com/v1/integrations/webhooks/generic

Include your service’s integration key as a header — either of these works:

Authorization: Bearer YOUR-INTEGRATION-KEY
X-WarnFire-Integration-Key: YOUR-INTEGRATION-KEY

Never put the key in the web address itself, and never in the message body.

What to send

One JSON message per problem event. To open an incident:

{
  "event_action": "trigger",
  "dedup_key": "checkout-api/high-error-rate",
  "client_event_id": "delivery-0001",
  "payload": {
    "summary": "Checkout error rate above 10%",
    "source": "prometheus",
    "severity": "critical"
  }
}

And when the problem clears, close it with:

{
  "event_action": "resolve",
  "dedup_key": "checkout-api/high-error-rate",
  "client_event_id": "delivery-0002"
}

The three fields that matter most:

  • event_actiontrigger opens (or updates) an incident, resolve closes it.
  • dedup_key — your name for this particular problem. Use the same value in the trigger and its resolve so they connect. While an incident is open, repeat triggers with the same dedup_key become updates, not duplicates.
  • payload.summary / source / severity — required on every trigger: a one-line human description, where it came from, and one of critical, error, warning, info.

You can also attach a longer description, links to dashboards or runbooks, labels, tags, and typed details — the full field list is in the Events API section, which this adapter shares.

Rules worth knowing

  • One event per delivery. A batch of several events in one request is rejected — this keeps “did it work?” a yes-or-no answer for your sending tool.
  • Unknown fields are rejected, which catches typos like sevrity before they silently lose information.
  • Messages are limited to 256 KB.

Not sure your tool’s output matches? Paste a sample into the console tester first — see Test before you connect.