# Workflows

<figure><img src="https://534317722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa7nDlxyw1xkeHi7FnWgm%2Fuploads%2FS1HrqhLuPL31eEmocS8p%2Fimage.png?alt=media&#x26;token=9ebf0559-4a40-4583-a2c8-3a9281784ddd" alt=""><figcaption></figcaption></figure>

Im **Menüpunkt Workflows** kannst Du **eigene**, **individuell** angepasste **Abläufe** definieren. Diese benutzerdefinierten Workflows ermöglichen es Dir, Prozesse zu **automatisieren**, die von den Standardabläufen in VARIO Cloud abweichen. So kannst Du das System optimal an die Anforderungen und Arbeitsweise **Deines Unternehmens** anpassen und Deine Arbeit mit der VARIO Cloud noch **effizienter** gestalten.

Hier die Vorteile von Workflows für Dein Unternehmen im Überblick:

* **Zeitersparnis:** Automatisierung von Routinetätigkeiten reduziert manuellen Aufwand.
* **Fehlerreduktion:** Standardisierte Abläufe minimieren Eingabefehler.
* **Compliance:** Geschäftsregeln werden automatisch eingehalten.
* **Skalierbarkeit:** Prozesse wachsen flexibel mit dem Unternehmen mit.
* **Intuitive Bedienung:** Workflows werden grafisch erstellt statt mit komplexe Programmierung.
* **Nahtlose Integration:** Direkt in VARIO Cloud eingebunden, keine externen Workflow-Tools erforderlich.
* **Echtzeit-Debugging:** Fehler werden präzise angezeigt und lassen sich sofort analysieren und beheben.
* **Individuelle Abläufe:** Workflows lassen sich exakt auf eigene Prozesse zuschneiden – keine starren Standardlösungen.

Einmal eingerichtet, laufen die meisten Workflow-Abläufe unauffällig **im Hintergrund**. Dadurch fügen sie sich **nahtlos** in bestehende Abläufe ein und sind im täglichen Einsatz kaum von systemseitigen Prozessen zu unterscheiden.

{% hint style="danger" %}

#### JavaScript-Kenntnisse erforderlich

Für das Erstellen und Bearbeiten von Workflows sind Kenntnisse in der Programmiersprache **JavaScript** erforderlich. Die **Workflows greifen direkt in die Abläufe von VARIO Cloud** **ein** – **fehlerhafte** Workflows können daher zu unerwünschtem Verhalten oder Störungen im System führen. Prüfe Deine Workflows daher sorgfältig, bevor Du sie aktivierst.&#x20;

Mithilfe der integrierten **Protokolle und** **Logs** zu den Workflows lassen sich solche Fehler zwar nachvollziehen, dennoch ist **technisches Verständnis erforderlich,** um sie gezielt zu beheben.
{% endhint %}

Über **“+ Workflow”** kannst Du einen neuen Workflow anlegen. Bestehende Workflows lassen sich über das Aktionsmenü auch als **JSON-Datei importieren**.

<figure><img src="https://534317722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa7nDlxyw1xkeHi7FnWgm%2Fuploads%2FlI2TWgJ72RQO98RGf7y3%2Fimage.png?alt=media&#x26;token=5f1b65cb-4801-4c5b-b373-ce03d23154d9" alt="Menüpunkt Workflows"><figcaption></figcaption></figure>

## **Synchrone und Asynchrone Workflows** <a href="#synchrone-und-asynchrone-workflows" id="synchrone-und-asynchrone-workflows"></a>

Bevor Du Deinen ersten Workflow erstellst, ist es wichtig, den Unterschied zwischen den beiden verfügbaren Varianten zu kennen: **synchrone** und **asynchrone Workflows**.

Welche Variante verwendet wird, hängt vom **Workflow-Auslöser** ab, den Du beim **Anlegen des Workflows** festlegst. Je nach Variante stehen Dir **unterschiedliche Workflow-Elemente** zur Verfügung.

{% hint style="info" %}

#### Zusammengefasst:

* **Synchrone Workflows** werden direkt im Kontext einer Benutzeraktion ausgeführt (z. B. beim Synchronisieren eines Belegs) und können den weiteren Arbeitsablauf beeinflussen.
* **Asynchrone Workflows** laufen zeitlich unabhängig im Hintergrund und eignen sich z. B. für automatisierte Prüfungen oder Benachrichtigungen.
  {% endhint %}

