IT OPS

Cloudflare edge TLS expiry sentry: page on certs nearing expiration

Scans every Cloudflare edge and custom certificate on a schedule and pages on-call plus posts to Slack when any cert is within the renewal window.

CategoryIT Ops
Enginesim
Difficultybeginner
Triggerschedule
Steps5
Setup~5 min

How it runs

The automated pipeline, trigger to output.

  • TriggerTwice-daily schedule fires
  • ActionList edge and custom certificates from CloudflareCloudflareCloudflare
  • LogicFilter to certs inside the expiry threshold
  • ActionOpen PagerDuty incident per at-risk certPagerDutyPagerDuty
  • OutputPost expiring-cert summary to SlackSlack

What it does

Watches the expiration date of every TLS certificate Cloudflare serves for your zones — universal SSL, advanced, and uploaded custom certs. When any certificate falls inside your warning window it raises a PagerDuty incident and drops a Slack note with the hostname, issuer, and days remaining.

When to use it

Use it when an expired edge certificate would break customer traffic and you cannot rely on auto-renewal alone (custom uploaded certs, pending validation, or DCV stuck on a CNAME). It gives the team a hard lead time to act before browsers start throwing errors.

How it works

  1. 1A schedule runs the check twice daily.
  2. 2List all certificate packs and custom certificates for each configured zone via the Cloudflare API.
  3. 3A logic step computes days-to-expiry for each cert and keeps only those inside the threshold (default 14 days).
  4. 4If nothing is expiring soon, the run ends.
  5. 5For each at-risk cert, trigger a PagerDuty incident tagged with the hostname and expiry date.
  6. 6Post a consolidated Slack message listing every expiring cert and its remaining days.

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.