IT OPS

Vercel TLS Certificate Expiry Watchdog with PagerDuty Escalation

Runs daily to check every Vercel project domain's TLS certificate expiry window and opens a PagerDuty incident when any cert falls inside the renewal danger zone.

CategoryIT Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDaily 06:00 UTC schedule
  • ActionList Vercel domains and fetch cert metadataVercelVercel
  • LogicFilter to certs expiring within 14 days
  • ActionOpen deduplicated PagerDuty incident per domainPagerDutyPagerDuty
  • OutputPost scan summary to Slack ops channelSlack

What it does

Each morning this workflow pulls the full list of domains across your Vercel projects, reads each domain's TLS certificate metadata, and computes days-to-expiry. Any certificate expiring within your threshold (default 14 days) triggers a PagerDuty incident so on-call sees it before users hit a browser warning.

When to use it

Run this when you host customer-facing domains on Vercel and cannot tolerate a silent auto-renewal failure. It is the safety net under Vercel's managed certs: most renew automatically, but DNS misconfiguration, removed CAA records, or apex domains pointed elsewhere can cause silent failures that only surface as an outage.

How it works

The schedule trigger fires daily at 06:00 UTC. An action lists all domains via the Vercel API and fetches certificate detail for each. A logic step filters to certs whose `validTo` is within the threshold or already expired. For each survivor, an action opens a PagerDuty incident keyed by domain so duplicates dedupe rather than spam. A final output posts a one-line summary of the day's scan to the ops channel for an audit trail.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect VercelDeploys, runtime logs, analytics.
  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.