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.
Flow structure
Under the hood, a flow is a directed graph of nodes and edges:
| Node type | Purpose |
|---|---|
| Start | Entry point of the flow. Can hold trigger conditions. |
| Screen | A visual screen with components. |
| Condition | Evaluates a condition and branches to different paths. |
| Branch | Routes users based on their response to a component. |
| End | Terminates 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
- Flow Builder -- learn the visual canvas editor.
- Screens -- understand screen configuration.
- Triggers -- control when flows appear.
- Branching -- create conditional paths.
- Publishing -- manage the draft and publish lifecycle.