# Webhooks

Receive signed Prospy events in your own app, verify them and replay failed deliveries.

## Add an endpoint
Open [Integrations → Webhooks](/integrations/webhooks), enter a public HTTPS URL and choose events. Copy the signing secret when it’s shown; it isn’t displayed again.

## Events
- `mention.created`
- `mention.updated`
- `mention.status_changed`
- `mention.marked_irrelevant`
- `keyword.created`
- `keyword.updated`
- `keyword.deleted`
- `alert.triggered`
- `scan.completed`

Each body is JSON with `type`, `timestamp` and `data`. Mention events carry the mention under `data.mention`, with the same fields as the API. Test events set `data.test` to `true`.

## Verify signatures
Prospy signs with [Standard Webhooks](https://www.standardwebhooks.com). Check `webhook-id`, `webhook-timestamp` and `webhook-signature` against the raw body using a Standard Webhooks library, and reject invalid or stale requests.

## Handle retries
Respond quickly, deduplicate by `webhook-id` and make your handler safe to run twice. You can see every delivery attempt and replay a failed one after fixing your receiver. After rotating the secret, update it in your receiver.
