---
title: "Automation alert resolved event"
method: POST
path: "automation.alert.resolved"
tags: ["Webhook Events"]
---

# Automation alert resolved event

`POST automation.alert.resolved` (webhook)

An open alert ended; `reason` says which way.

### Reasons

Its conditions cleared, a pause or reactivation applied, the rule changed, or nothing checked the object for 7 days.

## Payload

- WebhookPayloadAutomationAlert: Webhook payload for `automation.alert.opened`, `automation.alert.escalated` and `automation.alert.resolved`: an alert episode of an automation with a lifecycle (an ad rule's `lifecycle`). Sent as soon as the check records the change; a resolve that a pause or reactivation causes is sent once it applies. A streak that never opened sends nothing. Alerts closed outside a check (the rule turned off, deleted or its `lifecycle` removed between checks, or the daily cleanup) are not announced.
  - `id` string, required: Stable webhook event ID: the dedupe key, also sent as the X-Zernio-Event-Id header and identical on every retry and redelivery.
  - `profiles` object[]: The profiles this event belongs to, each with the externalId you set on it (null when none is set). Use it to route the event to your tenant without storing Zernio profile ids. Present on every event tied to a profile, absent on events that belong to none. Events spanning several profiles (a post published to accounts of different profiles) list each once.
    - `id` string, required
    - `externalId` string, nullable, required
  - `test` boolean: Always true when present: only a sample sent by POST /v1/webhooks/test with an event carries it. Real deliveries never do.
  - `event` 'automation.alert.opened' | 'automation.alert.escalated' | 'automation.alert.resolved', required
  - `automation` WebhookAutomationRef, required
    - `id` string, required: The automation's id: the ad rule id for `ad_rule`.
    - `kind` string, required: The product the automation belongs to: `ad_rule` today. New values may be added.
  - `accountId` string, required: The connected account the automation acts on.
  - `checkId` string, required: The check that moved the alert.
  - `alert` object, required
    - `id` string, required
    - `subjectId` string, required: The platform's id of the object: an ad, ad set or campaign for ad rules.
    - `severity` 'warning' | 'critical' | 'null', nullable, required
    - `reason` 'condition_cleared' | 'action_applied' | 'not_evaluated' | 'automation_changed' | 'automation_off' | 'null', nullable, required: Why it resolved, on `automation.alert.resolved` only.
  - `timestamp` string, date-time, required

## Acknowledgement `200`

Webhook received

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) - [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/a79c233ebf22?raw)