Wie Du den passenden **Workflow-Auslöser** auswählst, erfährst Du auf der **Seite** “[**Workflow anlegen**](https://help.vario-software.de/vario-cloud-handbuch/system/workflows/workflows-erstellen)“.

### Synchrone Workflows <a href="#synchrone-workflows" id="synchrone-workflows"></a>

Ein **synchroner Workflow** wird direkt im Rahmen einer Benutzeraktion ausgeführt – z. B. beim **Speichern eines Datensatzes**. Der Datensatz wird in diesem Fall **erst gespeichert**, wenn der gesamte Workflow vollständig durchgelaufen ist.

Während der Ausführung kann es zu kurzen **Wartezeiten** kommen. Der aktive Workflow wird durch eine **Hinweismeldung** im System angezeigt, und die Änderungen, die durch den Workflow vorgenommen werden, erscheinen **sofort** im geöffneten Datensatz.

Verwende synchrone Workflows überall dort, wo Daten **unmittelbar** geprüft oder Folgeprozesse **im gleichen Dialog** gestartet werden sollen.

**Merksatz:** Synchron = “**blockierend**” – der Workflow wird **innerhalb der Benutzeraktion** ausgeführt und hält den Vorgang an, bis diese abgeschlossen ist.

<details>

<summary><mark style="color:$primary;"><strong>Beispiel:</strong></mark> Synchronen Workflow</summary>

Ein Anwendungsfall für einen **synchronen Workflow** ist die **automatische Prüfung und Erstellung eines Deals** beim Speichern eines Angebots.

Dabei läuft der Workflow wie folgt ab:

* **Existiert bereits einen Deal**, wird das Angebot wie gewohnt gespeichert.
* **Existiert keinen Deal**, legt der Workflow automatisch einen neuen Deal an, bevor der Speichervorgang abgeschlossen wird.

Da es sich um einen **synchronen Workflow** handelt, wird das Angebot **erst gespeichert**, wenn die Prüfung abgeschlossen und ggf. der neue Deal erstellt wurde. Der Benutzer kann erst dann **mit der Arbeit fortfahren**, wenn der gesamte Workflow erfolgreich **beendet** ist.

</details>

Ein Workflow wird **synchron** ausgeführt, wenn er mit einem der folgenden **Auslöser** angelegt wird:

* Vor dem Speichern von:
  * Adressen
  * Aktivitäten
  * Aufgaben
  * Deals
  * Projekten
  * Preise (unter Adressen/Verkaufspreise und Einstellungen/Adressen/Preise)
* Bei Synchronisierung von Belegen

### Asynchrone Workflows

Ein **asynchroner Workflow** wird **nicht sofort** im Rahmen einer Benutzeraktion ausgeführt, sondern **nachgelagert**. Erst wenn die ursprüngliche Aktion abgeschlossen ist, startet der Workflow im **Hintergrund** – während der Benutzer bereits weiterarbeiten kann.

Im Gegensatz zu synchronen Workflows entstehen hier **keine Wartezeiten**. Änderungen, die durch den Workflow vorgenommen werden, sind daher erst **nach dessen Abschluss** sichtbar. Falls gewünscht, kann der Benutzer über eine **im Skript** definierte **Hinweismeldung** informiert werden.

Verwende asynchrone Workflows für **ressourcenintensive**, **zeitaufwändige** oder **optionale Aufgaben**, um den Arbeitsfluss nicht zu unterbrechen.

**Merksatz:** Asynchron = “**hintergründig**” – die Benutzeraktion ist sofort abgeschlossen, der Workflow übernimmt den Rest im Nachgang.

<details>

<summary><mark style="color:$primary;"><strong>Beispiel:</strong></mark> Asynchronen Workflow</summary>

Ein Anwendungsfall für einen **asynchronen Workflow** ist die automatische Erstellung eines Deals beim Speichern eines Angebots – unabhängig davon, ob bereits ein Deal zum Angebot existiert.

Der Ablauf sieht wie folgt aus:

* Das Angebot wird **sofort gespeichert**, ohne Verzögerung für den Benutzer.
* Im Anschluss wird im **Hintergrund** ein Workflow gestartet, der automatisch einen neuen Deal anlegt.
* Der Benutzer kann währenddessen **direkt weiterarbeiten**.
* Optional informiert eine **Hinweismeldung**, die im Workflow integriert ist, über die erfolgreiche Erstellung des Deals.

</details>

Ein Workflow wird **asynchron** ausgeführt, wenn er mit einem der folgenden **Auslöser** angelegt wird:

* Nach dem Speichern von:
  * Adressen
  * Aktivitäten
  * Aufgaben
  * Belegen
  * Deals
  * Projekten
  * Preise (unter Adressen/Verkaufspreise und Einstellungen/Adressen/Preise)
* Bei Beginn der Bearbeitung von Belegen
* Bei Erstellung von Belegen
* Vor dem Speichern von Belegen
* Übernahme von Belegen
* Dokumentreferenz nach Änderung (z. B. bei der Verknüpfung eines Belegs mit einer Aufgabe)
* Dateianalyse abgeschlossen

### Wann sollte ich welchen Workflow-Typ auswählen?

<table><thead><tr><th width="514">Entscheidungskriterien</th><th width="111" align="center">Synchron</th><th width="120" align="center">Asynchron</th></tr></thead><tbody><tr><td>Benutzerrückmeldung muss sofort sein? (z. B. Validierung, Pflichtfeldprüfung)</td><td align="center">✅</td><td align="center">❎</td></tr><tr><td>Längere Hintergrundlogik (z. B. Angebotsprüfung durch mehrere Regeln)</td><td align="center">❎</td><td align="center">✅</td></tr><tr><td>Direkter Datenzugriff anderer Prozesse nötig? (z. B. Folgeereignis im selben Fenster)</td><td align="center">✅</td><td align="center">❎</td></tr><tr><td>Performance wichtig, Benutzer soll ohne Unterbrechung weiterarbeiten können?</td><td align="center">❎</td><td align="center">✅</td></tr></tbody></table>

{% hint style="info" icon="chart-bullet" %}

#### Im direkten Vergleich:

**Synchron:** Workflow läuft **innerhalb** der Aktion -> Kurze Wartezeit, sofortige Ergebnisse

**Asynchron:** Workflow läuft **nach** der Aktion **im Hintergrund** -> Keine Wartezeit, Ergebnis erscheint später
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.vario-software.de/vario-cloud-handbuch/system/workflows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
