Weekly Grafana observability report in Notion
Every Monday morning, turn last week's Grafana activity into a written report in Notion that leadership will actually read, and share the link in Slack.
Build me an agent workflow that publishes a weekly observability health report to Notion and shares the link in Slack. The deliverable is a written narrative leadership will actually read, not a dashboard screenshot.
Trigger: cron, every Monday at 9am in my local timezone. The reporting window is the previous seven calendar days.
What the agent should do, in order:
1. Call Grafana Find Annotations across the last seven days. Split the results into two buckets: deployment-tagged annotations (what we shipped) and alert-typed annotations (what broke). Use these to build a simple chronological timeline of deploys versus incidents.
2. Call Grafana List Alert Rules. Cross-reference each rule against the alert annotations in the window to classify rules into three groups: (a) rules that fired heavily and may be noisy, (b) rules that did not fire at all this week and may be stale or dead, and (c) rules that were created or modified during the window. Use judgement on the thresholds; do not hardcode strict numbers.
3. Call Grafana Search Dashboards and Folders to surface the top dashboards by tag relevance for the noisiest services from step 2. Include those dashboard links in the report so readers can drill in.
4. Call Notion Create a Page as a child of a parent page the user picks at setup (for example, an Observability Weekly page). The page title should be something like "Observability Weekly: <week of date>". Structure it with these sections: deploy count for the week, top firing alerts with counts, suspected noisy rules to revisit, suspected stale rules, recently added or modified rules, top dashboards for the noisiest services, and a short prose summary at the top that compares this week to recent weeks (deploy volume up or down, incident pattern shifts, what to watch). Where the agent has run before, use prior Notion pages under the same parent as a memory of recent weeks for the comparison.
5. Call Slack Send a Message to a channel the user picks at setup (default: the engineering channel). The message should be one paragraph: deploy count, biggest alert story, anything worth attention, and the link to the new Notion page.
This is an agent workflow rather than a code workflow because the noisy-versus-stale classification, the week-over-week trend summary, and the prose recap all require judgement. Keep the report concise: an executive paragraph up top, then scannable lists, then dashboard links. No raw query output dumps.
At setup, ask me for: the Grafana instance to connect, the Notion parent page for the weekly archive, the Slack channel for the recap, my timezone, and whether I want deployment annotations identified by a specific tag (default: "deployment").
Additional information
What does this prompt do?
- Pulls last week's deploys and alerts from Grafana and lines them up as a what-we-shipped versus what-broke timeline.
- Flags alert rules that fired too often, alert rules that have gone quiet, and rules that were recently added or changed.
- Drafts a short prose summary that compares this week to recent weeks, then posts the whole thing as a new page inside your Observability Weekly section in Notion.
- Drops a one-paragraph recap plus the Notion link into your engineering Slack channel so the team can read it in one click.
What do I need to use this?
- A Grafana login with permission to read annotations, alert rules, and dashboards.
- A Notion workspace and a parent page where the weekly reports should live (for example, an Observability Weekly page).
- A Slack workspace and the name of the engineering channel where you want the recap posted.
How can I customize it?
- Change the schedule, for example move it to Friday afternoon or run it every two weeks instead of weekly.
- Pick a different Slack channel, or post to more than one (engineering plus leadership, for example).
- Adjust what counts as a noisy or stale alert rule, or focus the report on a specific set of services or dashboard tags.
Frequently asked questions
How is this different from Grafana's built-in reports?
Do I need Grafana Enterprise or Cloud?
Where do the reports get saved?
How does it tell a noisy alert from a stale one?
Can I send the recap somewhere other than Slack?
Stop hand-writing the weekly observability update.
Connect Grafana, Notion, and Slack once, and Geni publishes the report every Monday at 9am.