What a webhook is#
A webhook is SkedCast telling your system something happened, the moment it happens, instead of your system asking over and over whether a post is published yet. You give SkedCast a URL. When a post publishes, fails, or a channel needs reconnecting, SkedCast sends that URL a small JSON message describing it.
When to use a webhook instead of polling#
Use a webhook when your system reacts to outcomes: updating a dashboard when a post goes live, alerting a Slack channel when one fails, or syncing your database once analytics refresh. It is faster and cheaper than polling on a timer. Polling is fine for a one-off check, where a receiving endpoint is not worth building.
Common events#
| Event | Fires when |
|---|---|
target.published | A post went live on one destination account. |
target.failed | A post permanently failed on one destination. |
account.reauth_required | A connected channel's credential died and needs reconnecting. |
approval.decided | A reviewer approved or rejected a post. |
report.completed | A scheduled report export finished and is ready to download. |
How to verify a delivery#
Every delivery is signed with HMAC-SHA256, so your endpoint can check that it came from SkedCast and was not changed on the way. SkedCast also sends the Standard Webhooks headers, so an off-the-shelf library can verify it. You can test your verification code with the free webhook signature tester.
- The
X-SkedCast-Signatureheader looks liket=<unix>,v1=<hex>[,v1=<hex>...]. The signed string is<t>.<rawBody>(HMAC-SHA256). During a secret rotation there is onev1entry per valid secret; accept the delivery if any entry matches.
Setting one up#
Register an endpoint with POST /v1/webhooks and an API key, and choose which events to receive. Create the key in the SkedCast console under Settings › Developer. Webhooks are included from Studio; see the pricing page.
The Integrations page in the console then lists your endpoints and their status, and rotates a signing secret. The technical reference has the full request and response shape, the retry behavior and the verification code.
FAQ
- Do I need to write code to use webhooks?
- Not necessarily. A webhook needs a public HTTPS URL that accepts a POST. That can be a small server you write, or a catch-hook step in Zapier, Make or n8n. Always verify the X-SkedCast-Signature header on a server you control, and reject a delivery that does not match. Many no-code catch-hook steps cannot check an HMAC signature, so use one only for non-sensitive events. The signature tester helps. Polling the REST API takes less code if you only need an occasional check.
- What's the difference between this page and the developer webhooks reference?
- This page explains what webhooks are and when to use one. The developer reference documents the request shape, the signature scheme, retries and all 44 events you can subscribe to, for someone building a receiver.