How it works
When an event matches one of the event types you subscribed to, AgentVista:- Builds a JSON payload and signs it using HMAC-SHA256.
- Sends a
POSTrequest to your endpoint with the signature in theX-Webhook-Signatureheader. - Retries automatically on failure with exponential backoff (up to 7 attempts).
- Disables the endpoint after repeated terminal failures and notifies your org admins by email.
Register an endpoint
Open webhook settings
In the AgentVista dashboard, go to Settings → Webhooks and click Add endpoint.
Provide endpoint details
Fill in the following fields:
| Field | Description |
|---|---|
url | The HTTPS URL AgentVista will POST to. |
name | An optional human-readable label for the endpoint. |
event_types | One or more event type strings to subscribe to (see Event types below). |
Webhook URLs must start with
https://. HTTP endpoints are rejected at registration time.Event types
Subscribe to one or more of the following event type strings:| Event type | Triggered when |
|---|---|
alert.fired | An alert rule threshold is crossed and an alert fires. |
agent_run.completed | An agent run finishes (success or failure). |
Webhook payload
Each delivery is a JSON object. The request body is a snapshot stored at delivery time and replayed on retries. AgentVista sends the following headers with every delivery:| Header | Description |
|---|---|
Content-Type | application/json |
X-Webhook-Id | The unique delivery ID (UUID). |
X-Webhook-Timestamp | Unix timestamp (seconds) when the request was sent. |
X-Webhook-Signature | HMAC-SHA256 signature of the payload (see below). |
Verify webhook signatures
Every delivery is signed so you can confirm it came from AgentVista and was not tampered with in transit. The signature format mirrors the Stripe/GitHub webhook convention. Signature construction:sha256=.
Python verification example:
Delivery and retry behavior
Each event dispatch creates aWebhookDelivery record that tracks the overall status and every HTTP attempt made against your endpoint.
Delivery status
| Status | Meaning |
|---|---|
pending | The delivery has been queued but not yet attempted. |
retrying | A previous attempt failed (non-2xx or network error); another attempt is scheduled. |
success | Your endpoint returned a 2xx response. |
failed | All retry attempts were exhausted with no 2xx response. |
Retry schedule
AgentVista retries failed deliveries up to 7 times using exponential backoff with a maximum interval of 600 seconds (10 minutes). Each attempt is logged with its HTTP status code, response body (truncated at 10 KB), response headers, duration, and any network error message. Your endpoint must return a2xx status code for the delivery to be considered successful. Any other status code or network error triggers a retry.
Circuit breaker
AgentVista tracksconsecutive_failures on each endpoint. After a configurable number of consecutive terminal failures (deliveries that exhaust all retries), the endpoint is automatically disabled (is_active set to false) and your org admins are notified by email.
To re-enable a disabled endpoint, go to Settings → Webhooks, select the endpoint, and toggle it back on. Re-enabling resets the consecutive failure counter to zero.