> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squadvault.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks

> Send signed SquadVault events to your tools — and when to use Call webhook in Flows instead.

Outgoing webhooks push SquadVault domain events to a HTTPS URL you control (n8n, Make, your club site, a bot).

<Info>
  Organization webhooks require the Webhooks feature (Elite). See [Billing](/user-guide/billing) if the page is locked.
</Info>

## Organization webhooks vs Flow “Call webhook”

|               | **Webhooks page**                 | **Flow action Call webhook**               |
| ------------- | --------------------------------- | ------------------------------------------ |
| When it fires | Every matching organization event | Only when that Flow runs                   |
| Setup         | Endpoint + event subscriptions    | URL (and optional secret) on one Then step |
| Best for      | Always-on integrations            | Conditional / one-off POSTs                |

Use the [Webhooks](https://squadvault.xyz/dashboard/integrations/webhooks) page for standing integrations. Use **Call webhook** in [Flows](/user-guide/flows) when the POST should only happen under Flow conditions.

## Set up an endpoint

1. Open **Integrations → Webhooks** under Tools in the dashboard.
2. Add an endpoint: name, HTTPS URL, and the events you care about (presets help).
3. Copy the **signing secret** immediately — SquadVault only shows the full value once.
4. Send a **test event**, then open the delivery in the explorer to inspect headers and payload.

Pause an endpoint to stop deliveries without deleting it. Regenerating the secret invalidates the old one immediately.

## Envelope and headers

Each delivery is a JSON `POST` with body:

```json theme={null}
{
  "id": "evt_…",
  "type": "player.joined_team",
  "createdAt": "2026-08-04T07:00:00.000Z",
  "organization": { "id": "…", "slug": "…" },
  "data": { }
}
```

Headers:

| Header                   | Meaning                                                                   |
| ------------------------ | ------------------------------------------------------------------------- |
| `X-SquadVault-Signature` | `sha256=` + HMAC-SHA256 hex of the **raw body** using your signing secret |
| `X-SquadVault-Event`     | Event type (same as `type` in the body)                                   |
| `X-SquadVault-Delivery`  | Delivery id                                                               |
| `X-SquadVault-Timestamp` | Unix timestamp (seconds)                                                  |

Verify the signature before you trust the payload. Failed deliveries retry with backoff (up to 5 attempts).

## Next

* Browse connection health in [Integrations](/user-guide/integrations)
* Automate Discord or notifications with [Flows](/user-guide/flows)
* Action catalog: [Flows reference](/user-guide/flows-reference)
