Playbook Catalog
Reference for every action you can attach to an event playbook. Each action runs when its event fires, and its output is attached to the event as an evidence card the LLM uses for root-cause analysis. For the conceptual model, see Event Playbooks vs Workflows.
The catalog applies to events from any source — Prometheus / AlertManager rules, Datadog monitors, New Relic alert policies, Signoz, Chronosphere, AWS CloudWatch / GCP Cloud Monitoring / Azure Monitor alarms, PagerDuty incidents, generic webhooks, and workflows that mint events via events.store.
Conventions
Actions are grouped by category. The category is matched against the event subject — Pod actions surface in the alert UI when the subject is a Kubernetes pod, Service actions when the subject is a cloud resource or service. Actions in category All always surface.
Common conventions:
- Every action accepts an optional
titleto override the evidence card title. Setting a title also adds it as an alias key inoutputs/extracted_labels, which makes referencing the action's output from a later step much more readable. - Action parameters accept template expressions (
{{ alert.labels.namespace }},{{ extracted_labels['logs_0']['_series'] }}) so values can be derived from the event payload or earlier actions. See Templating & Best Practices for the full context, filters, and patterns. - Every action also supports the control parameters
if,for_each,for_each_limit,for_each_on_limit_exceeded. - Source
nudgebee= action runs in the NudgeBee server (no agent required). Sourceprometheus= action runs in the in-cluster Kubernetes agent.
Pod
Surfaced when the event subject is a Kubernetes pod.
pod_enricher
Adds structured pod metadata (containers, restarts, status). Useful for Jinja templating in conditional actions. Takes only the standard title.
logs_enricher
Streams logs from the alerting pod.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
container_name | string | No | — | Specific container; defaults to the alerting one. |
tail_lines | int | No | 1000 | Lines to tail from the end of the log. |
previous | bool | No | false | Fetch logs from the previous container instance (useful after a restart). |
pod_events_enricher
Adds Kubernetes events scoped to the pod.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
max_events | int | No | 8 | Cap on number of events. |
included_types | string[] | No | ["Normal","Warning"] | Event types to include. |
report_crash_loop
Reports pods in CrashLoopBackOff. Takes only title.
pod_issue_investigator
Built-in heuristic investigator covering common pod failure modes. Takes only title.
pod_profiler
CPU or memory profile of a container.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
profile_type | string | Yes | cpu | One of cpu, memory. |
duration | int | Yes | 60 | Profile duration in seconds. |
pod_bash_enricher
Runs a bash command in the alerting pod.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
bash_command | string | Yes | — | The command to execute. |
pod_graph_enricher_cpu / pod_graph_enricher_memory
Pod-level resource graph.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
display_limits | bool | No | false | Overlay the pod's resource limit on the graph. |
graph_duration_minutes | int | Yes | 60 | Window length. |
pod_metric_enricher_cpu / pod_metric_enricher_memory
Same as the graph enrichers above, plus metric-derived insights (peaks, throttling). Same parameters.
oom_killer_enricher
Recent OOMKills with surrounding memory metrics.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
new_oom_kills_duration_in_sec | int | Yes | 1200 | Lookback window for OOMKills (seconds). |
metrics_duration_in_secs | int | Yes | 1200 | Window for memory metrics (seconds). |
impacted_services_enricher
Identifies downstream services impacted by a crashing pod.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
delay_s | int | No | 30 | Wait this many seconds before analysis to allow propagation. |
Deployment
deployment_events_enricher
Events for the Deployment, optionally for its pods.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
dependent_pod_mode | bool | No | false | When true, fetch events for the deployment's pods instead of the deployment itself. |
max_pods | int | No | 1 | When dependent_pod_mode is true, cap on pods inspected. |
Node
node_cpu_enricher
Per-pod CPU breakdown for the node. Takes only title.
node_disk_analyzer
Disk usage across the node, sorted by pod.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
show_pods | bool | No | true | Include pod-level breakdown. |
show_containers | bool | No | false | Include container-level breakdown. |
node_running_pods_enricher
Pods running on the node and their Ready status. Takes only title.
node_allocatable_resources_enricher
Allocatable CPU / memory / pods on the node. Takes only title.
node_status_enricher
Node conditions and overall status. Takes only title.
node_pods_capacity_enricher
Node pod-capacity and scheduling-constraint analysis. Takes only title.
cpu_overcommited_enricher / memory_overcommited_enricher
CPU / memory overcommit analysis on the node.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
default_query_duration | int | No | 600 | Lookback window for overcommit calculation, in seconds. |
cluster_cpu_requests_enricher
Cluster-wide CPU requests over a duration.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
default_query_duration | int | No | 600 | Lookback window in seconds. |
target_down_dns_silencer
Silences DNS-related target-down alerts. Takes only title.
node_semantic_version_mismatch_enricher
Detects mismatched Kubernetes versions across nodes. Takes only title. (Category: All — included here for grouping.)
Cluster
cluster_memory_requests_enricher
Cluster-wide memory requests over a duration.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
default_query_duration | int | No | 600 | Lookback window in seconds. |
Job
job_events_enricher
Events for the Job.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
max_events | int | No | 8 | Cap on number of events. |
included_types | string[] | No | ["Normal","Warning"] | Event types to include. |
job_pod_enricher
Adds the Job's pod, optionally with logs and events.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
events | bool | No | true | Include the pod's events. |
logs | bool | No | true | Include the pod's logs. |
job_info_enricher
Detailed Job execution information. Takes only title.
DaemonSet / StatefulSet / PVC
daemonset_status_enricher
Pod distribution and health for the DaemonSet. Takes only title.
daemonset_misscheduled_analysis_enricher
Reports DaemonSet scheduling failures. Takes only title.
statefulset_replicas_enricher
Replica count and status for the StatefulSet. Takes only title.
prometheus_pvc_event_enricher
Recent PVC events from Prometheus. Takes only title.
Service (Cloud / APM)
Surfaced for events whose subject is a service or cloud resource. Use these for AWS / GCP / Azure alerts as well as APM-based alerts.
cloud_resource
Look up a resource on AWS / GCP / Azure.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
service_name | string | Yes | — | e.g. EC2, RDS, Lambda, S3. |
resource_type | string | Yes | — | Resource type to look up. |
region | string | Yes | — | Cloud region. |
resource_id / resource_ids[] | string / string[] | No | — | Specific resource(s) to fetch. |
instance_id / instance_ids[] | string / string[] | No | — | For instance-scoped lookups. |
account_id | string | No | — | Cloud account override. |
cloud_metrics
Query CloudWatch / Cloud Monitoring / Azure Monitor metrics.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
service_name | string | Yes | — | Provider service (e.g. EC2, RDS). |
region | string | Yes |