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

# Webhooks

## Create Webhooks

{% stepper %}
{% step %}

### Open the Webhooks manager

Once you opened WGDashboard, you should see a new menu item in the navigation bar called **Webhooks** — click on it to open the webhooks manager.
{% endstep %}

{% step %}

### First time view

If it's your first time using it, you should see a blank page, which is normal. To create a new webhook, click the blue button in the top right corner.
{% endstep %}

{% step %}

### Fill in the form

* **Payload URL**: This is the URL WGDashboard will post to; it can be HTTP or HTTPS.
* **Content Type**: Choose how you want to receive data: JSON format, or URL-encoded format.
* **Verify SSL**: Applies only if your **Payload URL** is **HTTPS** — we strongly recommend keeping this on so we can make sure your data is not sent to bad people 😉
* **Custom Headers**: If your **Payload URL** requires extra headers (for example API Keys or a Bearer token), add them here.
* **Subscribed Actions**: Choose which event(s) you want to subscribe to. More actions may be added in the future.
* **Enable Webhook**: Choose whether to enable it after saving.
  {% endstep %}

{% step %}

### Save

Click **Save** and voila — your webhook is ready!
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Verify SSL is recommended when using HTTPS to ensure webhook payloads are delivered securely.
{% endhint %}

## Payload Example

json

```json
{
    "configuration": "Aa1",
    "peers": [
        "D2F7tP1sXbhT7ye2tl4aDoBk+tpiOZAvU4Jw8Jt3W0g="
    ],
    "action": "peer_created",
    "time": "2025-09-03 17:10:51",
    "webhook_id": "b1d5a1b1-b2e5-430d-a366-076a50300cdc",
    "webhook_session": "2d6d536d-2e7a-4382-9c20-339c68148cdc"
}
```

Webhook payloads will only expose public information; keys in `$.peers` are their public key.
