Loading...
Receive real-time event notifications from wrrk via webhooks.
Webhooks let wrrk send real-time notifications to your application when events occur. Instead of polling the API, your server receives an HTTP POST request whenever something happens.
Contact Events:
contact.created, A new contact is added.contact.updated, A contact's fields change.contact.deleted, A contact is removed.Deal Events:
deal.created, A new deal is created.deal.updated, Deal fields or stage change.deal.closed, A deal is closed (won or lost).Message Events:
email.received, An email is received.email.sent, An email is sent from wrrk.whatsapp.received, A WhatsApp message is received.whatsapp.sent, A WhatsApp message is sent.Workflow Events:
workflow.executed, A workflow completed execution.workflow.failed, A workflow execution failed.Each webhook delivers a JSON payload:
{
"event": "contact.created",
"timestamp": "2026-03-15T10:30:00Z",
"data": {
"id": "cnt_abc123",
"name": "Jane Smith",
"email": "jane@example.com"
},
"org_id": "org_xyz"
}To ensure a webhook came from wrrk, verify the X-Wrrk-Signature header:
const crypto = require('crypto');
const signature = crypto
.createHmac('sha256', webhookSecret)
.update(requestBody)
.digest('hex');
if (signature === request.headers['x-wrrk-signature']) {
// Webhook is authentic
}If your endpoint returns a non-2xx status code, wrrk retries the webhook:
After 5 failed attempts, the webhook is marked as failed and you receive an email notification.
Click Send Test Event on any webhook configuration to send a sample payload to your endpoint. Use this during development to verify your handler works correctly.
Tags