Publishing Flows
Manage the draft and publish lifecycle of your flows.
Publishing Flows
Publishing controls whether a flow is visible to your app users. Setgreet uses a draft system that lets you edit published flows safely -- your changes stay in draft until you explicitly publish them.
The draft system
When you create a new flow, it starts in Draft status. Draft flows are never served to the SDK, so your app users will not see them. You can freely add screens, configure components, set up triggers, and rearrange the flow graph without any risk.
Once a flow is published and live, the draft system becomes essential. Every edit you make to a published flow is saved to draft fields rather than the live version. This means:
- Your app users continue to see the last published version.
- You can make changes over multiple sessions without affecting the live experience.
- A visual indicator in the flow builder shows when a flow has unpublished changes.
Publishing
When you are ready to push changes live, click Publish in the flow builder toolbar. Publishing performs a single atomic operation:
- Draft fields (nodes, edges, start node, canvas state) are copied to the live fields.
- Draft screen content is promoted to published.
- The draft is cleared and the pending changes indicator resets.
After publishing, the SDK picks up the new version on its next sync. There is no additional delay -- your changes are live immediately.
Publishing is an all-or-nothing operation. You cannot publish individual screens or partial graph changes. The entire draft is promoted at once.
Unpublishing
You can unpublish a flow at any time to remove it from SDK responses. Unpublishing does not delete the flow or discard any configuration -- it simply stops the SDK from serving it.
Common reasons to unpublish:
- A campaign has ended and you want to stop showing the flow.
- You discovered an issue and need to pull the flow while you fix it.
- You want to pause a flow temporarily and re-publish it later.
To unpublish, open the flow settings and change the status from Published to Draft.
Flow priority
When a user matches the trigger conditions of multiple published flows at the same time, Setgreet uses priority to decide which flow to display. Each flow has a numeric priority value -- the higher the number, the higher the priority.
Set the priority from the flow settings panel in the dashboard. Use higher numbers for time-sensitive or critical flows:
- A limited-time promotion should have higher priority than a general onboarding sequence.
- A critical bug workaround announcement should take precedence over a feature tip.
Lifecycle summary
| Status | SDK visibility | Editable | Notes |
|---|---|---|---|
| Draft | Not visible. | Yes -- edits save directly to live fields. | New flows start here. |
| Published | Visible when trigger conditions match. | Yes -- edits save to draft fields. | Requires explicit publish to update the live version. |
| Published with pending changes | Visible (last published version). | Yes -- draft fields hold unpublished edits. | Publish to promote the draft. |
| Unpublished | Not visible. | Yes. | Retains all configuration. Can be re-published. |
Best practices
- Always preview before publishing -- use the preview feature to walk through the flow and verify every screen, branch path, and trigger condition.
- Use descriptive flow names -- when multiple team members work on flows, clear names prevent accidental edits to the wrong flow.
- Set priority intentionally -- review priorities across all published flows to ensure the most important experience wins when multiple flows compete.
- Unpublish instead of delete -- if you might need a flow again, unpublish it rather than deleting it. You preserve all configuration and can re-publish instantly.
- Coordinate with your team -- since draft changes are shared, communicate with teammates before publishing to avoid overwriting each other's work.