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

# Automation check completed event

`POST automation.check.completed` (webhook)

One scheduled check of an automation finished, including checks where nothing matched.

### Payload notes

`automation.kind` names the product: `ad_rule` today, more as other automations move onto the same engine.

## Payload

- WebhookPayloadAutomationCheckCompleted: Webhook payload for the `automation.check.completed` event: one scheduled check of an automation finished. It fires once per check, whatever the outcome, including checks where nothing matched. Ad rules are the first automations on the engine; `automation.kind` names the product.
  - `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.check.completed', 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.
  - `check` object, required
    - `id` string, required
    - `slot` string, date-time, required: The scheduled time the check ran for.
    - `outcome` 'triggered' | 'no_match' | 'cooldown' | 'daily_limit' | 'failed', required
    - `subjectsEvaluated` integer, required: How many objects the check read.
    - `actionsCount` integer, required: How many actions it recorded.
    - `error` string, nullable, required
  - `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)
