Skip to main content
Webhooks let Novala send a notification to your server whenever something happens in your account — a new inspection is completed, an invoice is paid, or a work order is created. Instead of polling the Novala API for changes, your system receives an HTTP POST request with event details immediately when the event fires.

Add a webhook endpoint

Navigate to Settings → Webhooks, then click Add Endpoint.
1

Enter your endpoint URL

Provide the HTTPS URL where Novala should send events. The URL must be publicly accessible. During development, a tunneling tool like ngrok can expose a local server.
2

Add a description (optional)

Add a short label to help you identify this endpoint later (for example, “Acumatica sync” or “Slack alerts”).
3

Choose which events to receive

By default, Subscribe to all events is checked, which means your endpoint receives every event type Novala emits. Uncheck this to select specific event types from the list.
4

Click Create

Novala registers the endpoint and begins delivering matching events immediately.

Event types

Events are grouped by module. The event type is included in every payload as the type field.

Payload format

Every Novala webhook delivery is an HTTPS POST with a Content-Type: application/json body. The top-level structure is the same for all event types:

Verify webhook signatures

Every delivery includes three headers you can use to verify that the request came from Novala and has not been tampered with: The signature is computed as sha256=HMAC-SHA256(timestamp + "." + raw_body, endpoint_secret). To verify a delivery:
Always verify the signature before processing a webhook payload. Reject any request where the signature does not match.

Retry behavior

If your endpoint returns a non-2xx response or does not respond within 10 seconds, Novala retries the delivery automatically with exponential backoff: After 5 failed attempts, the delivery is marked as permanently failed. If an endpoint accumulates 10 consecutive failures, Novala automatically disables it to protect your system from continued errors.
Return an HTTP 200 response as quickly as possible — before you process the event. Use a queue or background worker to handle the business logic so slow processing doesn’t cause timeouts.

Monitor deliveries

Click the eye icon next to any endpoint to open its delivery log. Each entry shows the event type, status, HTTP response code, attempt number, timestamp, and any error message. From the delivery log, you can click Replay on any delivery to resend it to the endpoint immediately, regardless of its current status. Replaying follows the same signature and retry logic as original deliveries.

Test an endpoint

Click the test tube icon next to any endpoint to send a test event. Novala delivers a sample payload and shows you the HTTP response code. Use this to confirm your endpoint is reachable and processing signatures correctly before you go live.

Endpoint status