Skip to main content
Webhooks send an HTTPS POST to your URL when something happens in a business, so your tools don’t need to poll.

Events

data has the same shape as the matching API resource. For example, GET /appointments returns the objects an appointment.booked event carries, so a list endpoint doubles as sample data.

Add an endpoint

You can add endpoints in the dashboard or with the API.
1

Open Webhooks

Go to Integrations and click Manage on the Webhooks card. Only owners and admins can manage webhooks.
2

Add the endpoint

Click Add endpoint, enter the URL, and pick the events.
3

Copy the signing secret

LobbyStack shows the whsec_ secret once. Store it where your endpoint can read it.
4

Send a test event

Click Send test event, then open Delivery log to see the response your endpoint returned.

Payload

data reflects the resource at the moment the event happened. Fetch the resource again if you need its current state.

Verify signatures

LobbyStack signs each request with the Standard Webhooks scheme and sends three headers: The signature covers {webhook-id}.{webhook-timestamp}.{raw body}, keyed with the base64-decoded part of the secret after whsec_. Use a Standard Webhooks library to check it against the raw request body, before you parse the JSON:
Reject requests whose timestamp is more than a few minutes old to block replays.

Respond and retry

Return any 2xx status within 10 seconds. LobbyStack treats anything else as a failure, including timeouts, redirects and connection errors. It doesn’t follow redirects. After a failure, LobbyStack retries after 30 seconds, 2 minutes, 10 minutes, 30 minutes, 1 hour, 3 hours, 6 hours and 12 hours, for 9 attempts over about 23 hours. Each attempt uses the same webhook-id, so deduplicate on it. Events can arrive out of order; compare created_at or fetch the resource if order matters. If an event fails every attempt and nothing reached the endpoint in that time, LobbyStack turns the endpoint off and alerts your team, following each person’s Settings > Notifications choices. Fix the endpoint, turn it back on in the dashboard or with PATCH /webhooks/{webhook_id} and {"status": "enabled"}, then use Resend in the delivery log to send missed events.

Delivery log

The delivery log shows each event sent to an endpoint, its status, the last response code, the number of attempts, and when the next retry runs. Resend sends an event again. LobbyStack keeps 30 days of webhook history.

Rotate the secret

Click Rotate secret on the endpoint. The old secret stops working right away. Update your endpoint with the new secret soon after: events that fail verification in between get retried and arrive once your endpoint uses the new secret.

Network rules

Endpoints must use https:// and resolve to a public address. LobbyStack refuses URLs that point to private, loopback, link-local or cloud metadata addresses, both when you save the endpoint and on every delivery. Self-hosted deployments follow the same rule.