﻿---
title: Review action policy execution history
description: Monitor action policy dispatch activity from the execution history. Understand dispatched, throttled, and unmatched outcomes, search and filter records, and query the event log in Discover.
url: https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8924/explore-analyze/alerting/esql/action-policies/review-action-policy-execution-history
products:
  - Elastic Documentation
  - Kibana
applies_to:
  - Elastic Cloud Serverless: Generally available
  - Elastic Stack: Experimental in 9.5
---

# Review action policy execution history
In Kibana Universal Alerting, action policy execution history shows dispatcher decisions from the last 24 hours across all action policies in the space, so you can confirm notifications are dispatching as expected or investigate unexpected notification behavior.
Go to **Execution history** in the navigation menu or [global search](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8924/explore-analyze/find-and-organize/find-apps-and-objects), then select the **Policies** tab. Each row covers one dispatcher run for one action policy, grouped by the rule whose alerts it processed:

| Column            | Description                                                                                                                                       |
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| **Timestamp**     | When the dispatcher ran.                                                                                                                          |
| **Policy**        | The action policy that was evaluated.                                                                                                             |
| **Outcome**       | Whether the dispatcher acted on the alert: `dispatched`, `throttled`, or `unmatched`. Definitions are in [Dispatch outcomes](#dispatch-outcomes). |
| **Rules**         | The rule whose alerts the action policy processed.                                                                                                |
| **Alerts**        | The number of alerts processed in this run.                                                                                                       |
| **Action groups** | The number of action groups involved.                                                                                                             |
| **Workflows**     | The workflows invoked, if any.                                                                                                                    |

You can search records by action policy name, rule name, or saved-object ID, and filter by outcome to view only dispatched or throttled records.

## Dispatch outcomes

After each dispatcher run, Kibana records one of three outcomes for each action policy:

| Outcome      | What it means                                                                                                                                  |
|--------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| `dispatched` | The dispatcher invoked a workflow for the alert.                                                                                               |
| `throttled`  | The alert matched an action policy but was rate-limited by the frequency setting, so no workflow ran. This is expected behavior, not an error. |
| `unmatched`  | No action policy matched the alert. No workflow ran.                                                                                           |

`unmatched` is recorded in the event log but isn't available as an outcome filter in the execution history. To find those records, open Discover and query `.kibana-event-log-*` with `event.provider: "alerting_v2"` and `event.action: "unmatched"`.
<note>
  Alerts that are acknowledged, snoozed, resolved, or covered by a [maintenance window](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8924/explore-analyze/alerting/alerts/maintenance-windows) fail the eligibility check, so the dispatcher doesn't evaluate action policies for them. They don't appear in the execution history.
</note>


## Event-log outcomes and .alert-actions action types

The `dispatched`, `throttled`, and `unmatched` outcomes are the **event-log terms** written to `.kibana-event-log-*`. The `.alert-actions` data stream records the same events using different terms. The mapping is:

| Event-log outcome (`event.action`) | `.alert-actions` `action_type` | Meaning                                                                                                                                          |
|------------------------------------|--------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|
| `dispatched`                       | `fire` and `notified`          | Policy matched, frequency cleared, workflow invoked. Kibana writes `fire` for each dispatched alert and `notified` for each workflow invocation. |
| `throttled`                        | `suppress`                     | Policy matched but frequency limit not yet cleared. No workflow invoked.                                                                         |
| `unmatched`                        | `unmatched`                    | No action policy matched the alert. No workflow invoked.                                                                                         |

`.alert-actions` also records triage actions (`ack`, `unack`, `assign`, `tag`, `snooze`, `unsnooze`, `activate`, `deactivate`). These have no event-log counterpart, because they aren't dispatcher outcomes. For the full field reference, refer to [Action type values](/elastic/docs-content/pull/8924/explore-analyze/alerting/esql/alerts/field-reference#action-type-values).
<note>
  The `suppress` action type covers more than the `throttled` outcome does, because the dispatcher also writes `suppress` for alerts that fail the eligibility check. To tell the cases apart, check the `reason` field. Throttled alerts have `suppressed by throttled policy <policy ID>`, and alerts that failed the eligibility check have `ack`, `snooze`, `deactivate`, or `maintenance_window:<window ID>`.
</note>


## Related pages

- [Manage action policies](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8924/explore-analyze/alerting/esql/action-policies/manage-action-policies): Enable, disable, snooze, or rotate API keys for your action policies.
- [Action policy reference](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8924/explore-analyze/alerting/esql/action-policies/action-policy-reference): Look up match condition fields, grouping modes, and frequency options.
- [About action policies](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8924/explore-analyze/alerting/esql/action-policies/about-action-policies): Understand how the dispatcher evaluates action policies against alerts.