Slack alerts for risky Cloudflare changes

Every 15 minutes, scan your Cloudflare audit log for high-risk activity and post a clear, severity-tagged alert to your security Slack channel.

Agentic Task
CloudflareSlackEngineeringOperationsNotifications & AlertsResearch & Monitoring
PromptCreate

Every 15 minutes, watch our Cloudflare account audit log for risky changes and post severity-tagged alerts to a Slack channel for security.

Trigger: cron, every 15 minutes.

Each run, call Cloudflare's List Audit Logs operation with a since-timestamp filter that pulls every entry created since the previous run finished (store and reuse that timestamp between runs; on the first run, look back 15 minutes). Page through results until the audit log is fully drained for the window.

Then reason over the entries and classify each one as high-risk or low-risk. Treat the following as high-risk by default:

- DNS record deletions, and any create/update/delete that touches an apex (root) record - Firewall and ruleset changes: Create/Update/Delete IP Access Rule, Create/Update Ruleset, Update Bot Management Settings, Lockdown rule changes - DNSSEC enable/disable or key changes - Zone deletion or transfer - API token creation - Account member added, role changed, or 2FA disabled

Treat low-noise items like DNS proxy toggles, analytics views, login events, and read-only API calls as low-risk.

For each high-risk entry, draft a short, human-readable summary that includes: the actor (email or token name), the action, the resource (zone, record, ruleset, token name), before/after values when the audit entry carries them, the timestamp, and a deep link back to the Cloudflare dashboard for that resource. Tag each one with a severity emoji: 🚨 for destructive or auth-changing actions (deletions, DNSSEC off, new API token, member added), ⚠️ for edits to firewall/WAF/bot management.

Post the alerts to the #cloudflare-audit Slack channel using Slack's Send a Message operation. Use Slack mrkdwn formatting (single asterisks for bold, <url|text> for links). Send one Slack message per run that contains all the high-risk entries as a list. If there were also low-risk entries in the same window, append a single trailing line at the bottom: 'and N other low-risk changes' so the channel stays signal-heavy. If there were zero high-risk entries and zero low-risk entries, do not post anything.

This addresses the recurring community ask for Slack notifications on Cloudflare audit log activity, which Cloudflare does not ship natively. The agent's judgement on what counts as high-risk vs noise is the key piece, so keep that classification step explicit and easy to tweak.

What does this prompt do?

  • Checks your Cloudflare audit log every 15 minutes for everything that happened since the last run.
  • Flags high-risk changes such as DNS record deletions, firewall and WAF rule edits, DNSSEC updates, zone deletions, and new API tokens.
  • Posts a short, severity-tagged summary to your security Slack channel with the actor, the action, the resource, and a link back to the Cloudflare dashboard.
  • Rolls routine, low-risk activity into a single trailing line so the channel stays focused on what matters.

What do I need to use this?

  • A Cloudflare account with permission to read audit logs.
  • A Slack workspace and a channel (for example #cloudflare-audit) where the alerts should land.

How can I customize it?

  • Change how often it runs. Every 5 minutes for tighter monitoring, hourly for less noise, or only during business hours.
  • Adjust the high-risk list. Add things like Workers script changes, or downgrade items you do not care about.
  • Send the alerts somewhere else. A different Slack channel, a private DM to your on-call, or both.

FAQs

Does Cloudflare not already send Slack notifications for audit log activity?
No. This is one of the longest-running asks in the Cloudflare community and there is no native Slack delivery for audit logs. This workflow fills that gap.
What counts as a risky change?
Out of the box: DNS record deletions and apex changes, firewall and WAF rule edits, DNSSEC updates, zone deletions, and new API token creation. You can edit the list any time by changing the prompt.
Will the Slack channel get spammed with routine noise?
No. Routine items like DNS proxy toggles and analytics views are grouped into a single trailing line such as 'and 12 other low-risk changes' so the channel stays signal-heavy.
Can I send the alerts somewhere other than Slack?
Yes. Swap the Slack step for any other tool you have connected, like email, Microsoft Teams, or a ticketing system.
Does this need a paid Cloudflare plan?
Audit logs are available for account-level activity on standard Cloudflare plans. Make sure the API token you connect has permission to read them.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
Win back no-show and cancelled appointments every morning

Every weekday morning, every appointment that fell through yesterday gets a personal text or email inviting them to rebook, plus a task for the right rep.

LeadConnector
Google Sheets
Slack
Agentic Task
Live Loop returns analytics with product-level drill-down

Pick any date range up to 120 days and see return volume, refund versus exchange mix, and the products behind every number, recalculated each time you open it.

Loop Returns
Google Sheets
Slack
App
Newsletter pre-flight and approval board for Mailjet sends

Every newsletter gets read, checked and signed off in one place, so nothing goes out with a broken link or a half-filled greeting.

Mailjet
Slack
General Input Database
App

Catch risky Cloudflare changes the moment they happen.

Connect Cloudflare and Slack once, and Geni watches your audit log every 15 minutes for the changes that actually matter.