ENGINEERING

Datadog SLO breach freezes deploys and comments on open PRs

When a Datadog SLO drops below its error-budget target, blocks deploys by commenting a freeze status on every open GitHub pull request and notifying the team in Slack.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDatadog SLO-alert webhookDatadogDatadog
  • LogicConfirm breach is sustained, not flapping
  • ActionList open GitHub pull requestsGitHubGitHub
  • ActionComment freeze status on each open PRGitHubGitHub
  • OutputSend freeze summary to SlackSlack

What it does

Uses Datadog as the SLO source and enforces the freeze at the pull-request level on GitHub. Rather than only flipping a label, it leaves a clear, dated comment on every open PR explaining that merges are paused due to error-budget exhaustion, so no one is surprised when their merge is blocked.

When to use it

Use it if your SLOs live in Datadog and your code is on GitHub, and you want the freeze message to reach contributors directly on their PRs instead of only in a channel they might mute.

How it works

  1. 1A Datadog SLO-alert webhook triggers the workflow when the budget target is breached.
  2. 2The workflow confirms the breach is below target and not a flapping recovery.
  3. 3It lists open pull requests on the affected GitHub repositories via the API.
  4. 4It posts a standardized freeze comment on each open PR with the SLO name and budget remaining.
  5. 5It sends a summary to Slack noting how many PRs were flagged and which repos are now frozen.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect DatadogMetrics, traces, log search.
  2. 2
    Connect GitHubRepos, issues, pull requests, actions.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.