Vivollo

Flow control actions

Branch a conversation down different paths, and jump between flows — the actions that give a flow its judgment.

Flow control actions are where a flow stops being a straight line and starts making decisions. Conditional sends different customers down different paths, and Redirect to Flow jumps from one flow to another. Together they let you compose sophisticated behavior from simple, reusable pieces.


Conditional

Conditional looks at what you know and routes the conversation accordingly. It holds one or more condition groups, checked top to bottom; the first one that matches decides the path, and if none match, a default path is taken.

Reach for it when you want to branch on facts you already have — a customer tag, a captured field, a detected intent, a number.

How a condition is built

Each condition compares a variable (something you know) against a value, using an operator (the kind of comparison). Within a group you can combine several criteria:

  • Match all — every criterion must be true (AND).
  • Match any — any one is enough (OR), great for catching several phrasings of the same thing.

For the everyday guide to designing branches, see Conditions & branching.

The operators

Conditional supports sixteen operators, covering text, numbers, dates, and presence:

OperatorChecks whether the value…Best for
Equals / Does not equalmatches exactly (or doesn't)any type
Contains / Does not containappears anywhere insidetext, lists
Starts with / Ends withbegins or ends with texttext
Is empty / Is not emptyhas no value (or has one)text, lists
Is present / Is not presentexists at allselections, users
More than / Less thanis greater or smallernumbers, list length
Betweenfalls within a rangedates, times
After / Beforecomes after or beforedates, times
Regexmatches a patternadvanced text matching

A few notes that save confusion:

  • The "presence" operators (Is empty, Is not empty, Is present, Is not present) don't need a value — they just ask whether something exists.
  • More than / Less than compare a number for numeric values, but a count for lists — so you can ask "more than 3 items in the cart."
  • Regex matches a text pattern, for the advanced cases a simple operator can't express.

When you want to branch on what the customer means rather than a fact you already hold, use User Intent (in AI & data actions) instead. Conditional is for known facts; User Intent is for interpreting messy human phrasing.


Redirect to Flow

Redirect to Flow hands the conversation off to a different flow. It's how you break big flows into smaller, reusable ones and compose them together.

Reach for it when you have a routine — order lookup, returns, lead capture — that you want to build once and reuse from many places.

How it works

You point it at the target flow, and the conversation continues there. The key thing to understand: this is a handoff between flows, not a detour. Once you redirect, the new flow takes over — control doesn't automatically come back to where you left. If you need to return, redirect again explicitly.

That makes Redirect to Flow perfect for "continue the conversation over there" patterns: a main flow that interprets intent and redirects to the right specialized flow for each case.

There's a fuller treatment, with patterns for keeping reusable flows tidy, in Reusable flows & timing.


Composing with flow control

These two actions are what let a handful of small flows behave like one sophisticated agent. A common shape:

Main flow
  → User Intent
       "track order" → Redirect to Flow → [Order Lookup]
       "returns"     → Redirect to Flow → [Returns]
       otherwise     → Conditional → (VIP? → human : → Agentic AI)

Each piece stays small and focused; the flow control actions stitch them into something that feels genuinely smart.