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.
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 does this prompt do?
- 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 do I need to use this?
- 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 can I 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.
FAQs
Will this work if some of my domains are registered outside Vercel?
What happens on a day when every domain looks fine?
Can I change how soon I get warned before a domain expires?
Does this renew domains for me or just notify?
Where does the Slack message get posted?
Related templates
Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.
See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.
One place for sales and ops to request an NDA or vendor agreement, watch its status, and let legal launch the contract in a single click.
Stop finding out a domain expired from a customer.
Connect Vercel and Slack once, and Geni quietly checks every domain each morning, only pinging you when something actually needs a fix.