Daily Vercel domain health check in Slack
Catch expiring registrations, broken nameservers, and unverified domains across your Vercel account before they take a site offline.
Integrations
Vercel
Slack Bot
Type
Categories
- Engineering
- Operations
Every morning at 8am in my local timezone, run an agent that audits every domain in my Vercel account and alerts me in Slack if anything is at risk of taking a site offline. Trigger is cron, once per day.
Step 1: Use Vercel's List Domains to fetch the full inventory of domains on the account. Page through if there are more than fit in one response.
Step 2: For each domain, call Vercel's Get Domain to read its expiration date, verification status, auto-renew setting, nameserver configuration, and whether the registrar is Vercel or external.
Step 3: Categorize every domain into one of three buckets. Critical: expiring within 14 days, OR not verified, OR nameservers are misconfigured (intended Vercel nameservers but pointing elsewhere, or vice versa). Warning: expiring within 30 days, OR auto-renew is turned off on a Vercel-registered domain. Healthy: everything else. For externally registered domains the expiration date may be unknown, so only the verification and nameserver checks apply to those.
Step 4: If any domains are in the critical or warning buckets, use Slack Bot's Send a Message to post a single message into the #ops channel (let me pick the exact channel when I set this up). Group the message by bucket with critical first, then warning. For each domain include the domain name, what is wrong in plain English, a one-line remediation (renew the registration, turn auto-renew back on, update the nameservers at the registrar, re-add the TXT record to verify, etc.), and a direct link to that domain's Vercel settings page in the format https://vercel.com/[team-slug]/domains/[domain].
Step 5: If every domain is healthy, do not post anything. Staying silent on good days is intentional so the channel does not become noise.
Use the Slack Bot integration for the alert (acts as a bot, posts into the channel). The Vercel List Domains and Get Domain operations are the only Vercel calls needed.
What it does
- Sweeps every domain in your Vercel account once a day and checks expiration, verification, auto-renew, and nameservers.
- Sorts the results into critical, warning, and healthy buckets so the most urgent risks rise to the top.
- Posts a prioritized Slack alert with one-line fixes and a direct link to each domain's Vercel settings.
- Stays silent on healthy days so the ops channel does not turn into noise the team learns to ignore.
What you’ll need
- A Vercel account with access to the domains you want monitored.
- A Slack workspace and an ops channel where alerts should land.
- A rough idea of which domains are business critical, so you can tune the thresholds later.
How to customize it
- Change the run time, or move it to twice a day for high-stakes domains.
- Adjust the warning and critical windows (default 30 and 14 days) to match your renewal lead time.
- Switch the destination channel, or @mention a specific on-call group when something hits critical.
Use cases
- Notifications & Alerts
- Research & Monitoring