> For the complete documentation index, see [llms.txt](https://vampauth.gitbook.io/vampauth-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vampauth.gitbook.io/vampauth-docs/integrations/webhooks.md).

# Webhook notifications

Use Discord webhooks to send project events to a channel. You can configure up to five per project.

1. Create a webhook in the destination Discord channel.
2. Add its URL in the project’s Discord/webhook settings.
3. Give it a label and choose its events.
4. Select a loader for loader-context events.
5. Send a test and inspect delivery status.

URLs are write-only in normal responses; you see a masked URL rather than the secret endpoint. A preview shows an example, not a live Discord delivery.

## Loader assignment

A webhook with no loader assigned receives no loader-context events. Events without loader context, such as dashboard key changes and checkpoint completions, remain project-wide. Check this first when tests arrive but loader events do not.

## Events

| Event                        | Meaning                                                |
| ---------------------------- | ------------------------------------------------------ |
| key.created                  | A key was issued                                       |
| key.renewed                  | A completed flow renewed an existing key               |
| key.deleted                  | A key was deleted                                      |
| key.banned / key.unbanned    | A key’s ban state changed                              |
| hwid.bound                   | A loader admission bound an unbound key                |
| hwid.reset                   | A binding was cleared                                  |
| hwid.banned / hwid.unbanned  | Hardware-ban state changed                             |
| loader.execution             | Payload was delivered; not proof every script line ran |
| loader.first\_run            | First payload delivery for a key                       |
| loader.denied                | Loader access was denied                               |
| loader.compat                | A run reported degraded optional executor features     |
| checkpoint.session.created   | A checkpoint flow started                              |
| checkpoint.session.completed | A flow finished and issued or renewed access           |

High-frequency notifications can be throttled/aggregated. loader.execution is off by default on a new webhook and is aggregated over a 60-second window. Don’t treat message count as an exact execution counter.

## Appearance and details

Choose compact/full detail, timestamps, fields, footer/branding, and per-event styles. IP inclusion is off by default. Discord association enrichment is optional. Branding controls can apply or revert the webhook’s Discord name/avatar.

These are Discord notification embeds, not a generic signed JSON event-delivery API. The v2 management API has no webhook-management endpoint; use the dashboard.

## Next steps

* [Checkpoint and Discord problems](/vampauth-docs/troubleshooting/checkpoint-and-discord.md)
* [Scripts, webhooks, and media routes](/vampauth-docs/api-reference/browser-routes/scripts-and-webhooks.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://vampauth.gitbook.io/vampauth-docs/integrations/webhooks.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
