ALL SYSTEMS OPERATIONAL
Vous ne surveillez pas encore avec ViewPeek ? Plan gratuit, sans carte bancaire. Commencer gratuitement

Notifications

Every monitor alert is emailed by default. Notification channels add Slack, Discord, or a generic JSON webhook on top — so the same alert lands in your team chat, your incident automation, or a custom endpoint.

What's a channel?

A channel is a destination owned by your team (organisation). The configuration is one webhook URL plus a friendly name. We send every alert generated by every monitor in your team to every active channel — in addition to email, never instead of it.

The URL is the secret that lets ViewPeek post messages on your behalf. You generate it inside Slack / Discord / your own tool, then paste it into ViewPeek. The three sections below walk you through each one end-to-end.

Set up Slack

Slack incoming webhooks are created through their developer portal, not from inside the Slack desktop app. The full canonical walkthrough lives at docs.slack.dev — sending messages using incoming webhooks. The short path:

  1. Visit api.slack.com/apps while signed in to the workspace that should send the alerts. Click Create New AppFrom scratch, give it a name (e.g. "ViewPeek"), pick the workspace.
  2. In the app's left sidebar, click Incoming Webhooks. Toggle Activate Incoming Webhooks to On.
  3. Scroll down and click Add New Webhook to Workspace. Slack asks which channel the webhook should post to — pick it, then click Authorize.
  4. Slack returns a URL starting with https://hooks.slack.com/services/ under Webhook URLs for Your Workspace. Copy it.
  5. Back in ViewPeek, go to NotificationsAdd channel. Pick Slack, give it a name (e.g. #incidents), paste the URL.
  6. Click Send test. When the message arrives in Slack, click Save channel.

Security note from Slack: the webhook URL is a secret. Don't commit it to a public repo — Slack actively scans for leaks and revokes any URL it finds exposed.

Set up Discord

Discord webhooks are created through Server Settings → Integrations. You need Manage Webhooks permission on the server. The canonical reference is Discord — Intro to Webhooks. The short path:

  1. In Discord, click the down arrow next to your server name (top-left), then Server Settings.
  2. In the sidebar, click Integrations. Click Create Webhook.
  3. Enter a name (e.g. "ViewPeek"), pick the target channel from the dropdown, click Save Changes.
  4. Click Copy Webhook URL. The URL is on discord.com (format discord.com/api/webhooks/<id>/<token>).
  5. Back in ViewPeek, go to NotificationsAdd channel. Pick Discord, give it a name, paste the URL.
  6. Click Send test. When the embed shows up in Discord, click Save channel.

You can also reach the same Integrations page from a single channel: hover the channel name → Edit ChannelIntegrations. The button is still Create Webhook and the resulting URL behaves the same.

Set up a generic webhook

Use this when you want ViewPeek to POST to your own endpoint — an n8n workflow, a Zapier hook, a Make scenario, a custom Lambda, or anything else that accepts JSON over HTTPS.

  1. Generate an HTTPS endpoint that accepts a JSON POST. The host can be anywhere — we don't enforce a hostname allow-list on this kind.
  2. In ViewPeek, go to NotificationsAdd channel. Pick Webhook, give it a name, paste the URL.
  3. Click Send test. We POST a sample payload (see shape below); inspect the request in your endpoint's logs to confirm it arrived.
  4. Save channel.

The body we send:

{
  "title": "🔴 Website Down: example.com",
  "summary": "example.com (https://example.com) is DOWN — HTTP 502",
  "details": {
    "Monitor": "example.com",
    "URL": "https://example.com",
    "Reason": "HTTP 502",
    "HTTP": 502,
    "Response time": "—ms"
  },
  "ts": "2026-05-23T11:30:00Z",
  "source": "viewpeek"
}

Headers: Content-Type: application/json, User-Agent: ViewPeek/alerts. We don't sign the payload — if your endpoint needs auth, embed a token in the URL path or query string.

How channels fire

Channels are team-wide: once a channel is saved and active, every monitor in your team fans out to every active channel. There's no per-monitor opt-in to manage. If you need to silence one channel without affecting the rest, use the Pause button on the channel list — one channel can be paused without touching the others.

Failure handling

Each channel has a 5-second HTTP timeout. A failure on one channel never blocks email delivery or other channels — the agents call each channel independently. The Last error column on the channel list shows the upstream status code or network error for the most recent attempt; it clears on the next successful delivery.

Troubleshooting

I clicked Send test and nothing arrived. In priority order:

  1. Check the channel list — the Last error column tells you whether the upstream rejected the message and what code came back.
  2. Confirm the webhook URL hasn't been revoked. Slack / Discord rotate URLs when integrations are reinstalled or deleted.
  3. For Slack: open the integration in Slack and confirm it's still attached to a real channel (private channels get deleted, orphaning their hooks).
  4. For Discord: confirm the webhook's role permissions include Send Messages in the target channel.

"Test failed: HTTP 404." The URL is wrong or the integration has been deleted upstream. Generate a fresh URL and update the channel.

"URL must start with https://." We require TLS on every webhook — http:// URLs are rejected at validation.

Discord shows a webhook avatar but the embed is blank. Some servers strip embeds from webhook messages via channel permissions. Toggle Allow embeds in the channel's integration settings.

Next steps

Prêt à démarrer la surveillance ?

Plan gratuit avec 10 moniteurs inclus, sans carte bancaire.