Skip to main content

How do I create a webhook?

This guide shows step by step how to create a webhook in KentixONE. You will learn which fields exist, when which option makes sense and how to send test data. For an overview of available variables, you will find a reference to the webhook reference below.

Prerequisites

  • Access to the KentixONE web interface with administrator rights
  • Target endpoint (URL) of the external service that should receive the request
  • Optional: Credentials for Basic Auth or a Bearer Token if your endpoint requires authentication

Overview

  • A webhook is an HTTP request that KentixONE sends to a URL defined by you when an event occurs (e.g. alarm, user action).
  • You request method (GET/POST/PUT/PATCH/DELETE), content type and the exact data content (payload).
  • Variables like alarm or user values can be inserted into the payload. KentixONE automatically replaces these variables when the webhook is sent.

Step-by-step guide

1. Open webhook overview

  • Navigate to: Configuration → Webhooks.
  • In the table you can see existing entries and create new webhooks.

2. Create new webhook

  • Click on "Create webhook".
  • Active: Enable the webhook if it should be usable immediately.
  • Name: Assign a meaningful name.
  • URL: Enter the complete target endpoint (https://...)

3. Choose HTTP method

  • Select the desired method.
  • Available options are POST, GET, PUT, PATCH, DELETE.
note

A POST request is commonly used to provide data to another webservice.

4. Configure authentication (optional)

  • No authentication: For freely accessible endpoints.
  • Basic Auth: KentixONE sends username/password in the Authorization header (Base64).
  • Bearer Token: KentixONE sends the token in the Authorization header.
info

The KentixONE SmartAPI uses Bearer Token authentication.

5. Set content type

  • Supported are text/plain, application/json or application/xml.
  • Choose the content type matching your target system.
info

For the KentixONE SmartAPI, content type application/json should be selected.

6. Define payload

Enter the body matching the content type. An example for JSON:

{
"eventId": "$ALARM_EVENT_ID$",
"sensor": "$ACTIVE_ALARM_SENSOR_NAME$",
"status": "$ACTIVE_ALARM_ALARM_VALUE$",
"value": "$ACTIVE_ALARM_MEASUREMENT_VALUE$",
"user": {
"id": "$USER_ID$",
"name": "$USER_FULLNAME$",
"mail": "$USER_MAIL$"
},
"timestamp": "$DATE_TIME$"
}
tip

A complete list of possible variables can be found in the user interface manual under Webhooks

7. Save and test

  • Save the webhook.
  • Use "Test webhook" to immediately send a sample request to your endpoint.
  • Check the response code and logs of your target system.
info

Successful requests usually return an HTTP response code in the 200 range.

8. Assign webhook

Now the webhook can be used as an event handler in the configuration masks of alarm groups and sensors (e.g. MultiSensors).

Tips & Tricks

  • Use test endpoints (e.g. webhook.site, Request Bin) during setup to easily check payload and headers.
  • Ensure proper escaping of quotation marks and special characters in the payload.
  • Include version hints in the name if you plan to extend the schema later (e.g. "Alarm Webhook v2").

Troubleshooting

ErrorPossible Cause
401 Unauthorized
403 Forbidden
Check authentication (Basic/Bearer) and permissions in the target system.
404 Not Found or TimeoutURL incorrect or target not reachable (Firewall/Proxy/DNS).
422 Unprocessable EntityDoes the Content-Type match the payload (e.g. JSON)?
Variables not being replacedUse exact syntax according to reference; replacement happens at runtime when triggered.

Glossary

TermDefinition
WebhookHTTP callback that sends data to an endpoint when events occur.
EndpointTarget address (URL) that receives requests.
Content-TypeIdentifies the data format of the body (e.g. application/json).
HeaderMetadata of an HTTP request (e.g. Authorization).
Payload/BodyRequest payload data.