SECOPS

Route blocked WAF events to Slack for one-click allowlist approval

On each Cloudflare firewall webhook, evaluates whether a blocked request looks like a legitimate false positive and posts an interactive Slack approval card.

CategorySecOps
Enginesim
Difficultyadvanced
Triggerwebhook
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerCloudflare firewall-event webhook receivedCloudflareCloudflare
  • LogicScore event benign vs attack; drop obvious attacks
  • ActionPost interactive approval cardSlack
  • ActionOn approve, draft scoped allowlist expressionOpenAI
  • OutputCommit exception to config repo with approverGitHubGitHub

What it does

Turns individual Cloudflare WAF block notifications into actionable Slack approvals. When a block trips on traffic that scores as likely-benign, it posts a card with the request details and an Approve button; approving drafts and commits a narrowly-scoped allowlist rule to your config repo.

When to use it

When a small team wants a human in the loop for WAF tuning but doesn't want to leave Slack — ideal for low-to-moderate event volume where each false positive deserves a quick yes/no rather than batch processing.

How it works

  1. 1Cloudflare sends a firewall-event webhook for a blocked request.
  2. 2A logic step scores it: known partner ASN, expected path, and clean payload push it toward benign; obvious attack signatures are dropped.
  3. 3Likely-benign events post an interactive approval card to the secops Slack channel.
  4. 4On approval, an OpenAI step generates a minimal allowlist expression scoped to that pattern.
  5. 5The exception is committed to the WAF config repo on GitHub with the approver recorded in the commit.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  3. 3
    Connect OpenAIModels, embeddings, files.
  4. 4
    Connect GitHubRepos, issues, pull requests, actions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.