Skip to content
Flows

Flows

Understand flows, the building blocks of your app's native mobile experiences.

Flows

A flow is a self-contained in-app experience made up of one or more screens. Flows are the primary building block in Setgreet -- everything your users see inside your app is delivered through a flow.

What you can build with flows

  • Onboarding walkthroughs -- multi-screen sequences that introduce new users to your app.
  • Feature announcements -- single-screen modals that highlight what is new.
  • In-app surveys -- collect feedback with NPS, rating, and free-text components.
  • Upgrade prompts -- targeted nudges that encourage plan upgrades.
  • Checklists and progress -- guide users through setup steps with progress indicators.
  • Contextual tooltips -- surface help content at the right moment.

Flow lifecycle

Every flow moves through a well-defined set of states:

Draft

When you create a new flow, it starts as a draft. You can add screens, configure components, set up triggers, and iterate freely. Draft flows are never served to the SDK -- your app users will not see them.

Published

Publishing a flow makes it live. The SDK fetches published flows and renders them when trigger conditions match. Once published, the flow continues to be editable through the draft system (see Publishing Flows for details).

Unpublishing a flow returns it to Draft. A flow is only ever Draft or Published, so an unpublished flow is a draft again: it stops appearing in SDK responses, keeps all its configuration, and can be published later.

Flow priority

When a user matches multiple flows at the same time, Setgreet decides which one to show in two steps.

Targeted flows come first. A flow with trigger conditions always outranks a flow without them, whatever their priority values. An untargeted flow is the fallback, not the default winner.

Then priority breaks the tie. Within each group, the highest priority wins. Priority is one of 0, 1, 2, or 3, and defaults to 1. Set it from the flow settings panel and reserve 3 for genuinely time-sensitive flows such as a critical announcement.

Priority accepts only the values 0 through 3. Higher numbers are rejected.

Flow structure

Under the hood, a flow is a directed graph of nodes and edges:

Node typePurpose
StartEntry point of the flow. Can hold trigger conditions.
ScreenA visual screen with components.
ConditionEvaluates a condition and branches to different paths.
BranchRoutes users based on their response to a component.
EndTerminates the flow.

Nodes are connected by edges that define the navigation path. The flow builder provides a visual canvas for assembling these nodes -- see Flow Builder for details.

Next steps

On this page