New entries, to any service.

Webhooks are the escape hatch: SlashFeed POSTs a signed JSON payload to any HTTPS endpoint whenever new entries arrive. Wire it to your own code, a serverless function, or an automation platform.

Prepare an endpoint

Anything that accepts an HTTPS POST with a JSON body works: a route in your own app, a Cloudflare Worker or AWS Lambda, or the catch-a-webhook URL of platforms like Zapier, Make, or n8n. For local experiments, a service like webhook.site shows the incoming payloads instantly.

Register the webhook in SlashFeed

Open Webhooks in the app, paste the endpoint URL, and add a label. SlashFeed generates a signing secret for the webhook — store it in your service's configuration; you will use it to verify deliveries in the next step.

Screenshot placeholder

SlashFeed's Webhooks page with the new-webhook form: endpoint URL and label filled in, and the generated signing secret shown once (partially blurred).

priv/static/images/how-to/webhooks-01-register.png

Verify the signature

Every delivery carries an HMAC-SHA256 signature of the raw request body, computed with your webhook's secret:

x-slashfeed-signature: sha256=9f2c4a…

Before trusting a payload, recompute the HMAC over the exact bytes you received and compare it (constant-time) to the header value. Reject anything that does not match — it did not come from your SlashFeed instance.

Send a test and watch the delivery log

Use the test-deliver button next to the webhook to fire a sample payload at your endpoint. Every attempt — test or real — is recorded in the delivery log with its HTTP status and response, so debugging a misbehaving endpoint never requires guesswork. Failed deliveries are retried automatically with backoff.

Screenshot placeholder

SlashFeed's Webhooks page showing the delivery log for a webhook: rows with timestamps, HTTP status badges (200s and a failed attempt), and the test-deliver button.

priv/static/images/how-to/webhooks-02-delivery-log.png
Done! From here on, batches of new entries arrive at your endpoint as signed JSON. Prefer a ready-made destination? There are one-click channels for Telegram, Slack, Discord, and ntfy.sh.