Every 5 minutes
Get an email when an incident is declared
Within a few minutes of a new incident in incident.io, you get an email with its name and severity.
- Runs
- Every 5 minutes
- Apps
- incident.io
- AI
- Not needed
- Access
- view incidents
Send this to your assistant
Create a ClickRuntime automation: check incident.io every 5 minutes and email me at oncall@acme.com whenever a new incident is declared, with its name, severity and link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A customer-facing API starts returning errors at 2:10 in the afternoon, and an on-call engineer declares an incident in incident.io. The people who need to know, such as the support lead, the account managers for affected customers and the product owner, are not in the incident channel. They find out forty minutes later when a customer emails to ask whether something is wrong, and now they are answering questions with no information.
Every 5 minutes, ClickRuntime lists incidents in incident.io, picks out the ones it has not announced yet, and emails you about each. The message names the incident, shows its severity and status, and links to it. The IDs of announced incidents are remembered so nobody gets the same alert twice.
It is especially useful for managers and customer-facing staff who need to hear about outages but should not have to sit in every incident channel.
What you get out of it
Customer teams hear before customers do
When support and account managers get an email within minutes of an incident being declared, they can prepare a holding statement. Customers receive a calm, informed reply instead of confusion.
Leaders are not surprised in meetings
An executive who learns about an outage from a customer on a call loses confidence in the team. A prompt alert gives leadership time to ask the right questions and stay ahead of the story.
Fewer people in noisy incident channels
Incident rooms work best with responders only. An email alert lets observers stay informed from a distance, which keeps the channel quiet and the responders focused on diagnosis. That keeps the incident room usable for the people fixing the problem, while everyone else follows along by email.
Severity tells recipients how to react
Seeing the severity in the message separates a minor degradation from a full outage. Recipients can decide whether to drop everything or simply be aware, instead of treating every alert as an emergency.
A timestamped record of who was told
Each alert email shows when notification went out. If a customer asks how long it took you to acknowledge a problem, the mailbox provides a clear answer. That timeline also helps when you review how quickly the wider company learned about a problem, separate from how quickly engineers fixed it.
How it works
What happens, step by step
Every five minutes ClickRuntime checks incident.io for incidents.
It skips the ones it has already told you about.
For each new incident you get an email with its severity, name and a link.
Before it runs live
- Connect incident.io
What you get
Build your own
Need it to work differently?
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
- Act only on the items that match your own rules, and skip the rest
- 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
from clickruntime import on_trigger, credentials, http, notify, state, report_fetched
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()
@on_trigger
def run(event):
incidents = io("/v2/incidents", page_size=50)["incidents"]
seen = state.get("seen")
new = [i for i in incidents if seen is not None and i["id"] not in seen]
report_fetched(len(new))
if seen is not None and not new:
return {"new": 0}
for i in new:
severity = (i.get("severity") or {}).get("name", "unset")
notify.email_me(f"[{severity}] {i['name']}", i["permalink"])
state.set("seen", list(set(seen or []) | {i["id"] for i in incidents})[-500:])
return {"new": len(new)}FAQ
Common questions
Does it alert on incidents created from a test or a drill?
Can I be alerted only for critical incidents?
How quickly will I know after an incident is declared?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Send a short recap when an incident is resolved
Once an incident closes, stakeholders get a plain summary of what happened, built from its updates.
See how it worksGet a weekly incident report by severity
Each Monday you see last week's incidents grouped by severity, with status and how long each lasted.
See how it worksChase unfinished post-incident follow-ups
Every week you get the follow-ups still outstanding, grouped by owner, with how long each has been open.
See how it worksKeep exploring
Set up “Get an email when an incident is declared” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.