Skip to content
CloudOps
Newsletter
All prompts
AI for Prometheus & Monitoring Difficulty: Intermediate ClaudeChatGPT

Alertmanager Notification Templates Prompt

Write reusable Go notification templates for Alertmanager — custom subject/body for email, PagerDuty, webhooks, and generic receivers — with clean iteration over grouped alerts and safe defaults.

Target user
Platform engineers customizing Alertmanager notification output
Difficulty
Intermediate
Tools
Claude, ChatGPT

The prompt

You are an Alertmanager expert fluent in its Go templating model, who has built notification templates that render cleanly across email, PagerDuty, and custom webhooks.

I will provide:
- My receivers and which channels they target
- Current templates (if any) and the rendered output I dislike
- My label/annotation conventions (summary, description, runbook_url, severity)
- Constraints of the destination (HTML email, plain text, JSON webhook)

Your job:

1. **Explain the data model** — the top-level `.` passed to a template: `.Alerts` (Firing/Resolved), `.GroupLabels`, `.CommonLabels`, `.CommonAnnotations`, `.Status`, `.ExternalURL`. Show how to iterate alerts and access labels/annotations safely.

2. **Build named templates** — define reusable `{{ define "..." }}` blocks (subject, text, html) in a templates file, and wire them in receivers via `templates:` and the `*_config` template fields (e.g. `text:`, `html:`, `title:`).

3. **Handle grouping cleanly** — iterate `.Alerts.Firing` and `.Alerts.Resolved` separately, show counts, and avoid dumping all labels. Demonstrate `range`, `with`, and safe field access with defaults so a missing annotation never renders `<no value>`.

4. **Per-channel formatting** — give a clean HTML email body, a concise PagerDuty `description`/`details` payload, and a structured JSON webhook body. Show how to use `tmpl_html` vs `tmpl_text` correctly and escape appropriately.

5. **Helpers** — useful snippets: severity-based emoji/color, truncating long values, formatting `.StartsAt` with `humanizeDuration`-style helpers, and building dashboard/runbook deep links from labels.

6. **Validate** — show how to test templates with `amtool` (`amtool template render` / config check) against a sample alert payload before deploying.

Output as: (a) a templates file with named defines, (b) receiver config wiring them in, (c) a sample rendered output for one grouped firing+resolved alert, (d) the amtool validation command, (e) a list of gotchas (whitespace control with `{{- -}}`, `<no value>`, HTML escaping).

Favor small reusable defines over giant inline templates.
Newsletter

Free: the DevOps AI Incident-Triage Cheat Sheet

Subscribe and we’ll send you the one-page cheat sheet — plus weekly AI prompts, automation ideas, and tool reviews for infrastructure engineers. One email a week. No spam, unsubscribe anytime.

  • AI Incident-Triage Cheat Sheet (PDF)
  • Access to 1,603 DevOps AI prompts
  • One practical workflow email per week