Efento Cloud – webhooks integration

This guide explains how to use Efento Cloud webhooks to deliver rule-based notifications directly to your application in real time. By integrating webhooks, you can automatically trigger custom workflows, log events, or alert your team whenever specific conditions are met in Efento Cloud. This seamless automation improves operational efficiency, reduces manual monitoring, and ensures your systems respond instantly to important environmental or device changes.

Before You Start

To configure and use Efento Cloud webhooks, you’ll need the following:

  • An application capable of receiving incoming webhooks, parsing their content, and responding with a 201 status code to each received message.

  • An Efento Cloud account with Administrator permissions for the selected organisation.

Efento Cloud Configuration

1. Create a New Webhook

  1. In the left-hand menu, go to Settings (gear icon) → Organization settings.

  2. Navigate to the Integrations tab.

  3. In the Webhook section, click Add Webhook.

  4. Enter the Webhook name and URL.

    • (Optional) To use custom headers for webhooks sent by Efento Cloud, check Use custom headers and add the desired header names and values (up to 5 headers).

  5. Click Test connection.

    • If the setup is correct, a ✅ checkmark will appear next to the button.

    • If the test fails, verify that:

      • The webhook URL is correct.

      • All required headers are properly configured.

      • Your application responds with the correct HTTP status code (201).

  6. Once successful, click Add Webhook to save your configuration.

2. Enable Webhooks for Selected Rule(s)

  1. Go to Settings (gear icon) → Rules and notifications.

  2. Select or create a rule, configure its parameters, and click Next.

  3. Choose the sensors or locations the rule will apply to, then click Next.

  4. In the Notifications section, click Connect integration.

  5. From the Integration dropdown, select Webhook, then choose the name of the webhook integration you created earlier.

  6. Click Connect Integration and save your changes.

Once configured, any time the rule is triggered, Efento Cloud will automatically send a webhook notification to your specified URL.

Payload

The payload of webhook messages is send as JSON, structured as below:

{

   "createdAt": "2023-04-25 09:07:00",

   "neutralizedAt": null,

   "organizationName": "Test_org",

   "locationName": "Test",

   "ruleName": "test_above",

   "ruleCondition": "MORE_THAN",

   "ruleParameters": ["TEMPERATURE"],

   "ruleType": "MEASUREMENT_MEASUREMENT_POINTS",

   "deviceSerialNumber": "FFFFFFFFFF",

   "webhookReminderCounter": 0, 

   "alertId": 1, 

   "resourceInfo":{

"id": 1,

"name": "Test integration for https://example.com",   

"type": "MEASUREMENT_POINT" 

   },

   "details": [

{"key": "channelNumber", "value": "1" },

{"key": "triggeringMeasurement", "value": "10" },

{"key": "revokingMeasurement", "value": "10" },

{"key": "thresholdValue", "value": "10" } 

   ]

}
createdAt Timestamp (UTC) when the alert was triggered (e.g. measurement received by the platform was over the threshold; sensor was lost)
neutralizedAt Timestamp (UTC) when the alert was deactivated (e.g. measurement received by the platform got back below the threshold; sensor started sending the data to the platform again). If the webhook was triggered by meeting the rule’s condition, this field has ‘null’ value.
organizationName Name of the Organisation in Efento Cloud in which the rule is configured
locationName Name of the location in which the measurement point is located
ruleName Name of the rule in Efento Cloud
ruleCondition Rule condition. Available values:

  • more_than – measured value is over the set threshold
  • less_than – measured value is below the set threshold
  • occurred – binary sensor changed its state or low battery / lost rule condition is met
ruleParameters Type of the measurement. Available values: TEMPERATURE, HUMIDITY, ATMOSPHERIC_PRESSURE, DIFFERENTIAL_PRESSURE, ALARM, WATER_METER, ELECTRICITY_METER, PULSE_COUNTER, LOST, LOW_BATTERY, IAQ, FLOODING, SOIL_MOISTURE, CO_GAS, NO2_GAS, H2S_GAS, AMBIENT_LIGHT, PM_1_0, PM_2_5, PM_10_0, NOISE_LEVEL, CH4_GAS, NH3_GAS, HIGH_PRESSURE, DISTANCE_MM, WATER_METER_ACCUMULATIVE, CO2_GAS, STATIC_IAQ, CO2_EQUIVALENT, BREATH_VOC, PERCENTAGE, VOLTAGE, CURRENT, PULSE_COUNTER_ACCUMULATIVE, ELECTRICITY_METER_ACCUMULATIVE
ruleType Type of the rule. Available values: LOST_MEASUREMENT_POINTS, LOW_BATTERY_MEASUREMENT_POINTS, MEASUREMENT_MEASUREMENT_POINTS, LOST_GATEWAYS, POWER_SUPPLY_SOURCE_CHANGE_GATEWAYS, LOW_BATTERY_GATEWAYS
deviceSerialNumber Serial number of the sensor assigned to the measurement point
webhookReminderCounter This field shows the number of times a webhook has been repeated. If webhook repetition was enabled during rule configuration, this value increases with each repetition.
alertId Unique ID of an alert
resourceInfo Details about the measurement point / gateway that triggered the rule. id – unique identifier of the measurement point / gateway in Efento Cloud, name – name of the measurement point / gateway in Efento Cloud, type – type of the device – sensor (MEASUREMENT_POINT) or gateway (GATEWAY).
details This section details alarm information, including the channel number of the measurement point that triggered the alarm(channelNumber), the measurement value that triggered it (triggeringMeasurement), the threshold value (thresholdValue), and the measurement value that revoked the alarm (if the webhook was triggered by meeting the rule’s condition, this field has ‘null’ value (revokingMeasurement).

Additional Information

  • You can reuse a single webhook integration across multiple rules. Simply assign the same connection to different rules — when any of them is triggered, the same webhook endpoint will receive the notification.

  • Efento Cloud will automatically disable a webhook if the server fails to respond to five consecutive messages.

    • To re-enable it, go to Settings → Organization settings → Integrations → Webhooks, and toggle the webhook back on.


        [socials goes here]