Virtuelle Bedingungen

Zuletzt aktualisiert 23 May 2026

Eine virtuelle Bedingung als Entscheidung mit einem linken Token, einem Operator und einem rechten Wert, die den Workflow in einen Ja- und einen Nein-Pfad verzweigt

Eine virtuelle Bedingung ist einer der vier Entscheidungstypen in Workflows. Sie ist diejenige, die Sie in Workflows für dynamische Endpunkte (und andere virtuelle Entitäten) verwenden, denn dort gibt es keine gespeicherten Datensatzfelder zum Filtern, nur die Daten im __data-Notizblock und den Body der eingehenden Anfrage.

Was sie macht

Eine virtuelle Bedingung vergleicht einen Wert, den Sie angeben, mit einem anderen Wert über einen Operator und leitet den Datensatz in den Ja- oder Nein-Zweig. Die Werte werden als Flexie Scripting-Token geschrieben, sodass sie aus den Live-Daten im Moment des Workflow-Laufs ermittelt werden.

„Wenn der eingehende invoice_amount größer als 1000 ist, wird der Ja-Zweig genommen."

{{ __data.invoice_amount }}   greater than   1000   →  Yes / No
        (left value)          (operator)    (right value)

Der linke Wert ist meist ein Token, das auf eingehende Daten zeigt ({{ __data.invoice_amount }}, {{ __data.webhook.status }}); der rechte Wert ist das, womit Sie vergleichen, ein fester Wert oder ein weiteres Token.

LINKS {{ __data.amount }} OPERATOR greater RECHTS 1000 If Ja Nein Priorisierter Deal Lieferleitung benachrichtigen, Premium-Willkommensmail Standard-Deal normal einreihen, Standard-Willkommensmail

Der vollständige Operatorkatalog

Operator Wahr, wenn…
equal / not_equal Die beiden Werte stimmen überein / stimmen nicht überein
greater / greater_or_equal Links ist größer (oder gleich)
less / less_or_equal Links ist kleiner (oder gleich)
greater_than_now / less_than_now Ein Datumswert liegt nach / vor dem aktuellen Zeitpunkt
between Links fällt in einen Bereich (Sie geben zwei Endpunkte an)
contains / not_contains Text enthält / enthält nicht eine Zeichenfolge
begins_with / not_begins_with Text beginnt / beginnt nicht mit einem Wert
ends_with / not_ends_with Text endet / endet nicht mit einem Wert
is_empty (auch empty) Der Wert ist leer oder null
is_not_empty (auch not_empty) Der Wert ist vorhanden

Zwei Namen für dieselbe Sache. is_empty und empty werden zur Laufzeit als derselbe Operator akzeptiert, ebenso is_not_empty und not_empty. Der Builder listet die Kurzform; KI-generierte Definitionen verwenden manchmal die Langform. Beide funktionieren.

Wie Werte verglichen werden, wichtige Regeln

  • Zahlen werden als Zahlen verglichen. 10000 ist größer als 5000. Flexie vergleicht numerische Zeichenfolgen nicht Zeichen für Zeichen (was fälschlicherweise "10000" kleiner als "5000" machen würde, weil '1' < '5').
  • Datumsangaben werden als Daten verglichen. Eine Datumszeichenfolge wie 2026-05-23 wird erkannt und chronologisch verglichen. Unterschiedliche Datumsformate werden auf denselben Zeitpunkt normalisiert.
  • Text wird unter Beachtung der Groß-/Kleinschreibung verglichen. "Ping" ist nicht gleich "ping". Wenn Sie einen Vergleich ohne Beachtung der Groß-/Kleinschreibung benötigen, schreiben Sie beide Seiten mit dem lower-Filter klein: {{ __data.type | lower }} gegen "ping".
  • Token werden vor dem Vergleich aufgelöst. Die Werte innerhalb von {{ … }} werden zuerst berechnet, sodass Sie in beide Operanden jeden Flexie Scripting-Ausdruck setzen können, einschließlich Funktionen und Filtern.

Eine erstellen

Fügen Sie im Workflow-Builder eine Entscheidung hinzu und wählen Sie den Typ virtuelle Bedingung. Dann:

  1. Linker Wert: das auszuwertende Token, z. B. {{ __data.invoice_amount }} oder {{ __data.webhook.status_code }}.
  2. Operator: aus der obigen Liste.
  3. Rechter Wert: womit verglichen werden soll (ein Literal wie 1000 oder ein weiteres Token).
  4. Verbinden Sie die Schritte für Ja und die Schritte für Nein mit den passenden Zweigen.

Denken Sie an die Baumregeln: Ein Schritt, der an keinen Zweig angeschlossen ist, läuft nie.

Die Daten richtig lesen

Da der linke Wert fast immer aus eingehenden Daten stammt, gelten die Regeln aus Daten empfangen:

  • Body-Felder liegen unter __data, also {{ __data.invoice_amount }}, nicht bloß {{ invoice_amount }}.
  • Header liegen unter {{ __data.__headers.* }}.
  • Werte, die Ihre früheren Schritte gespeichert haben, liegen ebenfalls unter {{ __data.* }}.

Eine Bedingung, die immer den Nein-Zweig nimmt, liest den Wert in neun von zehn Fällen von der falschen Stelle (meist fehlt der __data.-Präfix bei einem Body-Feld). Prüfen Sie das zuerst.

Ein Hinweis für fortgeschrittene oder KI-gebaute Workflows

Wenn ein Workflow per Beschreibung (über Flexie AI) gebaut oder importiert wird, wird eine virtuelle Bedingung mit einer festen internen Struktur gespeichert: eine einzelne Regel, deren Vergleichsoperanden ineinander verschachtelt sind (der zu prüfende Wert und der Wert, mit dem verglichen wird), zusammen mit dem Operator. Der visuelle Builder erzeugt diese Struktur für Sie, Sie setzen nur den linken Wert, den Operator und den rechten Wert. Wenn Sie Definitionen direkt erstellen, halten Sie die Operanden so verschachtelt, wie der Builder es tut; ein bloßer Skalar anstelle des Operandenpaars lässt sich nicht auswerten.

Nächste Schritte