# Webhooks

> The usedocs webhook integration sends signed JSON events to any HTTPS endpoint you control: article published, edit proposed, draft created, conversation handed to the team, and lead captured. Failed deliveries retry with backoff for a day, and every delivery shows in a log.

Add up to ten endpoints, each with the events it should receive. usedocs signs every request with a secret per endpoint, so your receiver can verify the payload came from usedocs, and sends a delivery id and attempt number in the headers so retries are safe to deduplicate. If your endpoint fails, usedocs retries after 5 minutes, 30 minutes, 2 hours, 8 hours, and 24 hours with the same delivery id. The delivery log shows status, timing, and the retry count for each event. Test sends help you wire up a receiver before real traffic arrives; they do not retry.

## Set it up

1. **Open webhooks.** In Settings, open the webhooks page and add an HTTPS endpoint.
2. **Choose events.** Pick the events this endpoint should receive.
3. **Verify signatures.** Copy the secret and verify each request's signature on your receiver.
4. **Send a test.** Send a test event and check the delivery log.

## What it does

- **Docs events.** article.published, edit.proposed, and draft.created let you mirror docs changes into another system or notify a channel your way.
- **Support events.** conversation.escalated and lead.created carry the question, the conversation link, and the contact when captured.
- **Signed and retried.** A signature per endpoint, a delivery id, and retries with backoff for up to a day.
- **Delivery log.** See every attempt, its status, and how long it took.

## Good to know

- HTTPS endpoints on public hosts only.
- Up to 10 endpoints per bot.
- Retries over 24 hours, then the delivery is marked failed.
- Do not log customer data carelessly on your receiver.