SECOPS

Sustained bot surge: escalate to PagerDuty with prepared rule

Escalates only when a Cloudflare bot surge persists past a sustained window, pages the on-call via PagerDuty.

CategorySecOps
Enginesim
Difficultyadvanced
Triggerschedule
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerTight-interval Cloudflare bot metric sampleCloudflareCloudflare
  • LogicSurge sustained past window threshold?
  • ActionPull attack signature from CloudflareCloudflareCloudflare
  • LogicBuild candidate block rule + severity score
  • ActionCreate PagerDuty incident with prepared rulePagerDutyPagerDuty
  • OutputMirror context to Slack for team visibilitySlack

What it does

Distinguishes a brief spike from a sustained attack. It tracks bot-traffic surge duration and only escalates when the surge holds past a configured window. On escalation it pages on-call via PagerDuty and attaches a ready-to-apply Cloudflare block rule and runbook.

When to use it

Use this when you want to avoid alert fatigue from short, self-resolving spikes but still guarantee a human is paged for a real attack. It's the heavier-weight sibling to the Slack proposers — reserved for incidents that warrant waking someone up.

How it works

  1. 1A schedule samples Cloudflare bot-traffic metrics on a tight interval.
  2. 2A logic step maintains a sustained-surge counter; the flow only proceeds once the surge has persisted across enough consecutive samples.
  3. 3An action pulls the attack signature (top paths, ASNs, geographies) from Cloudflare.
  4. 4A logic step assembles a candidate block/JS-challenge rule and a severity score.
  5. 5An action creates a PagerDuty incident with the evidence and prepared rule.
  6. 6A final output drops the same context into Slack so the wider team has visibility while the page is handled.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  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.