> 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/helmutio/streams/io-event-triggers/custom_io.md).

# CUSTOM\_IO

The purpose of the Custom\_IO trigger is to initiate a stream based on sequence, composition, or project criteria. These streams can be executed via the 'Custom IO' menu in the [Helmut4 Panel](/helmut4-releases/helmut4-components/helmut4-panel.md).

It is not possible to create profiles for any Custom IO streams; hence, there are no job objects executable.

However, it is possible to trigger a job-based profile using the [Job Create Job Action](/helmut4-releases/helmut4-components/streamdesigner/nodes/actions/job-action/job-create-job-action.md) node, which can be implemented in the stream.

All created and available streams will be shown in the dropdown menu.

<figure><img src="/files/I9pC391gCCfITjwaTckl" alt=""><figcaption><p>Custom_IO menu in Helmut Panel</p></figcaption></figure>

### Stream assignment

[Custom\_IO](/helmut4-releases/helmut4-components/helmutio/streams/io-event-triggers/custom_io.md) and [Custom\_FX](/helmut4-releases/helmut4-components/helmutfx/streams/fx-event-triggers/custom_fx.md) streams need to be assigned to groups, as well as being enabled or disabled.&#x20;

{% hint style="info" %}
By default, assigning a stream to a new group equals assigning it to all groups.
{% endhint %}

<figure><img src="/files/6ZsBMEwPxXriXIyTjQ6c" alt=""><figcaption><p>Assign Custom IO stream to group</p></figcaption></figure>

<figure><img src="/files/BfT8BlsAFpgtdS8THrdM" alt=""><figcaption><p>Enable / disable CustomIO streams</p></figcaption></figure>

### Host Assignment / Limitation

{% hint style="warning" %}
This stream can be executed as a client (connected user) or server stream and ***cannot be assigned via a profile*** to another client.

Consequently, this means the stream cannot exceed a runtime of 60 seconds.
{% endhint %}
