Skip to content

Weekly

Get a weekly SLO and error budget report

Every week you see each SLO's status and how much error budget is left, with the ones below target flagged.

Runs
Weekly
Apps
Datadog
AI
Not needed
Access
slos_read

Send this to your assistant

Create a ClickRuntime automation: every Monday at 9am, email me each Datadog SLO with last week's status and remaining error budget, and put the ones below target at the top.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Service level objectives only work if someone checks the error budget. A team commits to 99.9% availability, burns half the budget in a bad week, and keeps shipping risky changes because nobody looked. By the time the SLO is breached, the conversation is about customer impact instead of prevention.

Every week, this lists your SLOs in Datadog, fetches each one's history for the last seven days, flags those below target, and emails the status of each along with its remaining error budget. You get a clear view of how reliable you were this week and how much room is left.

Engineering managers and SRE teams use it as the basis for release and prioritization decisions. Each SLO's seven-day history is fetched from Datadog and set against its target, so the email shows where you stand and how much room is left, in the SLO's own terms.

What you get out of it

  • Decide when to slow down releases

    With little error budget left, the team can pause risky changes and focus on reliability. Without the report, nobody has the data to make that call. With little error budget left the team can pause risky changes and focus on reliability, and the data makes that call easy.

  • See which service is most at risk

    SLOs below target are flagged first. Attention goes to the service closest to breach instead of the one that was complained about most recently. SLOs below target are flagged first, so attention goes to the service closest to breach and not the one complained about most recently.

  • Give product owners a shared reliability view

    A plain weekly email lets non-engineers see reliability numbers. Conversations about trade-offs between features and stability become much easier. A plain weekly email lets product owners see reliability numbers, which makes trade-offs between features and stability easier to discuss.

  • Prepare for customer and executive reviews

    Weekly SLO figures are ready when someone asks how reliable the service has been. You do not have to assemble them under pressure. Weekly SLO figures are ready when someone asks how reliable the service has been, and you do not assemble them under pressure.

  • Spot slow erosion of reliability

    A target met each week with a shrinking margin is an early warning. Trends in the report show decline before a breach occurs. A target met each week with a shrinking margin is an early warning, and trends in the report show decline before a breach.

How it works

What happens, step by step

  1. Every week ClickRuntime lists your Datadog SLOs.

  2. It reads how each one did over the last seven days and how much error budget is left.

  3. SLOs below target are flagged at the top.

  4. The report arrives in your inbox.

Before it runs live

  • Connect Datadog

What you get

RunsWeekly
Get a weekly SLO and error budget reporttoday, 9:00Succeeded
Email · Weekly SLOsBELOW TARGET Checkout availability: 99.82% (target 99.9%), error budget left -80.0 API latency: 99.97% (target 99.5%)

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Run it at a different time, more or less often, or only on weekdays
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Datadog steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
get_a_weekly_slo_status_report.pyexample
import time
from clickruntime import on_trigger, credentials, http, notify

DD = "https://api.datadoghq.com"

def dd(path, **params):
    resp = http.get(f"{DD}{path}", params=params, headers={"DD-API-KEY": credentials.secret("DD_API_KEY"),
                    "DD-APPLICATION-KEY": credentials.secret("DD_APP_KEY")})
    resp.raise_for_status()
    return resp.json()

@on_trigger
def run(event):
    now = int(time.time())
    rows = []
    for slo in dd("/api/v1/slo", limit=100)["data"]:
        h = dd(f"/api/v1/slo/{slo['id']}/history", from_ts=now - 7 * 86400, to_ts=now)["data"]["overall"]
        target = slo["thresholds"][0]["target"]
        budget = (h.get("error_budget_remaining") or {}).get("7d", h.get("error_budget_remaining"))
        rows.append((h["sli_value"] >= target, f"{slo['name']}: {h['sli_value']:.3f}% (target {target}%), error budget left {budget}"))
    lines = [("BELOW TARGET  " if not ok else "") + text for ok, text in sorted(rows, key=lambda r: r[0])]
    notify.email_me("Datadog SLOs last week", "\n".join(lines))
    return {"slos": len(lines)}

FAQ

Common questions

What does remaining error budget mean?
It is the amount of allowed unreliability left in the SLO's window. If the target is 99.9% over 30 days and some of that allowance is used, the rest is the remaining error budget. The error budget is the allowed unreliability left in the SLO's window, so a 99.9% target over 30 days has a fixed allowance that shrinks as it is used.
Which time window does the history cover?
The last seven days for each SLO, as set up. Your SLO's own window, such as 30 days, determines the budget, and the report shows both so the picture is not misleading. Seven days of history are fetched for each SLO, and the SLO's own window sets the budget, so the report shows both figures.
Does it list SLOs from every team?
It lists the SLOs the Datadog keys can see. To limit it to certain teams or tags, tell your AI assistant and approve the revised list before the next report. The report lists the SLOs your Datadog keys can see, and narrowing to certain teams or tags is a reviewed change.
What permissions does it need?
slos_read. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (weekly). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a weekly SLO and error budget report” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.