Skip to content

Automations Workflow

Automations allow you to build event-driven workflows that execute automatically whenever entity records are created, updated, or when specific metric thresholds are breached.


1. Automation Architecture: Trigger → Condition → Action

Section titled “1. Automation Architecture: Trigger → Condition → Action”

Every automation rule consists of three core components:

flowchart LR
A["Event Trigger\n(Entity Created / Updated / Metric Ingested)"] --> B["Condition Evaluation\n(e.g. Cargo Temperature > 10°C)"]
B -->|Match True| C["Action Execution\n(Webhook / Telegram / Push)"]
  • On Entity Created: Fires immediately when a new entity is created under a specified template.
  • On Entity Updated: Fires whenever an entity record is modified.
  • On Attribute Changed: Fires when a specific dimension or metric attribute changes (e.g. when Cargo Temperature exceeds limit or Status changes from Operational to Pre-Failure).

Filter rule evaluation using logical operators:

  • Equals, Not Equals
  • Greater Than, Less Than, Greater or Equal, Less or Equal
  • Contains, Not Contains
  • Is Empty, Is Not Empty
  • Telegram Channel: Sends formatted messages to Telegram chats/groups via a bot.
  • Webhook Channel: Executes RESTful HTTP requests (POST, PUT, PATCH, GET, DELETE) with dynamic URL paths, query parameters, authorization headers (None, Bearer Token, Basic Auth), custom headers, and JSON body templates.
  • Push Notification Channel: Sends instant push notifications to team members’ Android mobile devices via Firebase Cloud Messaging (FCM).

  1. Navigate to Automation → Search.
  2. Click + Create Automation.
  3. Basic Settings: Enter a name (e.g., Cargo Overheat Alert) and select the target Template (e.g. Vehicle).
  4. Select Trigger: Choose On Attribute Changed and select Temperature.
  5. Add Conditions: Set rule Temperature Greater Than 10.
  6. Configure Action:
    • Select notification target channel (e.g. Omni Webhook).
    • For Webhooks:
      • Choose HTTP Method (PATCH).
      • Enter Endpoint URL template with dynamic variable placeholders (e.g., /entities/{entity.id}).
      • Optionally add Query Parameters (e.g., automation=true).
      • Configure JSON Payload Template for body requests.
  7. Click Save & Enable.

Automation builder screen showing trigger, condition, and action setup


3. Real-World Scenario: Cold-Chain Fleet Management Rules Engine

Section titled “3. Real-World Scenario: Cold-Chain Fleet Management Rules Engine”

Automations transform Omnismith into an active business rules engine. For example, in a cold-chain fleet management system tracking vehicles and shipments:

  • Template: Vehicle
  • Attributes: Temperature (Metric / Number), Vehicle Status (List Attribute / Dimension: Operational, Pre-Failure, Failure)
  • Goal: When a vehicle’s Temperature exceeds 10°C, automatically issue a PATCH webhook request to update the vehicle’s Vehicle Status attribute value to "Pre-Failure".
  • Channel Name: Omni Webhook
  • Webhook Base URL: https://api.omnismith.io/
  • Authorization Type: Bearer Token
  • Bearer Token: omni_0f61c1f023b24db0bb2d15ad71719b8694cc24f5
  • HTTP Method: PATCH
  • URL / Endpoint Path: /entities/{entity.id}
  • Payload Template (JSON):
    {
    "attribute_values": [
    {
    "attribute_id": "019fb43d-f9bf-7e9c-aa6d-175ab3a35e54",
    "value": "019fb43e-de74-7149-a92d-5448f16001bc",
    "updated_at": null
    }
    ]
    }

Supported dynamic template variables include: {automation.id}, {automation.name}, {entity.id}, {entity.template_id}, {values.<attribute_id>}, {previous.<attribute_id>}, and {timestamp}.


Under the Executions tab of any automation rule, you can inspect execution logs in real-time:

  • Success: Webhook delivered and accepted by destination API (e.g. HTTP 200/204).
  • Failed: Action failed (e.g. HTTP 405 Method Not Allowed, connection refused, or invalid auth). Inspect status codes and message details.
  • Partial Failure: Some target channels succeeded while others failed.