The publish chain
A draft is the flow you are editing. Publishing freezes the current draft into a numbered version (v1, v2, …) that can never change. A placement points at exactly one version through its default_flow_version_id. The SDK serves whatever version the placement points at.
Save, publish, and attach
Let the draft save (or save it yourself)
The editor autosaves your draft to the server about 2 seconds after you stop editing, and keeps a local backup in your browser. You can also click Save Draft (file icon) in the top bar to save immediately. Either way, the draft is not served to any user. Only published versions are.
Publish
Click Publish (rocket icon) in the top bar. The editor saves the current draft first, then creates a new published version. A confirmation appears: “Flow published successfully. {flow name} version vN is now live and immutable.” The version is frozen at that point; later edits go back into the draft and do not change vN.
Attach to a placement
The success modal offers three choices:
- Attach to placement (primary). Opens the attach modal described below.
- View placements. Takes you to the placements list to wire it up later.
- Do nothing for now. Closes the modal. The version exists but no placement serves it yet.
Choose how the placement uses the version
In the Attach to placement modal, pick a placement from the list, then choose a behavior:
- Replace current flow. Immediately route all traffic at that placement to this version. This sets the placement’s
default_flow_version_idto the version you just published. If the placement already had a flow, the modal warns that live users will start seeing the new version right away. - Add as experiment variant. A/B test this version against the placement’s current flow. (Marked “coming soon” in the current build; use the experiments flow to set this up. See Experiments.)
- Schedule activation. Activate the version on a future date. This option is disabled (coming soon).
Rolling out an update
A published version is immutable, so you never “edit a live flow.” You publish a new version and point the placement at it.Publish a new version
Click Publish again. This creates the next version (
v2, v3, …). The previous version is untouched and still attached wherever it was.Notes and warnings
The SDK caches resolved flows on device, so even after you repoint a placement, updates reach users subject to the cache lifetime. A returning user may see the previous version until their cached copy refreshes. See Caching.
Common mistakes
- Publishing but never attaching. A published version that is not attached to any placement is invisible to the SDK. The SDK keeps serving the previously attached version, or nothing if the placement was never wired up.
- Editing the draft and expecting an instant rollout. Draft edits are never served. Nothing reaches users until you publish and the placement points at that new version.
- Forgetting to bump the placement. After publishing a new version, the placement still points at the old one until you repoint it.
- Assuming a repoint is instant for everyone. On-device caching means returning users may keep seeing the old version until their cache refreshes.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Users still see the old flow after publishing | The placement was never repointed to the new version | Attach the new version (Replace current flow) or update the placement’s default version. |
| ”No placements found” in the attach modal | This app has no placements yet | Create a placement first, then publish and attach. See Placements. |
| Users see nothing at the placement | The placement has no flow version attached | Attach a published version to the placement. |
| New version published but a few users still see the old one | On-device cache has not refreshed yet | Expected. Updates propagate subject to the SDK cache lifetime. See Caching. |