Every dashboard widget has a per-widget alert system that goes far beyond basic notifications. MQTT and Webhook outputs can trigger physical IoT devices — sirens, door controllers, digital signage, and more. Access widget alerts via the widget three-dot menu → Alerts.
Alert builder fields
Name | Descriptive label (e.g. "Occupancy Limit Reached", "Queue Critical") |
Type | Min value — fires when metric drops below threshold. Max value — fires when metric exceeds threshold |
Value | The numeric threshold that triggers the alert |
Reset threshold | Slider 0–50%. Hysteresis setting — the alert resets only when the value drops this percentage below the trigger point. Prevents alert flapping. Example: trigger at 200, reset at 10% = alert resets at 180 |
Enabled | Toggle on/off without deleting the alert rule |
The 6 action types
Visual
Displays an on-screen browser notification. Optional sound chime (Yes/No toggle). Use for staff monitoring dashboards on in-store screens where a silent visual alert is sufficient.
Sends an email to one or more addresses. Add multiple recipients with the + Add email button. Use for daily/weekly summaries, threshold breach logs, and manager notifications.
SMS
Instant text message to a phone number. Use for critical operational alerts where immediate attention is needed — fire door, occupancy limit, sensor failure.
WhatsApp message to a phone number. Use for teams where WhatsApp is the primary communication tool. Same immediacy as SMS with richer formatting support.
Webhook
Do not send on reset | Checkbox — suppresses the webhook call when the alert resets (only fires on trigger, not on recovery) |
HTTP Method | GET or POST |
URL | The endpoint to call. Add multiple URLs with the + button |
Use webhook to integrate with: Slack incoming webhook, Microsoft Teams, PagerDuty, IFTTT, Home Assistant, door controller APIs, BMS systems, or any custom HTTP endpoint.
MQTT
Topic | Unique MQTT topic string (e.g. |
Warning-at % | Percentage of threshold to send a pre-warning message before the full alert fires |
Status payload | The message payload published to the MQTT topic when alert fires |
Real-world IoT automation scenarios
Occupancy limit → siren
Set a Max value alert on a Live Inside widget. When occupancy exceeds the limit, Vemcount publishes to the MQTT topic. A Raspberry Pi subscribed to that topic activates a siren relay connected to its GPIO pins.
First visitor → door bell
Set a Min value = 1 alert on an entrance counter widget. Webhook fires a GET request to a Pi's local web server endpoint. Pi triggers a doorbell chime via relay.
Fire door opened → SMS
A door-open sensor detects the event. SMS action sends an instant notification to the security team phone number with the location name and timestamp.
Queue length → sliding door control
Set a Max value on a Live dwell/queue widget. When the queue exceeds the threshold, a Webhook POST is sent to the door controller API with an open/close command based on the threshold direction.
Wait time → WhatsApp to floor manager
Set a Max value on average wait time. When the wait exceeds N minutes, a WhatsApp alert is sent directly to the floor manager's phone. Resets automatically when the queue clears (using reset threshold to prevent flapping).
Digital signage update
Webhook continuously sends current occupancy or queue data to a screen controller API. The signage system receives the payload and updates the real-time display automatically.
Tip: Always set a reset threshold (10–20%) on MQTT and webhook alerts to prevent repeated firing and payload flooding when values hover near the threshold. The reset threshold acts as a hysteresis buffer — the alert only clears once the value moves meaningfully away from the trigger point.