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.

Agentic Task
VercelSlack BotEngineeringOperationsNotifications & AlertsResearch & Monitoring
PromptCreate

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?
Yes. For externally registered domains, Vercel does not return an expiration date, so the check focuses on verification status and nameserver configuration. You will still get alerts for unverified or misconfigured external domains.
What happens on a day when every domain looks fine?
Nothing. The agent stays silent on healthy days on purpose, so the channel only lights up when there is something to act on. That keeps the signal strong.
Can I change how soon I get warned before a domain expires?
Yes. The default is a warning at 30 days and a critical alert at 14 days, but you can ask the agent to use any window that matches your renewal process.
Does this renew domains for me or just notify?
It only notifies. Each alert includes a one-line remediation and a link to the Vercel settings page for that domain, so you or your team can take action with one click.
Where does the Slack message get posted?
Into whichever channel you pick when you set the workflow up. Most teams choose an existing ops, infra, or platform alerts channel.

Related templates

Review desk for portal forms your team still fills in by hand

Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.

Kernel
Google Sheets
Slack Bot
App
Client-by-client cold email pipeline review for agencies

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.

Instantly
HubSpot
Slack Bot
App
Audit what Intercom's Fin AI actually resolved before you pay

Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.

Intercom
Google Sheets
Slack Bot
App
One triage console for every Jira service desk queue

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.

Jira Service Management
Jira
Slack Bot
App
Run your Webflow site translations from one review desk

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.

Webflow
JigsawStack
Slack Bot
+1
App
Legal contract intake desk your teams use instead of email

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.

Ironclad
Slack Bot
General Input Database
App

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.