What a webhook is: a private web address that gets a message when something happens. Incoming webhooks in Discord and Slack, event webhooks, and how to keep them safe.
A webhook is a web address that waits for messages. Instead of an app asking another app again and again "did anything happen?", the second app sends a short message to the webhook address the moment something happens. The address is usually long and random, and whoever knows it can send to it, so a webhook address should be treated like a password.
Webhooks go in two directions, and it helps to keep them apart:
Webhooks run quietly behind many things you already use. For example:
In each case nobody presses a button to pass the news along. The first system knows something happened and tells the second one immediately.
| Approach | How it works | Good for |
|---|---|---|
| Webhook | The service sends a message to your address when something happens | Instant reactions, little traffic |
| Polling | Your system asks the service every few minutes | Simple setups where a delay is fine |
| API call | Your system asks for something specific when it needs it | Reading data, taking actions |
| OAuth connection | An app acts on your account with your approval | Full integrations, such as posting to YouTube. See What is OAuth? Connecting an account without a password |
A webhook message is an ordinary web request, usually with a small block of JSON text:
POST https://example.com/hooks/streamlive
Content-Type: application/json
{"event": "stream.started", "data": {"stream_id": "...", "title": "Weekly class"}}
The receiving side reads the event name, does its job (posts a message, updates a sheet, starts a recording) and answers quickly that it received it.
1. Posting to Discord and Slack (incoming webhooks). These two connect through a webhook instead of a sign-in. You create a webhook for one channel in Discord or Slack, paste its address into Connections, and the channel becomes a destination on Publish everywhere. When you connect Discord, the address is checked with Discord first; connecting Slack sends nothing to the channel. Discord takes text and one file; Slack takes text and links but no files. Step by step: Post to a Discord or Slack channel with a webhook.

2. Event webhooks (outgoing), on the Studio plan. In Settings, the "API & Webhooks" section has a Webhooks card: you type an https address, tick the events you want, and click "Add webhook". StreamLive Pro then sends a POST to that address on every event you ticked, signed with HMAC-SHA256. The signing secret is shown once, right after you add the webhook, so copy it then. The same card lists your webhooks and lets you delete them. On other plans the section explains that webhooks come with Studio: /pricing?lang=en.
| Event | Sent when |
|---|---|
| stream.started | A broadcast starts |
| stream.ended | A broadcast ends, with its length |
| payment.succeeded | A payment for the account goes through |
| subscription.canceled | The subscription is canceled |
| destination.disconnected | During a live, our health check (about once a minute) finds that the stream to one of your channels failed, and starts reconnecting it. Not ticked by default |
The first three are ticked by default. Each event is sent once, with no retry, and a webhook that fails 20 times in a row is switched off. Rules that protect you: the address must be https and must point to a public server, not an internal one; there can be up to 10 per account; redirects are not followed. API keys are in the same section: API keys for developers: create, use and revoke.
A webhook pushes a message to you the moment something happens. Polling is the other way round: your system asks the service every few minutes whether anything changed. Polling is simpler to set up, needs no public address on your side, and nothing is lost if your server was down for a while, because you simply ask again. Its cost is delay and extra requests. A webhook is instant and quiet, but your server must be reachable, must answer quickly and must cope with a message arriving twice or not at all, so careful systems also poll now and then to catch anything missed. With StreamLive Pro you can do both: event webhooks on the Studio plan, and the API for anything you want to ask on your own schedule.
| Problem | Likely cause | Fix |
|---|---|---|
| Posts stopped reaching a Discord or Slack channel | The webhook was deleted or the channel removed | Create a new webhook and paste it again |
| Discord refuses the address | It is not a full Discord webhook address | Copy the whole address; it starts with https://discord.com/api/webhooks/ |
| A file did not reach Slack | Slack webhooks take no files | Post a link to the video instead |
| Your server receives nothing | The address is not https, not public, or redirects | Use a public https address that answers directly |
A private web address that receives a message automatically when something happens, so nobody has to keep checking.
Yes. Anyone who has an incoming webhook address can post to that channel. Keep it private and delete it if it leaks.
Create a webhook in the Discord channel settings, paste its address in Connections, and choose the channel when you publish.
Yes, on the Studio plan: in Settings, "API & Webhooks", add your https address with the stream.started event. Messages are signed with a secret shown once, so your server can check they came from StreamLive Pro.
What OAuth is: how one app gets limited access to your account on another service without your password. Tokens, scopes, why connections expire, how to revoke.
My StreamLive Pro API call fails: error codes and fixesStreamLive Pro API errors explained: invalid or expired key, missing permission, plan limit, 409 conflicts, 429 and 5xx, plus the older uppercase key codes.
API rate limits, retries and Idempotency-KeyStreamLive Pro API rate limits per key, per account, for writes and for publishing; the RateLimit headers, what to do on 429, and safe retries with Idempotency-Key.
What ChatGPT and Claude cannot do in StreamLive ProThe limits of ChatGPT and Claude in StreamLive Pro, with the reason for each and what to do instead: connecting networks, TikTok posts, uploads, approvals and more.
Want to try it? 7-day trial, no credit card.
Start free