Skip to content

Weekly

Get a weekly incident report by severity

Each Monday you see last week's incidents grouped by severity, with status and how long each lasted.

Runs
Weekly
Apps
incident.io
AI
Not needed
Access
read

Send this to your assistant

Create a ClickRuntime automation: every Monday at 9am email me last week's incident.io incidents grouped by severity, with each one's status and duration.

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

The head of engineering is asked on Monday how reliable the platform was last week, and the honest answer takes an hour. Someone has to open incident.io, scroll through the incidents list, work out which were real and which were tests, and count how many were high severity. The summary written from memory in a hurry leaves out the Sunday night database failover that mattered most to customers.

Once a week, ClickRuntime lists the incidents created in the past 7 days from incident.io, groups them by severity, and emails you the result with each incident's name, severity and current status. Your Monday review starts from a complete, sorted list instead of from memory.

It is useful for engineering managers, SRE leads and anyone who reports reliability to executives or customers.

What you get out of it

  • A complete list, not a recollection

    When the summary is built from the incident record, a quiet Sunday night incident cannot be forgotten. Leadership sees everything that happened, which builds more trust than a summary that looks suspiciously tidy.

  • Severity grouping shows what mattered

    Seeing critical incidents separated from minor ones tells you at a glance whether the week was calm or concerning. You can open the discussion with the facts that deserve the most time.

  • Open incidents are not left behind

    Each entry shows current status, so one that is still investigating or monitoring stands out. A problem that quietly stays open for days is surfaced rather than fading from attention.

  • Easy input for status reports

    Weekly reliability notes for customers, boards and compliance teams can be written from this email. People spend their time deciding what to say to the board or to customers, not hunting for the underlying numbers.

  • Trends become visible over weeks

    A pile of weekly emails is a simple history. Three weeks with several high-severity incidents in one service is a pattern, and it supports a request for engineering time to fix the underlying cause.

How it works

What happens, step by step

  1. Every Monday ClickRuntime gets the incidents created in incident.io over the last week.

  2. It groups them by severity.

  3. You get an email listing each incident with its status and how long it lasted.

Before it runs live

  • Connect incident.io

What you get

RunsWeekly
Get a weekly incident report by severitytoday, 9:00Succeeded
Email · Weekly incidentsSEV2 (1) Checkout payments failing for EU customers - Closed, 2.4h

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 incident.io 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_incident_summary.pyexample
from collections import defaultdict
from datetime import datetime, timedelta, timezone
from clickruntime import on_trigger, credentials, http, notify

IO = "https://api.incident.io"

def io(path, **params):
    resp = http.get(f"{IO}{path}", params=params, headers={"Authorization": f"Bearer {credentials.secret('INCIDENT_IO_API_KEY')}"})
    resp.raise_for_status()
    return resp.json()

def ts(s):
    return datetime.fromisoformat(s.replace("Z", "+00:00"))

@on_trigger
def run(event):
    since = (datetime.now(timezone.utc) - timedelta(days=7)).date().isoformat()
    incidents = io("/v2/incidents", page_size=250, **{"created_at[gte]": since})["incidents"]
    groups = defaultdict(list)
    for i in incidents:
        end = ts(i["updated_at"]) if i["incident_status"]["category"] == "closed" else datetime.now(timezone.utc)
        hours = (end - ts(i["created_at"])).total_seconds() / 3600
        groups[(i.get("severity") or {}).get("name", "Unset")].append(f"  {i['name']} - {i['incident_status']['name']}, {hours:.1f}h")
    body = "\n".join(f"{sev} ({len(rows)})\n" + "\n".join(rows) for sev, rows in sorted(groups.items()))
    notify.email_me(f"incident.io last week: {len(incidents)} incidents", body or "No incidents.")
    return {"incidents": len(incidents)}

FAQ

Common questions

Does the summary include incidents that were only tests?
It includes whatever incident.io returns as incidents created in the period, which includes test incidents if your organization creates them in the same account. If you mark tests with a mode or a type, ask for those to be excluded.
Which incident.io plan do I need?
The incident.io API requires an API key created by an admin in your incident.io workspace. Availability of API access can depend on your plan, so if you can create a key under settings, the automation can read incidents with it.
Can the summary go to a team address or a Slack channel?
Yes, you can send it to a shared email address such as an engineering list, or to several people. Delivery to a Slack channel is also possible if you prefer it there. Just state where you want it to land and it will be set up.
What permissions does it need?
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 incident report by severity” from your assistant

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