Webhook management
Webhooks allow Batida to integrate with external systems by sending or receiving HTTP requests. Batida supports both inbound webhooks (receiving events from external systems) and outbound webhooks (sending Batida events to external endpoints).
Inbound webhooks
Inbound webhooks let external systems trigger actions in Batida by sending HTTP POST requests to a unique URL.
Creating an inbound webhook
- Navigate to Settings > Webhooks.
- Click Create Inbound Webhook.
- Enter a name and description.
- Batida generates a unique URL.
- Optionally define a secret for payload verification.
- Save the webhook.
Receiving events
External systems send events by posting JSON payloads to the webhook URL:
POST https://app.batida.io/webhooks/inbound/whk_abc123
Content-Type: application/json
X-Batida-Signature: sha256=<signature>
{
"event": "alert_fired",
"monitor": "api-latency",
"message": "API latency above 500ms"
}Outbound webhooks
Outbound webhooks send Batida events to external systems when specific actions occur.
Creating an outbound webhook
- Navigate to Settings > Webhooks.
- Click Create Outbound Webhook.
- Enter a name, target URL, and the events you want to subscribe to.
- Configure retry settings.
- Save the webhook.
Supported events
| Event | Description |
|---|---|
| incident.created | A new incident was created |
| incident.status_changed | An incident's status was updated |
| incident.resolved | An incident was resolved |
| postmortem.published | A postmortem was published |
| action_item.completed | An action item was marked as complete |
Payload format
Outbound webhooks send a JSON payload with event details:
{
"event": "incident.created",
"timestamp": "2026-04-20T14:30:00Z",
"data": {
"id": "inc_xyz789",
"title": "Payment gateway returning 500 errors",
"severity": "P2",
"status": "investigating",
"url": "https://app.batida.io/incidents/inc_xyz789"
}
}Delivery logs
Every webhook delivery is logged. View delivery logs to see:
- Whether the delivery succeeded or failed.
- The HTTP status code returned by the target.
- The request payload and response body.
- Timestamp of each delivery attempt.
Retry policy
Failed outbound webhook deliveries are retried automatically:
| Attempt | Delay |
|---|---|
| 1st | Immediate |
| 2nd | 1 minute |
| 3rd | 5 minutes |
| 4th | 30 minutes |
| 5th | 2 hours |
If all retries fail, the delivery is marked as failed and logged. You can manually retry from the delivery log.
TIP
Always verify webhook signatures on the receiving end to ensure the payload is authentic. See the API documentation for signature verification details.