Skip to main content
Webhooks let you receive real-time notifications when events happen in your Waply account. Instead of polling the API, you register an HTTPS endpoint and Waply sends a POST request to it whenever a subscribed event occurs. This is the recommended way to react to inbound messages, conversation updates, and broadcast completions.

Register a webhook

Send a POST request to /webhooks with the URL you want to receive events at and the list of event types you want to subscribe to.

POST /webhooks

string
required
The HTTPS URL Waply will send event payloads to. Must use https://. Plain http:// URLs are rejected.
string[]
required
Array of event type strings to subscribe to. See Event types for the full list.
The response includes a secret field. Store this secret securely — you will use it to verify that incoming webhook requests genuinely come from Waply.
The secret is only returned in the response to the initial POST /webhooks request. It is not retrievable afterwards. If you lose it, delete the webhook and create a new one.

List webhooks

GET /webhooks

Returns all webhooks registered on your account.

Event types

Subscribe to any combination of the following event types when registering a webhook:

Webhook payload

Every event Waply sends to your endpoint has the same envelope structure:
The shape of the data object varies by event type and matches the corresponding API object (Message, Conversation, Contact, or Broadcast).

Verify the webhook signature

Waply signs every webhook request with an HMAC-SHA256 signature so you can confirm it came from Waply and not a third party. The signature is sent in the X-Waply-Signature header as a hex string. To verify the signature, compute the HMAC-SHA256 of the raw request body using your webhook secret and compare it to the value in the header.
Always use your raw request body (before JSON parsing) when computing the signature. Parsing and re-serialising the JSON may change whitespace or key ordering, which will cause the comparison to fail.

Delete a webhook

DELETE /webhooks/

Unregisters a webhook. Waply immediately stops sending events to the associated URL.
string
required
The ID of the webhook to delete.