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

# Automation action unknown event

`POST automation.action.unknown` (webhook)

The platform did not answer, so it is unknown whether the automation's change happened.

### What happens next

The next check reads the object back and sends `applied` or `failed`.

## Payload

- WebhookPayloadAutomationAction: Webhook payload for `automation.action.applied`, `automation.action.failed` and `automation.action.unknown`: one change an automation made or tried. Sent once per action as it settles. A refusal decided before any platform call (no live ads, a budget already at its limit) arrives as `automation.action.failed` with `status: skipped`. An `unknown` action is read back by the next check and sent again with its final status.
  - `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.action.applied' | 'automation.action.failed' | 'automation.action.unknown', 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 recorded the action.
  - `action` object, required
    - `id` string, required
    - `subjectId` string, required: The platform's id of the object changed: an ad, ad set or campaign for ad rules.
    - `type` string, required: `pause`, `activate`, `adjust_budget` or `notify` for ad rules. New values may be added.
    - `status` 'applied' | 'skipped' | 'failed' | 'unknown', required
    - `reason` string, nullable, required
    - `previous` object, nullable, required: The value before the change, such as `{ "dailyBudget": 40 }`.
    - `target` object, nullable, required: The value the change sets, such as `{ "dailyBudget": 48 }` or `{ "status": "paused" }`.
    - `actedAt` string, date-time, 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)
