# Webhooks

> Send events to another system when something changes in your workspace.

A webhook tells another system, for example an automation tool or your own service, when something happens in workelligence.

## Add a webhook

1. Open **Settings → Webhooks** and click **Add webhook**.
2. Enter the **Endpoint URL** that should receive the events.
3. Set an **Event filter**, or leave it empty for all events. The filter is a prefix: `invoice.` for everything about invoices, `invoice.finalized` for one event, `deal.` for deals.
4. Save. The signing secret is shown once; copy it.
5. **Send test event** to check the endpoint.

## What is sent

Every change in the activity feed, whether a person, a workflow or a connected assistant caused it, is delivered as a POST with a JSON body. Each delivery is signed with HMAC-SHA256 in the header `X-AgencyOS-Signature`; check it on your side.

## Retries and failures

A failed delivery is retried three times with growing intervals. Every delivery is listed under **deliveries** and can be sent again with **redeliver**. After ten failures in a row the webhook disables itself and you are notified; **Re-enable** it once the endpoint works again.
