POST request to your URL the moment an event fires. The HoopAI Platform supports 50+ webhook events spanning contacts, conversations, appointments, opportunities, payments, tasks, objects, and more — giving you the building blocks to create deeply integrated, event-driven workflows.
Setting up a webhook endpoint
Configure webhook endpoints in one of two ways:- Platform UI — navigate to Settings → Integrations → Webhooks and add your endpoint URL.
- Programmatically — use the API to register and manage webhook subscriptions.
- Be publicly reachable over HTTPS
- Respond with an HTTP
200status within 10 seconds - Accept
POSTrequests with aContent-Type: application/jsonbody
2xx status, the platform will retry the delivery with exponential backoff.
Webhook payload structure
Every webhook delivery shares the same top-level envelope. Thetype field identifies the event, and the remaining fields carry the event-specific data.
type and locationId vary by event. See each individual event page for its full schema and an example payload.
Sample payload — contact created
Signature verification
Every webhook request includes anx-wl-signature header containing an HMAC-SHA256 signature. Always verify this signature before processing a payload to confirm the request originated from the HoopAI Platform and was not tampered with in transit.
Verification steps:
- Retrieve the raw request body as a string (do not parse it first).
- Compute
HMAC-SHA256(rawBody, yourWebhookSecret). - Compare your computed digest to the value in the
x-wl-signatureheader using a constant-time comparison. - Reject the request if the signatures do not match.
Event categories
Contacts
Conversations
Appointments
Opportunities
Payments
Products and prices
Tasks
Notes
Accounts and users
Objects and associations
App lifecycle
Related
- Webhook authentication — HMAC signature verification reference
- OAuth 2.0 overview — authenticate your API requests
- Contacts API — query and update contacts referenced in webhook payloads