Adding an endpoint
Webhooks are configured per workspace, by an admin, in Settings → Webhooks. Each endpoint chooses which of the six events it wants; an endpoint subscribed tosignal.urgent also receives that signal’s ordinary signal.created delivery unless it opts out of it separately, because the two answer different questions (“a signal arrived” versus “a signal arrived that clears your urgency bar”).
Endpoint limits differ by plan — see openpulse.cloud/pricing.
Verifying a delivery
Every request carries anx-openpulse-signature header: an HMAC-SHA256 over the raw request body, using the signing secret shown once when the endpoint is created. Recompute it and compare — in constant time, not with === — before trusting a payload:
Retries and delivery history
A non-2xx response is retried with backoff. Every attempt — timestamp, response status, response body — is kept and visible in Settings → Webhooks, so a failure is debuggable from your side rather than something you have to reproduce. The last 20 delivery attempts are visible per endpoint, and you can send a test event to check an integration before it has to work for real.Responding
Any2xx marks a delivery accepted. Anything else — including a timeout — is treated as a failure and retried. Respond quickly and do the actual work asynchronously; a webhook handler that blocks on downstream processing is the most common cause of a workspace’s endpoint racking up retries.