Save & publish flows
The Flow Builder separates saving from publishing. Drafts preserve your work in the Adapty Dashboard, and publishing makes the current version available to users through the SDK. This article covers both actions and when to use each.
Save a flow as a draft
An invalid Remote Config prevents you from saving the draft.
The Flow Builder autosaves your progress once a minute.
To save a draft manually, click Save draft in the top right of the Flow Builder, or press Cmd/Ctrl + S.
Drafts are private to the Dashboard. They don’t change what users see in your app, even if the flow is already assigned to a placement.
Publish a flow
Publishing makes the current version of your flow available to users through the SDK. Once published, the new version replaces any previously published version of the same flow.
To publish your flow, click Publish to Live in the top right of the Flow Builder.
What happens next depends on whether the flow is already assigned to a placement:
- Flow already in a placement: Users start seeing the new version on their next request to that placement.
- Flow not in a placement: Add the flow to a placement to start showing it to users.
A flow is ready to publish once every action, screen, and product element is fully configured. See Troubleshooting for the common gaps.
Flow status
Each flow shows a status in the Flows list. The status reflects where the flow is in the save and publish lifecycle.
| Status | Meaning |
|---|---|
| Draft | The flow has never been published. Only a draft exists, so users don’t see it yet. |
| Dirty | The flow was published, but it has saved edits that aren’t published yet. Users still see the last published version until you publish again. |
| Publishing | A publish is in progress. |
| Failed | The last publish attempt failed. Users keep seeing the last published version, if there is one. |
| Published | The latest saved version is live. There are no unpublished edits. |
| Archived | The flow was deleted. |
Troubleshooting

You can’t publish or preview your flow if any of the following issues are present.
- An interaction with an incomplete configuration. Common cases:
- An Open URL action without a target URL.
- A Navigate to screen action without a destination — also occurs when the destination screen is deleted after the action is set up.
- A conditional action without an operator or value.
- A Set Variable action without a variable/value assignment.
- A Purchase action with no product (in-app store) or no Web Paywall URL (web payment).
- A Custom action without an Action ID.
- A Show alert action with an empty Title or Message.
- A Show or Hide action with no element selected.
- A screen with no elements.
- A product element without a product attached — may occur if you remove the referenced product.
- An invalid remote config JSON breaks the entire delivery process — you cannot even save the draft.
Preview your flow in the Adapty app to catch any issues before publishing. If the flow fails to load in the preview, see the error message for more details.