Skip to content

Webhooks

Webhooks let you send real-time notifications from HARi to any external system when events happen in your CRM. Use them to connect HARi to custom applications, automation platforms, or internal tools.

  1. Create a workflow in HARi with a Call Webhook action
  2. Specify the target URL (your server, Zapier, Make, n8n, etc.)
  3. When the workflow triggers, HARi sends an HTTP POST request to your URL with the event data

Every webhook delivers a JSON payload:

{
"event": "record.created",
"entity": "contact",
"timestamp": "2026-03-31T14:30:00Z",
"workspace": "yourcompany",
"record": {
"id": "a1b2c3d4-...",
"name": "Jane Smith",
"email": "jane@example.com",
"company": "Acme Corp",
"owner": "Vincent",
"created_at": "2026-03-31T14:30:00Z"
},
"changes": {
"stage": {
"old": "qualification",
"new": "proposal"
}
}
}

The changes object is included only for update events and contains only the fields that changed.

You can trigger webhooks on any workflow event:

EventDescription
record.createdA new record was created
record.updatedA record was modified
record.deletedA record was deleted
stage.changedA BPF stage transition occurred
status.changedRecord status changed (active/inactive/archived)
assignment.changedRecord owner changed

Your server needs an HTTP endpoint that accepts POST requests and returns a 200 status code:

POST https://your-server.com/webhooks/hari
Content-Type: application/json
  1. Go to Settings > Workflows > + New Workflow
  2. Set the trigger (e.g., “When an opportunity is updated”)
  3. Add conditions if needed (e.g., “Stage changed to Closed Won”)
  4. Add action: Call Webhook
  5. Enter your endpoint URL
  6. Select which record fields to include in the payload
  7. Save and activate

Create or update a record that matches the workflow trigger. Check your endpoint for the incoming webhook.

If your endpoint returns a non-200 status code or times out (30-second limit):

  • Retry 1: after 1 minute
  • Retry 2: after 5 minutes
  • Retry 3: after 15 minutes

After 3 failed attempts, the delivery is marked as failed. You can view and manually retry failed deliveries in Settings > Workflows > Execution Log.

Each webhook includes an X-HARi-Signature header containing an HMAC-SHA256 signature of the payload. Verify this signature on your server to confirm the webhook came from HARi.

Your webhook secret is available in Settings > Integrations > Webhooks.

Webhook URLs must use HTTPS. HTTP endpoints are rejected for security.

HARi sends webhooks as events occur with no artificial delay. If your endpoint is slow, consider using a queue (e.g., AWS SQS, RabbitMQ) to handle bursts.

Maximum concurrent webhook deliveries per workspace: 50.