# Sub-Workflows

Je mehr Aufgaben ein Workflow erfüllen muss, desto komplexer wird er. Um die Übersichtlichkeit zu verbessern, können einzelne Teile in Sub-Workflows ausgelagert werden. Dadurch bleibt der Haupt-Workflow übersichtlicher. Idealerweise sind Sub-Workflows so gestaltet, dass sie auch in anderen Workflows wiederverwendet werden können. Das spart Zeit und verhindert, dass gleiche Schritte mehrfach konfiguriert werden müssen.

{% hint style="info" %}
Ein Sub-Workflow kann einen anderen Sub-Workflow aufrufen.
{% endhint %}

Sub-Workflows werden in zwei Kategorien unterteilt:

* **Generic Sub-Workflows**
* **Linked Sub-Workflows**

## **Generic Sub-Workflows**

Generic Sub-Workflows können von jedem anderen Workflow aufgerufen werden. Sie sind flexibel, da sie mit Parametern arbeiten, die beim Aufruf mit Variablen verknüpft werden müssen. Um einen Generic Sub-Workflow aufzurufen, verwenden Sie das Plugin [Sub-Workflow ausführen](https://help.aiaibot.com/robot/plugins/diverse/sub-workflow-ausfuhren).

### **Parameter**

Die Parameter eines Generic Sub-Workflows werden im zugehörigen Connector definiert. Jeder Parameter besteht aus einem Namen und einem Datentyp. Diese Parameter stehen im Sub-Workflow als Event-Variablen zur Verfügung.

Wenn der Sub-Workflow den Wert einer Event-Variable ändert, wird diese Änderung automatisch in der zugeordneten Variable des aufrufenden Workflows übernommen.

## Linked Sub-Workflows

Linked Sub-Workflows sind fest mit einem bestimmten Haupt-Workflow verbunden und können ausschliesslich von diesem Workflow aus aufgerufen werden. Der Aufruf erfolgt ebenfalls über das Plugin [Sub-Workflow ausführen](https://help.aiaibot.com/robot/plugins/diverse/sub-workflow-ausfuhren).

Im Gegensatz zu Generic Sub-Workflows benötigen Linked Sub-Workflows keine eigenen Parameter. Stattdessen stehen im Sub-Workflow automatisch alle benutzerdefinierten Variablen sowie Event-Variablen des Haupt-Workflows zur Verfügung.

Ein Linked Sub-Workflow dient dazu, sehr spezifische Aufgaben des Haupt-Workflows abzutrennen, die nicht von anderen Workflows verwendet werden sollen oder können. Der Haupt-Workflow bleibt so übersichtlich und leicht verständlich.

### Erstellen eines Linked Sub-Workflows

Um einen neuen Linked Sub-Workflow zu erstellen, klicken Sie auf <img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FSTfk7NmPH9qDY9m6PxL9%2FScreenshot%202024-09-27%20at%2009.07.04.png?alt=media&#x26;token=6a8fb1af-ac2d-4e18-a3b7-a8d4d142a186" alt="" data-size="line"> am Ender der Zeile des gewünschten Workflows und wählen anschliessend *Linked Sub-Workflow erstellen* aus.

<figure><img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2Fv84tQ59GMsdzRtNINRUj%2Fsub-workflows-01.png?alt=media&#x26;token=3f6258d0-e3ac-4c21-9445-112099e93c56" alt="" width="563"><figcaption><p>Erstellen eines neuen Linked Sub-Workflows</p></figcaption></figure>

{% hint style="info" %}
Ein Linked Sub-Workflow kann nur aus dem Workflow heraus aufgerufen werden, für den er erstellt wurde.
{% endhint %}
