How to Send Domain Alerts to Slack

Updated Oct 27, 2026

A step-by-step guide to creating a Slack Incoming Webhook and connecting it to Domainyze so domain expiry, availability, SSL and DNS alerts post straight into a Slack channel.

Slack is where most teams find out that something broke. This guide connects Domainyze to a Slack channel so domain expiry warnings, availability drops, status changes, SSL problems and DNS edits arrive there instead of in an inbox nobody has open.

It takes about five minutes and needs two things: permission to install an app in your Slack workspace, and a paid Domainyze plan.

What a Slack alert looks like

Each alert posts as a Block Kit message with three parts:

  • A header carrying the alert's name, for example "Domain is now available" or "SSL certificate expires soon".
  • A fields section listing the facts for that alert type: the domain, the old and new status for a status change, days remaining for an expiry reminder, the specific record diff for a DNS change.
  • A "View domain" button linking straight to that domain's page in Domainyze.

The message also carries a plain-text fallback line, so the alert is readable in notification previews, on mobile, and anywhere Slack does not render blocks.

Step 1: Create a Slack Incoming Webhook

Slack calls the thing you need an Incoming Webhook. It is a URL that posts messages into one specific channel.

You do not need to build a Slack app for this. Slack publishes a ready-made Incoming WebHooks app in its own directory, and installing it is four clicks:

  1. Open slack.com/marketplace/A0F7XDUAZ-incoming-webhooks and sign in to the workspace you want alerts in.
  2. Click Add to Slack.
  3. Pick the channel the alerts should post into from the Post to Channel dropdown. You can also create a new channel here, which is worth doing if you want a dedicated #domain-alerts.
  4. Click Add Incoming WebHooks integration.
  5. Slack drops you on a settings page with your Webhook URL near the top:
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Copy it. That is the only thing Domainyze needs.

Everything further down that page is optional cosmetics. If you want the alerts to look like they come from Domainyze rather than a generic bot, set Customize Name to Domainyze and pick a Customize Icon, then click Save Settings. Skip it and Slack uses its own default; the alerts arrive either way.

Treat this URL as a password. Its path is its authentication token, so anyone who has it can post into that channel. That is exactly why Domainyze stores it as a secret and shows it masked once saved.

If your workspace blocks the directory app

Some workspaces restrict app installs, and some admins prefer a first-party app they control. In that case an owner or admin can create one at api.slack.com/apps, enable Incoming Webhooks on it, and use Add New Webhook to Workspace to generate the same kind of URL. It is more configuration for an identical result, so only take that route if the directory app is unavailable to you.

Posting to more than one channel

One Incoming Webhook posts to exactly one channel. To get alerts into a second channel, install the integration again from the same marketplace page and pick the other channel; you get a second URL. Add both to Domainyze as separate destinations and give each its own alert-type filter. That is how you get "everything to #domains, only the urgent things to #on-call" with no Slack-side routing rules at all.

Step 2: Add the webhook to Domainyze

  1. In Domainyze, open Settings, then the Alerts tab.
  2. Under "Add a channel", choose Slack.
  3. Paste the Incoming Webhook URL into the Slack Incoming Webhook URL field.
  4. Add a description such as #domains channel or on-call rotation. You will thank yourself later, because the URL itself is masked once saved and every Slack URL looks the same.
  5. Choose your alert types, or leave it on all types.
  6. Save.

Domainyze validates that the URL starts with https://hooks.slack.com/services/. If you paste something else, you get a form error immediately rather than a channel that silently never receives anything.

Step 3: Send a test message

Open the destination's Manage panel and press Send test. A real alert goes down the real delivery path and the result is recorded in the delivery log.

If the test message appears in Slack, you are done. Every future alert of the types you selected will arrive the same way.

Choosing which alerts go to Slack

Slack rewards restraint. A channel that fires forty times a day gets muted, and a muted channel is worse than no channel, because it looks like coverage without being coverage.

A good starting point:

  • Send to Slack: domain became available, domain status changed, SSL certificate invalid, monitoring auto-paused. These are things somebody should look at today.
  • Leave on email: expiry reminders at 30 and 60 days, DNS record changes on domains you edit often, weekly reports. These are things somebody should look at this week.

You can change the filter at any time from the destination's Manage panel, and the change takes effect on the next alert.

Troubleshooting

Nothing arrives, and the delivery log shows 404. The integration was removed, or the channel it posted to was deleted. Slack does not restore a webhook URL once it is revoked. Install a fresh one from the marketplace page and update the destination.

The delivery log shows 403 or invalid_token. The URL was copied incompletely, or an admin removed the integration from the workspace. Re-copy the full URL from Settings → Manage → Apps → Incoming WebHooks in Slack, where every installed webhook is listed with its channel.

The delivery log shows 429. Slack is rate-limiting the webhook. Domainyze already throttles Slack destinations to roughly one message per second and honours Slack's Retry-After, so this normally resolves itself. If it persists, it usually means a large batch of alerts fired at once, for example a registrar publishing a status change across many of your domains in the same sweep.

The destination shows as disabled. After 20 consecutive failures a destination is disabled automatically, so a dead endpoint stops consuming delivery capacity. Fix the webhook, then re-enable it from the Alerts tab. The counter resets on the first success.

Messages arrive but the channel is wrong. An Incoming Webhook is bound to the channel you chose when you created it, and renaming or archiving that channel does not move it. Create a new webhook for the correct channel.

More in Alerts And Notifications

Related guides and tutorials.

View all