Outbound Webhooks
Configure outbound webhooks to push Koalr events to your own systems in real time.
Overview
Outbound webhooks let you receive HTTP POST notifications whenever specific events occur in Koalr. Use them to trigger CI/CD pipelines, update external dashboards, feed data into a data warehouse, or integrate with tools that Koalr does not natively support.
Navigate to Settings > Webhooks to manage outbound webhooks.
Creating a webhook
- Click + Add Webhook.
- Enter the Endpoint URL -- the HTTPS URL that Koalr will POST to when events fire.
- Select one or more Event Types from the list below.
- Click Create Webhook.
- Copy the webhook secret immediately -- it is shown only once and cannot be retrieved later.
Supported event types
| Event | Fires when |
|---|---|
deployment.created | A new deployment event is recorded |
pr.merged | A pull request is merged |
incident.triggered | A new incident is triggered |
incident.resolved | An active incident is resolved |
agreement.violated | A working agreement threshold is breached |
survey.completed | A team member completes a survey |
Verifying webhook signatures
Every webhook request includes a signature header that you should verify to confirm the request originated from Koalr. Use the secret provided at creation time to compute an HMAC-SHA256 of the raw request body and compare it to the signature in the header.
Webhook table
The webhooks table shows all configured endpoints with:
- URL -- the destination endpoint
- Events -- the event types subscribed to this endpoint
- Last Delivered -- the date of the most recent successful delivery, or "Never"
- Status -- Active or Disabled
Testing a webhook
Click Ping next to any webhook to send a test payload to the endpoint. This helps verify that your server is reachable and correctly processing requests before a real event fires.
Deleting a webhook
Click Delete next to a webhook to permanently remove it. Deletion is immediate and cannot be undone. No further events will be delivered to that endpoint.
Payload format
Webhook payloads are sent as JSON with the following top-level structure:
{
"event": "deployment.created",
"timestamp": "2026-03-19T14:30:00.000Z",
"data": { ... }
}
The data object varies by event type and contains the full resource representation.
Retry behavior
If your endpoint returns a non-2xx status code, Koalr retries the delivery with exponential backoff. After repeated failures the webhook may be automatically disabled. Re-enable it from the webhooks table once the endpoint issue is resolved.