- You want a simple URL to give to a script, a monitoring tool, or a homegrown system.
- You don’t want to manage API keys or set request headers.
- The alerts should always land on the same team (or same service).
Set it up
1
Add the integration
Open the team or service you want alerts to land on, go to the Integrations tab, and add Incoming API.Copy it. Anyone with this URL can create alerts on this team or service, so treat it like a password.
- Added on a service → alerts go to that service (and are routed to the service’s team).
- Added on a team → alerts go straight to the team.
2
Create your first alert
Send a POST to the URL with a JSON body. The only thing you need is a You’ll see the alert appear in Warrn within a second.What you can send:
name.3
Map an existing payload (optional)
If the sending system cannot change its JSON, select Map existing JSON during setup. Paste a representative payload and choose Map & preview. Warrn AI proposes the JMESPath expressions, prefills every mapping field, and renders the alert that payload would create. Review or edit any rule before saving; subsequent previews use your edited rules without overwriting them. You can also choose Remap with AI explicitly.For example, a source payload shaped like this:can use these mappings:
Warrn normalizes supported severity values to lowercase, so
HIGH becomes high. Use || for fallbacks and join() to construct stable values such as a deduplication key.The additional-properties mapping is stored in the alert’s metadata. Mapping data promotes every field inside that object into directly addressable additional properties. Use @ to put the complete source object there, or construct a smaller object such as {environment: data.env, region: data.region}. Warrn also retains the untouched request under metadata.raw_payload, regardless of the mapping.Use the preview in setup to confirm the resulting alert and expand its additional properties before saving. The mapping belongs to this integration URL; another Incoming API integration can use a completely different payload shape.4
Tell Warrn when the problem is fixed
When the issue clears on your side, POST to the same URL with Warrn finds the matching open alert and closes it. If there’s nothing open with that alias (already resolved, or never fired), you’ll still get a
status: "resolved" and the alias you used when you created the alert. For custom payloads, map the source’s lifecycle and identity fields to status and alert_alias; the same mapping is used for create and resolve events.200 OK so you can safely retry without worrying about duplicate close events.Stop duplicate alerts with alert_alias
If your system fires the same alert every minute until the problem is fixed, you don’t want Warrn to create a new alert every minute. That’s what alert_alias is for.
Pick a name that’s unique to the thing being alerted on, not unique per fire. Good examples:
cpu-high-prod-web-01disk-full-db-primarypayments-error-rate-checkout-service
What this integration doesn’t do
- No acknowledge over webhook. You can create alerts and resolve them via this URL, but acknowledging happens in the Warrn UI or via the REST API.
- One destination per URL. Each URL is tied to one team or service. If you want one credential that can create alerts on any team, the REST API is the better fit.