Every 5 minutes
Summarise Microsoft 365 outage emails in Slack
Microsoft service-health emails become a short Slack post saying what is broken and who is affected.
- Runs
- Every 5 minutes
- Apps
- Outlook, Slack
- AI
- Yes, uses the built-in AI allowance
- Access
- Mail.ReadWrite; chat:write
Send this to your assistant
Create a ClickRuntime automation: every 5 minutes, check Outlook for new Microsoft 365 service health emails, summarise what's affected in two lines and post it to #it, then mark the email read.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When Teams or Exchange has a problem, the first sign is usually a wave of messages to the IT person asking if it's just them. Microsoft sends service-health emails, but they are long, full of reference numbers, and land in one admin's inbox.
A two-line summary in the IT channel lets everyone see the problem is known and roughly how bad it is, which cuts down the duplicate questions and the time spent troubleshooting something only Microsoft can fix.
What you get out of it
Fewer 'is it just me?' messages
Once the outage is in the channel, people can see it for themselves. IT spends the time on real issues instead.
Plain language
The summary says which service is affected and what users will notice. Nobody has to read through Microsoft's long incident format.
No missed notices
The alert reaches the whole IT channel, not just the one admin who happens to get the email. Holidays and sick days no longer leave a gap.
Inbox stays tidy
Each notice is marked read once posted. The admin's inbox doesn't fill with service-health mail.
How it works
What happens, step by step
Every 5 minutes it checks Outlook for unread emails from Microsoft's service-health address.
AI reads each one and writes a two-line summary of what is affected and the likely impact.
The summary is posted to your IT channel in Slack.
The email is marked read, so it won't be posted again.
Before it runs live
- Connect Outlook
- Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
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
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Google Sheets
- Combine it with other Outlook and Slack steps into one automation
Under the hood
The code that runs this automation
GRAPH = "https://graph.microsoft.com/v1.0"
from clickruntime import on_trigger, credentials, http, notify, ai, report_fetched
SENDER = "o365mc@microsoft.com"
@on_trigger
def run(event):
h = {"Authorization": f"Bearer {credentials.connection('microsoft', 'work')}"}
q = f"from/emailAddress/address eq '{SENDER}' and isRead eq false"
msgs = http.get(f"{GRAPH}/me/messages", headers=h,
params={"$filter": q, "$select": "id,subject,bodyPreview", "$top": 10}).json()["value"]
report_fetched(len(msgs))
if not msgs:
return {"summary": "Nothing new"}
for m in msgs:
text = ai.generate(f"Subject: {m['subject']}\n{m['bodyPreview'][:1500]}",
system="Summarise this Microsoft 365 service notice in two short lines: what is affected, and the user impact.",
max_output_tokens=120).text.strip()
notify.slack(f":rotating_light: {text}", channel="#it")
http.patch(f"{GRAPH}/me/messages/{m['id']}", headers=h, json={"isRead": True})
return {"posted": len(msgs)}FAQ
Common questions
Which emails does it pick up?
Will it post updates to the same incident?
Can it tag someone for major outages?
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
Flag urgent support emails in Slack
New support emails are sorted by topic and urgency, and the urgent ones are posted to your support channel.
See how it worksCheck links in reported emails for phishing
Links in new mail are checked against a threat database and your security channel hears about any that look dangerous.
See how it worksSend contact form enquiries to Slack and confirm by email
Each enquiry appears in Slack straight away and the person who wrote in gets a confirmation from your Outlook address.
See how it worksKeep exploring
Set up “Summarise Microsoft 365 outage emails in Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.