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_action—triggeropens (or updates) an incident,resolvecloses 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 samededup_keybecome updates, not duplicates.payload.summary/source/severity— required on every trigger: a one-line human description, where it came from, and one ofcritical,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
sevritybefore 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.