Third-party and vendor status monitoring
Watch a vendor's own status page — Stripe, GitHub, Cloudflare, and more — so you know when a client-site problem isn't yours to fix.
When a client site breaks because of a dependency — a payment processor, a CDN, a hosting provider, an email service — the client contacts you first regardless of whose fault it is. Vendor dependency monitoring watches that vendor's own public status page directly, so you already know before anyone asks.
Adding a dependency
From a site's Infrastructure tab, the Vendor & dependency status card lets you add a dependency two ways:
- Curated vendor — pick from the supported vendor list below. The status page URL and check driver are pre-filled.
- Custom — paste the URL of any other Statuspage.io-hosted status page. DownCTL derives the standard
/api/v2/summary.jsonendpoint from the base URL you provide. Not every vendor uses Statuspage.io — if the URL doesn't return that format, the check will reportUnknownwith an error message rather than silently failing.
Supported vendors
| Category | Vendors |
|---|---|
| WordPress & hosting | WP Engine, Kinsta, Pantheon, Cloudways, Liquid Web, Nexcess, DigitalOcean, Netlify, Vercel |
| DNS & domains | DNSimple, Gandi, GoDaddy, Hover, Porkbun |
| Infrastructure | AWS, GitHub, Cloudflare, Heroku, Citrix Cloud |
| Payments | Stripe, Square |
| Email & marketing | SendGrid, Mailgun, HubSpot, ActiveCampaign |
| Communication | Slack, Twilio, Intercom |
| Forms & automation | Typeform, Zapier |
Don't see a vendor you depend on? Email support@downctl.com with the vendor name and status page URL — most requests are added within 24–48 hours.
Check cadence
Vendor dependencies are checked every 5 minutes.
Narrowing to specific components
Most vendor status pages report dozens or even hundreds of individual components (Stripe alone lists services like Global payments, Checkout, and Stripe Terminal separately). By default, adding a dependency watches the whole vendor — any degradation anywhere on that status page will show up and can trigger an alert.
If a site only depends on one or two of those services, select only the specific component(s) that actually matter. Once narrowed:
- The tile's status only reflects the health of the selected component(s), not the vendor's overall page status.
- Alert rules scoped to that dependency only fire when a selected component is degraded or down — an unrelated incident on the same vendor's status page won't trigger anything.
Alerting
Vendor dependency monitors participate in the same alert rule system as every other monitor type. Create a rule with the Vendor status degraded trigger, scoped to "all dependencies" or specific ones, with the usual failure/recovery threshold settings. A Degraded status counts as a failure for alerting purposes, not just Down — a vendor reporting a minor incident is still worth knowing about.
Supported drivers
| Driver | How it works |
|---|---|
| AWS | Reads the public AWS Health Dashboard service-health page and reports current open service issues. |
| Heroku | Reads Heroku's current status API and maps Apps, Data, and Tools into dependency components. |
| StatusHub | Reads StatusHub public status APIs, including page-level counters and service/component structure when available. This supports vendors like WP Engine and Citrix Cloud. |
| Statuspage.io | Fetches /api/v2/summary.json from the vendor status page host and reads status.indicator plus each entry in components[]. This covers curated vendors using Statuspage.io plus any custom Statuspage.io URL. |
| Slack | Slack doesn't use Statuspage.io. DownCTL reads Slack's own status API directly. Slack's feed doesn't expose per-service granularity or graduated severity, so any active incident is reported as Degraded for the whole vendor — component narrowing isn't available for Slack. |
| Uptime.com | Reads public Uptime.com status pages by parsing the embedded status page data, including page-level operational state and nested component statuses. |
Vendors that don't expose one of these formats can't be added as a "Custom" entry, since there's no generic way to parse them. Support for additional bespoke vendors is added on a per-vendor basis as drivers are built.