Why a Discord Webhook?

Your server reports for itself — in the Discord your community already uses: start failed, server crashed, backup failed or resources running low arrive as a message in the channel of your choice, instead of you having to keep an eye on the dashboard.

A webhook is the simplest way to do this: no bot, no invite, no permission juggling. You create an address in Discord that points at exactly one channel, store it with us — done. The whole thing takes about two minutes.

The screenshots below show the German Discord interface, because that is where these steps were captured. Discord renders in your own language, so the labels in your client will match your language setting — the position of every button is identical.

What You Need

  • A Discord server where you hold the “Manage Webhooks” permission. On your own server you have it automatically; on someone else's you will need an admin.
  • A channel for the alerts to land in. A dedicated channel (say #server-status) keeps things tidier than dumping alerts into your main chat.
  • Your game server at mcfreehost — the setup happens in the server panel under “Notifications”.

Part 1: Create the Webhook in Discord

Step 1: Open the channel settings

Hover over the channel in the sidebar. A gear icon (“Edit Channel”) appears next to the name — click it.

Channel header of #testhooks in Discord: the gear icon for channel settings sits next to the channel name
Channel header of #testhooks in Discord: the gear icon for channel settings sits next to the channel name

Step 2: Open Integrations and create the webhook

In the channel settings, switch to “Integrations” on the left. There you will find the “Webhooks” card with a “Create Webhook” button. If the channel already has webhooks, the button at the top reads “New Webhook”.

Discord channel settings, Integrations section: the Webhooks card with the Create Webhook button
Discord channel settings, Integrations section: the Webhooks card with the Create Webhook button

Step 3: Name it and copy the URL

Discord creates the webhook immediately, with a random name by default. Rename it freely — Server Status, for example; this name appears as the sender of the messages. Check the “Channel” field to make sure the target channel is the one you want.

Then click “Copy Webhook URL”. The URL is now on your clipboard.

Webhook detail view in Discord with the Name and Channel fields and the Copy Webhook URL button
Webhook detail view in Discord with the Name and Channel fields and the Copy Webhook URL button

This URL is a password. Anyone holding it can post into your channel without signing in. Never share it publicly — not in chat, not in a screenshot, not in a ticket. If it does leak, delete the webhook in Discord (“Delete Webhook”) and create a new one; the old URL becomes worthless instantly.


Part 2: Connect the Webhook to Your Server

Step 4: Paste the URL in the notifications tab

Open your server in the dashboard and go to the “Notifications” tab. At the top you will find “Connect channels” with the Discord card.

Paste the copied address into the “Discord webhook URL” field and click “Connect Discord”.

The card then shows the address truncated: the secret tail is replaced by dots so nobody can read it off your screen. For the same reason there is no “edit URL” — to switch, use “Remove Discord” and connect again.

Connect channels section in the server panel: the Discord card showing the truncated webhook address plus the Test Discord and Remove Discord buttons
Connect channels section in the server panel: the Discord card showing the truncated webhook address plus the Test Discord and Remove Discord buttons

Step 5: Test the delivery

Click “Test Discord”. The test message is queued and shows up in your channel moments later — the sender is the name you gave the webhook in step 3.

That message already shows the format of every later alert:

Field Meaning
Heading Your server's name and the type of alert
Severity How the alert is rated, for example info
Evidence Where the alert came from — channel_test for the test
Occurred Timestamp in UTC
Dashboard Direct link back to your server's notifications tab

If nothing arrives, “Recent deliveries” further down tells you why — more on that below.

If the test cannot be triggered again straight away, that is not a fault: a note tells you how long to wait. It keeps a stuck click from flooding your channel.


Part 3 (optional): Web Push as a Second Channel

Besides Discord, the same server can reach you directly in your browser — no Discord, no detour. Handy when you want to see an alert personally while the Discord channel belongs to the whole team.

One thing to understand: Web Push belongs to the device, not to your account. You enable it for this browser on this device. Phone and desktop are two separate activations — and the test always sends the alert to whichever device you are sitting at.

Here is how:

  1. In the “Web Push” card, click “Activate Web Push”.
  2. The browser asks whether the site may send you notifications — allow it. Without that permission the channel stays off.
  3. The card then reads “Ready”. “Test Web Push” sends a sample alert to this device right away.
  4. “Remove Web Push” disconnects this device again.

If it does not work, the card tells you why — the three most common cases:

  • “This browser does not support Web Push.” Then Discord stays your route; nothing is wrong with your server.
  • “Web Push is blocked in the browser.” You (or someone before you) declined notifications for the site. Allow them in your browser's site settings and enable the channel again.
  • “Web Push was rejected by the browser or operating system.” This one sits a level higher: notifications are switched off for the whole browser in your system settings. Enable them there.

A special case is “Web Push is currently unavailable on this server.” That one is not about your device — use Discord in the meantime.


Choosing Events

A connected channel on its own sends nothing. Under “Choose events” you decide which alerts go out — and through which channel. Every event has its own selection for Discord and Web Push; an unconnected channel is locked and tells you so with “Connect this channel above first.”

While no channel at all is connected, nothing here can be selected — deliberately: “Connect Discord or Web Push first. Without a channel there is nothing to select, because no alert could arrive.”

Available events:

Event When it fires
Start failed The server would not start
Server crashed The server exited unexpectedly
Backup failed A backup could not be created
Resources running low Memory, CPU or disk are filling up
TPS persistently low The tick rate stays below target for a longer stretch
Update available A newer version of your server software exists
Test server expiring soon A test server's runtime is about to end
New player record More people were online simultaneously than ever before
Unusual connections A conspicuous connection pattern on your server

Confirm your selection with “Apply event rules”.

A sensible split: what the team should see (crashes, backups) goes to Discord; what concerns only you (update available, test server expiring) lands on Web Push.

Quiet Hours: Not Being Woken Up

Under “Quiet hours and defaults” you define a window during which nothing should reach you — 22:00 to 07:00 in your timezone, say. Alerts are not lost: “Alerts are held back and summarised. Afterwards you only receive the current state.”

So a server that crashes at three in the morning and recovers by four will not wake you — in the morning you learn where things stand now, instead of working through six separate alerts.

Confirm with “Apply quiet hours”.

When Nothing Arrives

“Recent deliveries” lists every send with its status. The four possible states:

  • Delivered — Discord accepted the message. If it still is not visible, check you are looking at the right channel.
  • Pending — the send is still in flight. Give it a moment.
  • Temporarily failed — Discord was unreachable or rejected the call. We retry; the “Attempt” column counts along.
  • Disabled — the channel accepts nothing any more. Most common cause: the webhook was deleted in Discord, or the channel no longer exists. Create a new webhook and connect it again.

Two more common trip-ups:

  1. The URL got truncated while copying. It must start with https://discord.com/api/webhooks/ and carry two long segments after that. If the tail is missing, the panel reports “Invalid Discord webhook URL.”
  2. No event is selected. Channel connected but no rule — then it stays quiet. The test still works in that case, because it addresses the channel directly.

Web Push adds a third case: “No Web Push is registered for this device any more.” That happens when the browser dropped the permission — after clearing site data, for instance. Just enable the channel on that device again.

Removing the Webhook Again

“Remove Discord” disconnects the channel from this server. Your settings survive: “No new server alerts will be delivered through this channel. Your event rules and thresholds stay saved.” Connect a new webhook later and your old rules apply again immediately.

If you also want the webhook gone on Discord's side — because the URL went public, for instance — delete it there as well via “Delete Webhook”.

Frequently Asked Questions

Do I need a Discord bot?

No. A webhook is precisely the bot-free route: no invite, no permission grants, no persistent connection.

Can several servers post into the same channel?

Yes. Connect the same webhook on each server. Every alert names the server in its heading, so you can tell them apart. A dedicated channel per server is usually clearer, though.

Can one server post into several channels?

One Discord channel per server is what the panel provides. For a second recipient, enable Web Push — both run side by side in the same tab.

Do I have to enable Web Push on every device separately?

Yes. The permission belongs to the browser on that device, not to your account. Phone and desktop are two separate activations.

Will my community see the alerts?

Anyone who can read the channel will. If crash and resource alerts should stay internal, create the webhook in a channel only your team can see — or route those events to Web Push instead.

Does the URL change when I rename the webhook?

No. You can change the name and avatar at any time without invalidating the address. You only need to reconnect if you delete the webhook and create a new one.