> For the complete documentation index, see [llms.txt](https://docs.helmut.de/helmut4-releases/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.helmut.de/helmut4-releases/helmut4-components/streams.md).

# Streaming Engine

## Workflows - the easy way

Helmut4 is driven by a specially crafted streaming engine, visualized in the [Stream Designer](/helmut4-releases/helmut4-components/streamdesigner.md) as a node-based workflow editor.

This "low-code" approach enables users to quickly dive into Helmut4 and create [their own workflows](/helmut4-releases/getting-started/overview/helmut4-modules.md).

With over 36 [conditions](/helmut4-releases/helmut4-components/streamdesigner/nodes/conditions.md), 259 [actions](/helmut4-releases/helmut4-components/streamdesigner/nodes/actions.md), and 7 [output](/helmut4-releases/helmut4-components/streamdesigner/nodes/outputs.md) nodes, users have the flexibility to construct any desired workflow.

Each node concludes with a true/success or false/fail path, enabling the adaptation of the workflow and the creation of fail-case conditions without requiring a master's degree in programming.

<figure><img src="/files/Vu9Y28h692WtSsrrrvnH" alt=""><figcaption><p>Example stream in stream designer</p></figcaption></figure>

### Stream Execution and Timeouts

By default, every stream has a maximum runtime of **60 seconds**. This limit is intended to stop streams that may have entered a hanging state or are simply taking too long to complete.

This timeout can significantly affect **FX streams**, as it may cause stream and job information to be collected only partially. As a result, project datasets may be incomplete.

For **IO, CO, and HK streams**, the execution time can be extended beyond the default limit. For details, refer to the following node: [Split Stream Action](/helmut4-releases/helmut4-components/streamdesigner/nodes/actions/misc-21/split-stream-action.md) Node

***

### Stream Host Assignment

Streams can generally be assigned to either the **client** (the local machine, such as Windows or macOS) or the **server** (**Helmut4 Server**).

For **FX streams**, using the **server** as the primary host assignment is recommended. This is especially useful in environments where network permissions restrict normal users from accessing certain resources.

For **IO, CO, and HK streams**, the **client** should always be used. The client host can be defined either in the **profile** or through the [Job Create Job Action](/helmut4-releases/helmut4-components/streamdesigner/nodes/actions/job-action/job-create-job-action.md) node.
