# Automate with webhooks

_React to workspace events from your own systems — and trigger automations from theirs._

Canonical: https://snoze.dev/help/automate-with-webhooks/

Webhooks connect Snoze to systems it doesn't know about. They run in both
directions: Snoze can call your endpoint when something happens in the
workspace, and your systems can call Snoze to kick off an
[automation](https://snoze.dev/help/buttons-and-actions/).

> [!NOTE]
> Webhooks are developer-facing — someone comfortable with HTTP endpoints
> should set them up. If you just want work to happen automatically _inside_
> Snoze, [buttons and actions](https://snoze.dev/help/buttons-and-actions/) need no code at all.

## Outbound: Snoze calls you

Register an endpoint URL in workspace settings and choose which events it
should receive — items created or updated, records added, automation runs
completing. When one happens, Snoze POSTs a signed notification to your
endpoint.

- **Deliveries are signed** with the endpoint's secret, so you can verify
  each one really came from Snoze before acting on it.
- **Retries are automatic** — if your endpoint is down, Snoze backs off and
  retries rather than dropping the event.
- **Every delivery is logged** — inspect payloads, see failures, and replay a
  delivery after fixing your endpoint.

## Inbound: you call Snoze

An automation can start from an incoming webhook: it gets a unique URL, and a
POST to that URL triggers the run — with the request's payload available to
the automation's steps. Deploy finished, form submitted elsewhere, alert
fired: anything that can send an HTTP request can now move work in Snoze.

Inbound hooks verify a signature too, so only callers holding the trigger
secret can start your automation. Runs land in the same run history as every
other automation, with the same [safety model](https://snoze.dev/help/approvals-and-safety/).

## Where to go deeper

Event payloads, signature verification samples, and the delivery contract
live in the
[webhooks developer docs](https://developers.snoze.dev/docs/webhooks). For
authenticating your own calls to the API, see
[API keys and scopes](https://snoze.dev/help/api-keys-and-scopes/).