Workflows and visual builder
HERAIOT includes a dedicated visual workflow builder for creating complete automation and integration pipelines. The workflow experience is part of the HERAIOT Cloud interface: you manage flows, place components on a canvas, connect their ports, configure each step, and monitor the running result from one workspace.
Workflows are separate from the rule engine. A rule watches for a supported event, evaluates conditions, and runs an action. A workflow moves messages through any number of connected components, so it can transform data, branch, call services, publish messages, store state, and reuse the result in later steps.
What the HERAIOT workflow area provides
- A searchable workflow library with card and table views
- Create, edit, import, and delete operations
- Names, groups, references, versions, ownership details, colours, icons, and Markdown documentation for each workflow
- A custom node-based editor for arranging and connecting components
- A component catalog grouped by category
- Live node status and runtime statistics
- Pause and resume controls for operations and maintenance
- Tools for creating and downloading reusable components
Use Rules for a direct event-condition-action automation. Use Workflows when the process needs several steps, data conversion, branching, reusable components, or more than one external system.
Build a workflow
Create the workflow
Open Workflows and select Create workflow. Enter a clear name and choose an icon. You can also add a group, reference, version, author, URL, colour, and Markdown readme. These details make larger workflow libraries easier to search and maintain.
Open the visual editor
Open the new workflow to enter the HERAIOT node editor. The canvas represents the running message path. The component catalog provides the available building blocks, grouped by category and searchable by name.
Add the starting component
Choose a component that creates or receives the first message. Depending on the installed catalog, this might be a manual input, schedule, HTTP endpoint, MQTT subscription, device event, or another integration.
Connect components
Place the next component on the canvas and connect the first component’s output port to its input port. Connections control where a message travels. A component can have several inputs or outputs, allowing a workflow to split into different paths.
Configure and test each step
Open the component settings and provide the values it requires. Begin with a debug or print component so you can inspect the real message. Add transforms, conditions, storage, and external actions one at a time, checking the output after each change.
Save the design
Select Save after changing nodes, connections, positions, or configuration. Unsaved canvas changes are not part of the stored workflow definition.
Observe the running workflow
Watch node status and the live runtime indicators. The editor reports values such as processed messages, pending work, memory use, errors, and message rate. Use these signals to find the first component where processing stops or changes unexpectedly.
Components and message flow
Each component performs one focused operation. The exact catalog can differ between deployments because administrators can install or create components.
| Component family | Typical purpose |
|---|---|
| Inputs and triggers | Start a flow from a manual event, schedule, HTTP request, MQTT message, or device data |
| Transformations | Map fields, format payloads, filter values, delay processing, or combine messages |
| Conditions and routing | Choose an output path based on message values |
| Integrations | Make HTTP requests, publish MQTT messages, or connect HERAIOT with another service |
| Storage | Remember values or read and write supported data stores |
| Actions | Send data, notify another system, or control a connected service or device |
| Diagnostics | Print messages, expose failures, and verify intermediate output |
Read a component’s description and settings before connecting it. Components may require credentials, broker details, URLs, or other deployment settings.
Manage workflows
The workflow library lets you search flows and switch between card and table views. Each entry includes operational information such as its paused state, memory use, processed messages, pending messages, and message rate.
Pause a workflow before changing a live destination, credential, schedule, or device-control path. Resume it after saving and testing the new design. Deleting a workflow removes its stored definition and runtime, so export or document any configuration that must be retained first.
Import an existing workflow
Select Import workflow from the workflow library and provide the exported workflow definition. After import, open the visual editor and check every credential, URL, broker, topic, schedule, and device reference for the current workspace before starting it.
Imported definitions can contain executable components. Review the complete graph and keep the workflow paused until external actions have been verified.
Create a reusable component
Users with component-authoring access can create reusable building blocks from the workflow area. Define a unique name, description, category, settings, and every input and output port. Implement one focused operation and send results only through declared output ports.
Component code runs on the workflow server. Validate untrusted messages, keep secrets in protected deployment configuration, handle expected failures, and test the component in a small workflow with diagnostic output. Components can also be downloaded for review, backup, or transfer to another supported environment.
Workflows, rules, and downlinks
| Feature | Best fit |
|---|---|
| Rule | A supported event and condition should run a direct action |
| Downlink | An operator or supported automation must send a named MQTT or HTTP command to a device |
| Workflow | Data must pass through a visual, multi-step pipeline with transformations, branches, integrations, or reusable components |
A workflow can publish MQTT messages or make HTTP requests directly when the appropriate components are installed. A downlink adds device-specific command configuration, preview, and execution history. Choose the feature whose operational controls match the task.
Troubleshooting
If a workflow does not process messages:
- Confirm that the workflow is saved and not paused.
- Check that the editor has a live connection to the workflow service.
- Inspect the starting component and send a known sample message.
- Follow the connections and find the first node whose output is missing or different from the expected shape.
- Verify credentials, URLs, broker settings, topics, schedules, and device identifiers used by that node.
- Check pending-message, error, memory, and message-rate statistics for a blocked or repeating path.
Avoid unbounded loops. Any intentional loop should have an exit condition, retry limit, or rate limit so one message cannot create unlimited work.