WebHook Server

WebHook Server

ID: uniflow.plugin.webhook Category: Web & Messaging Services Version: v1.3.0 Min Uniflow Version: Uniflow ≥ v1.4.0

WebHook Server Plugin Reference Manual

1. Overview

Plugin Name: WebHook Server

Type: Generic Protocol

Identifier: uniflow.plugin.webhook

Description

Receive data from external systems via HTTP webhooks.


2. Technical Architecture

The WebHook Server plugin embeds a lightweight HTTP/HTTPS web listener. It processes incoming HTTP POST and PUT requests, performs API key validation (X-API-Key header) and client IP whitelisting filters, handles HMAC signature validation, and parses JSON/XML body parameters into catalog telemetry event streams.

System Interaction & Exposed Catalog Routes

The WebHook Server plugin hosts an embedded HTTP server listening on configured path routes. It validates incoming HTTP POST payloads, checks authorization headers and HMAC signatures, and converts request JSON into Uniflow events.

Catalog Routes & Node Integration

Input Event Triggers (Input Nodes):

  • webhook.payload_received - Emitted when a valid webhook payload arrives.
  • webhook.endpoint_hit - HTTP endpoint hit notification.
  • webhook.auth_failed - Emitted on HMAC/Auth signature mismatch.
  • Executable Actions (Action Nodes):

  • webhook.send_custom_response - Customizes the HTTP response code/body.
  • webhook.enable_endpoint - Enables a webhook path route.
  • webhook.disable_endpoint - Disables a webhook path route.
  • Architecture Diagram

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...

    3. Configuration Parameters

    The following configuration fields are available in the User Interface for this plugin:

    Configuration SettingDescription
    Listening PortNumeric value specifying the listening port.
    PFX Certificate PathSpecifies the pfx certificate path.
    Certificate PasswordSpecifies the certificate password (secure).
    API Key (X-API-Key Header)Specifies the api key (x-api-key header).
    Allowed IPs (semicolon separated)Specifies the allowed ips (semicolon separated).
    Enable SSL (HTTPS)Toggle to enable or disable enable ssl (https).

    4. Exposed Routes & Data Types

    This plugin exposes catalog fields across the following rule graph nodes:

    Input Source

    The Input Source node reads continuous telemetry data and state values parsed from configured HTTP webhook endpoints.

    Human-Readable Field NameData TypeDescription
    Configured Webhook Point  String` / `Json` / `Double` / `Int32` / `Bool
    Live value parsed from inbound HTTP POST/PUT payload for a specific configured route point.

    Event Input

    The Event Input node listens for real-time asynchronous webhook event notifications emitted upon HTTP request arrival.

    Human-Readable Field NameData TypeExposed Event Fields & Data TypesDescription
    Webhook Request Received  Event Object
    Payload (String / Json)
    Sender IP (String)
    Timestamp (DateTime)
    Real-time event triggered whenever a valid HTTP POST/PUT webhook request is received by the server.

    5. Usage Examples

    Scenario A: Incoming Cloud Access Webhook Payload Triggers Modbus Gate Barrier & Milestone Bookmark

    Workflow Overview:

    When an external cloud access control system sends an HTTP POST webhook request to /api/access/gate (webhook.payload_received), Uniflow validates the X-API-Key header, parses the JSON payload (event: ACCESS_GRANTED), and executes two actions:

    1. Writes a Modbus TCP coil (Coil 1 = True) to pulse open the vehicle gate barrier relay.

    2. Triggers a video bookmark in Milestone XProtect.

    Rule Node Configuration:

    1. Event Input Node: Webhook Request Received

  • Route Endpoint: /api/access/gate
  • Exposed Fields: Payload (Json), Sender IP (String)
  • 2. Logic Filter Node: JSON Path & Equal

  • Path Extraction: $.event (String)
  • Evaluation: $.event == "ACCESS_GRANTED"
  • 3. Output Target Node A: Modbus Client Writer

  • Action Target: Direct Access
  • Type: Coils
  • Address: 1
  • Value: True
  • 4. Output Target Node B: Milestone XProtect

  • Action Target: Milestone Trigger Event
  • EventSourceGuid: GATE-CAM-01_GUID
  • Tag: Access Granted Webhook
  • Logic Flow Diagram:

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...

    Scenario B: Third-Party Security Webhook Dispatches MQTT Alert Message

    Workflow Overview:

    Upon receiving a third-party security webhook request on /api/sec/alert with payload (severity: HIGH), Uniflow reformats the event data and publishes an MQTT alert topic (security/webhook/alerts) with QoS 1 to notify cloud subscribers.

    Rule Node Configuration:

    1. Event Input Node: Webhook Request Received

  • Route Endpoint: /api/sec/alert
  • Exposed Fields: Payload (Json)
  • 2. Logic Condition Node: Equal

  • Evaluation: $.severity == "HIGH"
  • 3. Output Target Node: MQTT Client Publisher

  • Action Target: Direct Access
  • Topic: security/webhook/alerts
  • Payload: Raw JSON payload
  • QoS: 1
  • Logic Flow Diagram:

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...
    Architecture Flow Diagram — Full Preview