I used to find out about vendor outages the same way a lot of teams do, from a tweet screenshot pasted into #eng twenty minutes after the vendor had already posted. This is the setup I use now so #incidents gets a line when a status page we depend on opens or updates an incident.

The one that fixed my habit was a payments incident. The vendor's status page said "Investigating elevated API errors" at 10:02. We heard at 10:21. In between, support collected angry tickets and two engineers read our own logs looking for a bug we didn't ship. Nobody had the status page open.

So the status pages that can take down a customer flow post into Slack now. New incident, a status change, or a component we use going degraded, and a two-sentence summary lands in the channel with the URL.

The pages I watch

All public. Only vendors in a checkout, login or delivery path: payments, auth, email delivery, DNS/CDN, primary cloud, source control and CI, and any AI API in the product.

Status subdomains. status.vendor.com is the usual shape (status.stripe.com, status.openai.com, status.twilio.com).

Own domains. A few big ones use www.githubstatus.com or www.cloudflarestatus.com style URLs.

Hosted Statuspage. Smaller vendors often sit on vendor.statuspage.io, or a vendor.com/status path inside the main site.

I keep it to eight or nine vendors. If an outage wouldn't change what anyone on the team does, it doesn't get a watch.

RSS and "any change" were noise

My first try piped every vendor's status RSS into one channel. It posted scheduled maintenance weeks out, resolved posts for regions we don't use, and reminder posts that repeated yesterday. People muted it in a week.

A plain "this page changed" watch is worse. Uptime bars redraw, "last updated" timestamps move, and past incidents reorder all day.

What stuck was a sentence about incidents.

Alert me when this status page reports a new incident, moves an incident to investigating, identified or monitoring, or marks a major component as degraded performance, partial outage or major outage. Summarize the incident title and current status in two sentences. Ignore scheduled maintenance posts that stay on schedule, uptime bar and history updates, footer edits and layout changes.

Big vendors get a component filter on top.

Only alert for the API, Card Payments and Webhooks components. Ignore incidents that only mention other products or regions outside US and EU.

Who sees it

#incidents (or #ops, #eng-alerts, wherever "is it us?" already gets asked). A typical line:

Acme Payments status page: new incident "Elevated API error rates", status Investigating. Card Payments component marked Degraded performance. Link in thread.

The vendor owner replies "ack", "n/a" or "watching". On "ack" the thread becomes what support checks before answering customers. Most are "n/a". What matters is the "it's them" answer shows up in minutes.

This is not uptime monitoring or incident management. Nothing pings your endpoints, pages on-call or calculates SLA credits. It summarizes text the vendor already published. Keep your synthetic checks and your on-call tool.

What I'd tell you first

  • Watch the status subdomain, not the marketing site.
  • Name components in the sentence, or a 40-component vendor will fire every week.
  • Leave on-schedule maintenance out. Overruns are worth a line.
  • Check often. Incidents move in minutes.
  • Status pages lag reality by 10 to 20 minutes sometimes. This won't beat your own error alerts. It beats the "is it us?" thread.
  • Add a watch the week a vendor enters a checkout or login path; drop it when you remove them.

What I use

I run this on AyeWatch. Point it at a public status page, describe the incidents and components in plain English, get a two-sentence summary instead of a diff of uptime bars. Free Preview exists; Pro is $9/month and that is where Slack delivery lives. Any page monitor that summarizes and posts to Slack would work.

I want this boring. Next time a vendor writes "Investigating", someone in #incidents should reply "ack" before anyone pastes a screenshot from Twitter.