A destination is somewhere Uptimeprobe sends your alerts. Add one and every probe in the workspace starts reporting to it, filtered by the statuses you pick.
Add a destination
Open Alerts, switch to the Destinations tab, then choose Add destination.
| Field | What it does | Notes |
|---|---|---|
| Type | How the alert is delivered | Discord or webhook |
| Name | A label so you can tell destinations apart | Required, 1 to 255 characters |
| URL | Where the alert is sent | Must be a public https:// URL, up to 2048 characters |
| Notify on | Which status changes to send | Any of Down, Degraded, Up. Defaults to Down and Up |
A workspace can hold up to 20 destinations. Alerting is included at no extra cost: you pay per probe, and destinations aren’t metered.
Discord
Pick Discord and paste a channel’s webhook URL. In Discord, open the channel’s
settings, go to Integrations → Webhooks, create a webhook (or open an existing one),
and use Copy Webhook URL. It looks like
https://discord.com/api/webhooks/1234567890/AbCd….
Alerts arrive as a message in that channel, colour-coded by status, with the probe’s
type, region, previous status, and target. Mentions are stripped, so a probe whose name
contains @everyone can’t ping the whole server.
The webhook URL is a credential: anyone holding it can post to your channel. Treat it like a password. If it leaks, delete the webhook in Discord and add the destination again with a fresh URL.
Webhook
Pick Webhook to receive the raw event as JSON at an endpoint you control. If you paste a Discord webhook URL here, Uptimeprobe rejects it and points you at the Discord type: Discord accepts only its own message format, so it would refuse every alert.
Uptimeprobe generates a signing secret when you save the destination and shows it once. Copy it before closing the panel: it can’t be shown again, and you need it to verify that incoming requests are genuinely from us. If you lose it, rotate it and update your endpoint. See Webhook payloads for the exact request and how to check the signature.
Whatever the type, the URL has to be reachable from the public internet, over HTTPS. Addresses on private networks are rejected when you save the destination and re-checked before every send, so a URL that later starts resolving to a private address stops being delivered to.
The URL isn’t shown back to you
Once a destination is saved, Uptimeprobe shows only enough of the URL to tell your destinations apart, never the whole thing. A destination URL usually carries its own token, and a value that appears on screen ends up in screenshots and shared sessions.
Editing a destination therefore starts with an empty URL field. Leave it empty to keep the URL you saved, or paste a new one to replace it. Everything else on the form edits normally.
Test it before you need it
Send test delivers a sample notification immediately and reports what your endpoint said. Use it when you first set a destination up, and again after you change anything on the receiving end.
A test is a real request with a real signature, so it exercises everything a genuine alert does. It carries an obviously fake probe (named “Test notification”) so nobody goes looking for an outage that doesn’t exist, and it doesn’t appear in your delivery history.
Pause without deleting
Disable stops delivery while keeping the destination and its history. Anything queued for a disabled destination is dropped rather than held, so re-enabling won’t replay a backlog of stale alerts at you. Use it during planned maintenance, or while you’re rebuilding the endpoint.
Deleting a destination removes its delivery history too.
Delivery history
Every destination keeps a log of what was sent to it, under Delivery history on the row. Each entry shows the status of the attempt, the HTTP status your endpoint returned, how many attempts it took, and the error if there was one.
| Status | What it means |
|---|---|
| Delivered | Your endpoint accepted it. |
| Queued | Waiting to be sent. |
| Sending | In flight right now. |
| Retrying | An attempt failed and another is scheduled. |
| Gave up | We stopped trying. The reason is on the entry. |
When delivery fails
A failed delivery is retried several times with a widening gap between attempts, over a few hours. That rides out a deploy, a restart, or a short outage on your side without losing the alert.
Some failures aren’t worth retrying, and those stop immediately: a 404 on the endpoint,
a rejected authentication, or a URL that no longer passes the public-address check. In
each case the alert is marked “Gave up” with the reason, so the delivery history tells
you what to fix.
After repeated failed notifications, Uptimeprobe turns the destination off and shows a banner explaining why. This stops a deleted endpoint from being retried forever. Fix the endpoint, then Enable the destination, which clears the warning and starts a fresh run of attempts.
If an alert never arrives
Work through it in this order:
- Check the Activity tab. If there’s no entry, the probe’s status didn’t change, and nothing was meant to be sent.
- Check the destination’s Notify on filter. A destination set to Down and Up ignores a move into Degraded.
- Check the destination is enabled and not auto-disabled.
- Check the Delivery history. If the attempt is there, the answer your endpoint gave is there too.
Rotate a signing secret
Rotate secret appears on webhook destinations, which are the ones that have a secret. It issues a new one and shows it once. There’s no overlap period: the old secret stops working the moment you rotate, so update your endpoint in the same sitting. Anything queued but not yet delivered is signed with the new secret.
Rotate whenever the secret might have leaked: a shared log, a screenshot, someone leaving the team.
Who can change destinations
Any workspace member can see the destinations and their delivery history. Adding, editing, testing, rotating, and removing are limited to workspace owners and admins.
Next steps
See Webhook payloads for the request Uptimeprobe sends and how to verify its signature, or Alerts for what creates an alert in the first place.