# Setup and Configuration

### **Add a webhook Server**

Administrators can navigate to **CONFIGURE > Alerts > Network > Webhooks** to configure one or more Webhook Servers (HTTPS servers) to receive real-time event notifications from EnGenius Cloud.

Each webhook server requires:

* A server name
* A unique **HTTPS URL ( "TLS 1.2+" required)**
* An **optional** HMAC shared secret for payload signature verification
* A Payload Template that defines the webhook message format sent to the external system

Note:\
Payload Templates help transform webhook event data into predefined message formats for third-party applications. Instead of manually parsing and mapping raw JSON payloads, administrators can use templates to automatically format webhook messages based on integration requirements.

{% hint style="info" %}
For details about Payload Templates, please refer to the[ Payload Templates ](/webhook/payload-templates.md)section.
{% endhint %}

After a webhook server is added, administrators can:

* **Edit** webhook server configurations
* **Delete** webhook servers
* Send a **test webhook** request (AP Device Online) to verify webhook connectivity and configuration

{% hint style="info" %}
Note:\
Up to **30** webhook servers can be configured per organization.
{% endhint %}

<figure><img src="/files/Yt7FqkBjw8ibCpXgxWZJ" alt=""><figcaption><p>Add a Webhook server</p></figcaption></figure>

### **Subscribe Alerts for Webhook Notifications**

Administrators can configure specific alerts for each Webhook Server. When a subscribed event occurs, EnGenius Cloud automatically sends webhook notifications to the corresponding webhook servers for event delivery and integration with external systems.

### **Common JSON Parameters**

The table below describes the common JSON parameters used in webhook payload data.

{% hint style="info" %}
For detailed Webhook Sample Alerts and event payload examples, please refer [Webhook Sample Alerts](/webhook/webhook-sample-alerts.md) section.
{% endhint %}

<table><thead><tr><th width="198">Field</th><th width="153">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>sentAt</code></td><td>string</td><td>Time when the webhook was sent (<a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601 UTC timestamp</a>). Example: <code>2026-05-13T07:57:28.872Z</code></td></tr><tr><td><code>organizationId</code></td><td>string</td><td>Organization identifier</td></tr><tr><td><code>organizationName</code></td><td>string</td><td>Organization name</td></tr><tr><td><code>hierarchyviewId</code></td><td>string</td><td>Hierarchy identifier</td></tr><tr><td><code>hierarchyviewName</code></td><td>string</td><td>Hierarchy name</td></tr><tr><td><code>networkId</code></td><td>string</td><td>Network identifier</td></tr><tr><td><code>networkName</code></td><td>string</td><td>Network name</td></tr><tr><td><code>deviceSerial</code></td><td>string</td><td>Device serial number</td></tr><tr><td><code>deviceMac</code></td><td>string</td><td>Device MAC address</td></tr><tr><td><code>deviceName</code></td><td>string</td><td>Device name</td></tr><tr><td><code>deviceModel</code></td><td>string</td><td>Device model</td></tr><tr><td><code>deviceType</code></td><td>string</td><td>Device type</td></tr><tr><td><code>alertId</code></td><td>string</td><td>Unique alert identifier for this alert message, for example: <code>device_offline</code></td></tr><tr><td><code>alertType</code></td><td>string</td><td>Event type, such as “Device Offline” or “Switch Port Link Status Change”</td></tr><tr><td><code>alertLevel</code></td><td>string</td><td>Event severity level, such as <code>notice</code> or <code>warning</code></td></tr><tr><td><code>occurredAt</code></td><td>string</td><td>Time when the event occurred (<a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601 UTC timestamp</a>). Example: <code>2026-05-13T07:57:28.872Z</code></td></tr><tr><td><code>alertData</code></td><td>object</td><td>Object containing unique parameters for each alert. For detailed Webhook Sample Alerts, please refer here.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.engenius.ai/webhook/setup-and-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
