Get notified the moment something happens
Your backend gets a POST within seconds of a worker clocking in or a leave request being approved — no polling, no scheduled jobs. Signed deliveries, automatic retries, dead-letter queue if your endpoint goes down.
What you can do
The day-one wins. No engineering required for SMB admins to set this up.
Real-time, not polling
Worker clock-ins, leave approvals, process status changes — your endpoint receives a POST within seconds. No need to poll the API every 5 minutes (cheaper and faster).
Tamper-proof deliveries
Each request includes X-SVDY-Signature: sha256=… computed over the JSON body with your secret. Verify the signature in your endpoint to reject any forged requests cold.
Retries + dead-letter queue
Non-2xx responses retry at 1m, 5m, 30m, 2h, 12h. After 5 failures the delivery lands in the dead-letter queue, viewable in /system/integrations/webhooks. You don't lose events when your endpoint has a bad day.
Set up in 4 steps
Estimated time: under 5 minutes for an admin who has the credentials handy.
Create the webhook in your organization admin
Integrations → Webhooks → Add Webhook. Enter your endpoint URL + pick the events you care about. SVDY shows the signing secret ONCE — save it now.
Build the receiver
Your endpoint accepts POST application/json. Verify the HMAC signature before processing. Return 200 within 10 seconds (otherwise SVDY assumes failure and retries).
# Python receiver — Flask sketch
import hmac, hashlib, json
from flask import request, abort
SVDY_SECRET = b"<paste-from-svdy-admin>"
@app.post("/webhooks/svdy")
def receive():
sig = request.headers.get("X-SVDY-Signature", "")
expected = "sha256=" + hmac.new(
SVDY_SECRET, request.data, hashlib.sha256
).hexdigest()
if not hmac.compare_digest(sig, expected):
abort(401)
event = json.loads(request.data)
# ... handle event["type"], event["data"]
return "", 200Test with the "Send test event" button
Inside the webhook detail panel — fires a synthetic event to your endpoint. The response code + body shows up in the delivery log immediately.
Replay failed deliveries
Each delivery shows in the activity panel with its status (delivered / retrying / dead). Click "Replay" on a dead delivery to re-fire it after fixing your endpoint.
Ready to connect?
Open your organization admin → Integrations and connect this integration in under 5 minutes.
