# Wie erstelle ich für Enginsight Alarme eigene Webhook-Payloads mit dynamischen Platzhaltern?

Webhooks bieten dir die Möglichkeit, Alarme mit Drittanbieter-Software zu verknüpfen, um Benachrichtigungen auch außerhalb der Enginsight Plattform, z.B. in einem Messenger oder externen Ticketsystem, erhalten zu können.

Dabei sendet Enginsight eine HTTP-Anfrage (typischerweise POST) an die angegebene Webhook-URL und übermittelt darin einen Payload, also einen spezifischen Inhalt, im JSON-Format.

{% hint style="success" icon="lightbulb-exclamation" %}
Mehr Informationen, wie du in der Enginsight Plattform einen Webhook erstellst, findest du im Enginsight Handbuch: [Webhook hinzufügen](https://docs.enginsight.com/docs/manual/bedienung-der-plattform/alarme/webhooks/webhook-hinzufugen).&#x20;
{% endhint %}

***

## Benutzerdefinierte Payloads mit dynamischen Platzhaltern

Du hast beim Hinzufügen eines Webhooks in der Enginsight Plattform die Möglichkeit, einen benutzerdefinierten Payload anzugeben, in dem du dynamische Platzhalter verwenden kannst.&#x20;

Beim Auslösen eines Alarms, für den ein Webhook definiert wurde, ersetzt Enginsight diese Platzhalter mit den tatsächlichen Werten, bevor die HTTP-Anfrage an die angegebene Webhook-URL gesendet wird.

### Verfügbare Platzhalter

Enginsight stellt folgende Platzhalter zur Verfügung:

<table><thead><tr><th width="353.01953125">Platzhalter</th><th width="89.0390625">Daten-Typ</th><th>Beschreibung</th></tr></thead><tbody><tr><td><code>alert_id</code></td><td>String</td><td>Eindeutige Kennung des Alarms</td></tr><tr><td><code>alert_name</code></td><td>String</td><td>Bezeichnung des Alarms</td></tr><tr><td><code>alert_severity</code></td><td>String</td><td>Dringlichkeit des Alarms</td></tr><tr><td><code>issue_id</code></td><td>String</td><td>Eindeutige Kennung des Vorkommnisses (Issue oder Incident), das durch den Alarm ausgelöst wurde</td></tr><tr><td><code>organisation_id</code></td><td>String</td><td>Eindeutige Kennung der Organisation, die der Alarm betrifft</td></tr><tr><td><code>organisation_name</code></td><td>String</td><td>Name der Organisation, die der Alarm betrifft</td></tr><tr><td><code>platform</code></td><td>String</td><td>URL, unter der die Enginsight Plattform aufgerufen werden kann</td></tr><tr><td><code>reference_conditions[x].groups['key']</code></td><td>String</td><td><p>Wert eines Felds in einem SIEM-Workflow:</p><ul><li><code>x</code> muss ein Integer-Wert sein</li><li><code>'key'</code> muss dem Feldnamen entsprechen, wie er im Workflow angegeben ist, z.B. <code>'gen.username'</code></li></ul><div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p><strong>Bitte beachte</strong>: Dieser Platzhalter ist ausschließlich für die Alarmart <strong>SIEM Workflow (Loggernaut)</strong> verfügbar.</p></div></td></tr><tr><td><code>reference_displayName</code></td><td>String</td><td>Anzeigename des Objekts, für das der Alarm gilt</td></tr><tr><td><code>reference_id</code></td><td>String</td><td>Eindeutige Kennung des Objekts, für das der Alarm gilt</td></tr><tr><td><code>reference_severity</code></td><td>String</td><td><p>Schweregrad eines SIEM-Workflows</p><div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p><strong>Bitte beachte</strong>: Dieser Platzhalter ist ausschließlich für die Alarmart <strong>SIEM Workflow (Loggernaut)</strong> verfügbar.</p></div></td></tr><tr><td><code>reference_type</code></td><td>String</td><td>Art des Objekts, für das der Alarm gilt</td></tr></tbody></table>

***

### Struktur eines Payloads mit Platzhaltern

Es müssen folgende Bedingungen erfüllt sein, damit Enginsight verwendete Platzhalter korrekt ersetzen und die HTTP-Anfrage an die Webhook-URL senden kann:

* Der Payload muss in gültigem JSON vorliegen.
* Platzhalter müssen in doppelte geschweifte Klammern `{{...}}` gesetzt werden, z.B. `{{alert_severity}}`.
* Wenn dein Zielsystem Strings erwartet, müssen die Platzhalter zusätzlich in doppelte Anführungszeichen `"{{...}}"` gesetzt werden, z.B. `"{{alert_severity}}"`.
* Wenn dein Zielsystem Zahlen oder Boolesche Werte erwartet, müssen die doppelten Anführungszeichen nur dann gesetzt werden, wenn dein Zielsystem zusätzlich auch Strings akzeptiert.

Die Namen der JSON-Keys selbst sind frei wählbar.

***

### Beispiele für benutzerdefinierte Payloads

In den folgenden Beispiel-Payloads gehen wir davon aus, dass du ein externes Ticketsystem verwendest. Dieses erwartet beim Erstellen eines Tickets für einen in der Enginsight Plattform ausgelösten Alarm den Wert **severity**.

Dies bedeutet, dass du in deinen benutzerdefinierten Payloads den Platzhalter `{{alert_severity}}` verwenden musst, um die Dringlichkeit eines ausgelösten Alarms mitzugeben oder den Platzhalter `{{reference_severity}}`, um den Schwergrad eines SIEM-Workflows mitzugeben.

#### Beispiel 1: Angabe der Dringlichkeit eines Alarms als eigenes Key-Value-Paar

<pre><code>{ 
<strong>"severity": "{{alert_severity}}", 
</strong>"alert_id": "{{alert_id}}", 
"title": "{{alert_name}}" 
}
</code></pre>

#### Beispiel 2: Angabe der Dringlichkeit eines Alarms innerhalb eines benutzerdefinierten Texts

<pre><code>{ 
"issue_id": "{{issue_id}}", 
<strong>"description": "Der Alarm {{alert_name}} hat den Schweregrad {{alert_severity}}." 
</strong>}
</code></pre>

#### Beispiel 3: Angabe des Schweregrades eines SIEM-Workflows&#x20;

<pre><code>{
"title": "{{alert_name}}",
<strong>"severity": "{{reference_severity}}",
</strong>"username": "{{reference_conditions[0].groups['gen.username']}}",
"hostname": "{{reference_conditions[0].groups['gen.hostname']}}"
}
</code></pre>

***

## Standard-Templates für Webhook-Payloads

Wenn du keinen vollständig benutzerdefinierten Payload angeben möchtest, kannst du auch eines der Standard-Templates nutzen und JSON-Keys sowie dynamische Platzhalter entsprechend ergänzen.

{% hint style="success" icon="lightbulb-exclamation" %}
Mehr Informationen, welche Standard-Templates für Webhook-Payloads es gibt, findest du in der Knowledge Base: [Welche Standard-Templates für Webhook-Payloads gibt es bei Enginsight Alarmen?](/docs/knowledge-base/alarme/welche-standard-templates-fur-webhook-payloads-gibt-es-bei-enginsight-alarmen.md)
{% endhint %}


---

# 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://docs.enginsight.com/docs/knowledge-base/alarme/wie-erstelle-ich-fur-enginsight-alarme-eigene-webhook-payloads-mit-dynamischen-platzhaltern.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.
