IT OPS

Cloudflare TLS Certificate Expiry Sweep with PagerDuty Escalation

Scans every Cloudflare zone's edge and custom certificates daily, and pages on-call through PagerDuty when any cert expires inside the renewal window so it never lapses silently.

CategoryIT Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDaily schedule at 08:00 UTC
  • ActionList all zones and certificate packsCloudflareCloudflare
  • LogicCompute days-to-expiry and classify critical/warning/healthy
  • LogicBranch: any cert in critical or warning window?
  • ActionOpen PagerDuty incident for critical certsPagerDutyPagerDuty
  • OutputPost warning + critical summary to SlackSlack

What it does

Pulls the full certificate inventory across all your Cloudflare zones once a day, calculates days-to-expiry for each edge and custom certificate, and routes anything inside the danger threshold to PagerDuty. Certs with plenty of runway are logged and ignored, so on-call only hears about real risk.

When to use it

When you run customer-facing domains on Cloudflare and a single expired TLS cert means an outage. Ideal for teams that have outgrown calendar reminders and want expiry to be an automatic, escalating signal rather than a Friday-afternoon surprise.

How it works

  1. 1A daily schedule fires the sweep at a fixed UTC hour.
  2. 2The flow lists every zone and its certificate packs from the Cloudflare API.
  3. 3For each certificate it computes days remaining and tags it critical (<= 14 days), warning (<= 30 days), or healthy.
  4. 4A branch checks whether any certificate landed in critical or warning.
  5. 5Critical certs open a PagerDuty incident with the zone, hostname, and exact expiry timestamp.
  6. 6A Slack summary of all warnings and criticals is posted to the infra channel so the broader team has the full picture.

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.