New to Kestra?
Use blueprints to kickstart your first workflows.
Scrapes Atlassian Statuspage summary APIs for critical SaaS dependencies, alerting SREs on Slack when third-party cloud outages impact platform availability.
This blueprint monitors external third-party SaaS dependencies across distributed microservices. Scheduled every 15 minutes, it queries public Atlassian Statuspage API endpoints (/api/v2/summary.json) for services such as GitHub, AWS, Stripe, and Datadog, alerting engineering and site reliability teams on Slack before vendor outages trigger unnecessary internal incident escalations.
periodic_status_scrape schedule trigger (io.kestra.plugin.core.trigger.Schedule) initiates the audit every 15 minutes.scrape_statuspage_incidents task (io.kestra.plugin.scripts.python.Script) fetches /api/v2/summary.json, parsing system status descriptions, severity indicators (minor, major, critical), and unresolved incidents.check_active_outages flowable task (io.kestra.plugin.core.flow.If) evaluates whether any active incidents or non-operational status indicators exist.notify_slack_vendor_outage (io.kestra.plugin.slack.notifications.SlackIncomingWebhook) delivers an incident briefing card to the on-call channel.log_dependencies_nominal records confirmed status.export_outage_manifest task tags the execution with searchable status labels.flowchart TD
A[Schedule: Every 15 Minutes] --> B[scrape_statuspage_incidents: Query Statuspage API]
B --> C{Vendor Incident or Degradation?}
C -- Yes --> D[notify_slack_vendor_outage: Slack Webhook]
C -- No --> E[log_dependencies_nominal: Log Nominal State]
D --> F[export_outage_manifest: Execution Labels]
E --> F
| Name | Type | Default | Description |
|---|---|---|---|
statuspage_summary_url |
STRING | https://www.githubstatus.com/api/v2/summary.json |
Public Statuspage API summary endpoint URL for the monitored vendor service. |
dependency_name |
STRING | GitHub |
Human-readable name of the external service or vendor dependency. |
slack_channel |
STRING | #vendor-outage-alerts |
Slack channel destination for third-party vendor incident and degradation alerts. |
{{ outputs.scrape_statuspage_incidents.vars.dependency_name }}: Monitored vendor service name.{{ outputs.scrape_statuspage_incidents.vars.status_description }}: Current overall vendor service status description.{{ outputs.scrape_statuspage_incidents.vars.indicator }}: Status indicator code (none, minor, major, critical).{{ outputs.scrape_statuspage_incidents.vars.active_incident_count }}: Count of currently unresolved vendor incidents.{{ outputs.scrape_statuspage_incidents.outputFiles['vendor_status_report.json'] }}: Structured JSON report detailing vendor status components.SLACK_WEBHOOK_URL: Slack Incoming Webhook endpoint URL.SLACK_WEBHOOK_URL in your Kestra namespace secrets.statuspage_summary_url (e.g. https://status.datadoghq.com/api/v2/summary.json)./api/v2/summary.json; verify endpoint responsiveness with curl.minor even when a critical component for your architecture is degraded; inspect component lists for granular routing.ForEach task.