# Webhooks

Add endpoints in Settings → API and MCP, or with `POST /v1/webhooks`. Events: `article.published`, `article.updated`, `article.unpublished`, `article.deleted`, `edit.proposed`, `draft.created`, `changelog_entry.published`, `task.completed`, `conversation.escalated`, `lead.created`. Each delivery is a JSON POST with `usedocs-event`, `usedocs-delivery`, and `usedocs-signature: t=<unix seconds>,v1=<hex>`, where `v1` is the HMAC-SHA256 of `<t>.<raw body>` with the endpoint's signing secret.

Deliveries are logged with status and timing. A delivery that fails (no answer within 10 seconds, or a non 2xx status) is retried after 5 and 30 minutes, then 2, 8, and 24 hours, with the same `usedocs-delivery` id and a `usedocs-attempt` count, so dedupe on the delivery id. Handoff and lead alerts for chat tools have their own [webhook integration](https://help.usedocs.app/integration-webhooks).