# Webhooks

## What a webhook does

A webhook is an address of yours that Teamhood calls when something changes. You add endpoints in **Settings → Organization → Webhooks**, and choose which event types each endpoint receives. Teamhood sends the events in order, and retries automatically when your service is briefly unavailable.

[Open in Teamhood](https://app.teamhood.com/go/settings/webhooks)

## Verifying that a request came from Teamhood

Every delivery is **signed**, so your service can tell a real call from any other call that finds the URL. The endpoint list has a **How to verify** action that states the check to implement. Implement that check.

The secret used for that signature can be rotated from the endpoint's menu without changing the address.

## When a delivery goes wrong

Each endpoint keeps a **delivery log** of what was sent, when it was sent, and what your service answered. The log is the first place to look when an integration has gone quiet.

An endpoint can also be disabled instead of deleted. Disabling stops deliveries, and keeps the address, the event list and the log.

## Webhooks or the API?

A webhook tells you when something changed. A webhook does not let you read or write anything. For reading and writing you need the API, reached with a [personal token](../personal-tokens/).
