Draft and publish
Every flow you edit in the Flow Designer is a draft. Drafts are safe to mutate at will and can be tested in isolation. Once you're happy with the result you publish it — that's when it becomes the version that real callers actually reach.
The legacy "Sync app" button is gone. Publish replaces it.
Lifecycle at a glance
Each flow has a version history with three statuses:
| Status | What it means |
|---|---|
DRAFT | Your in-progress edits. Not served to real endpoints. |
PUBLISHED | Currently live. Conversations routed to this app's endpoints run against this definition. |
ARCHIVED | A previously published version superseded by a later publish. Kept for audit and revert. |
At any moment there is exactly one published version per flow (or zero, on a brand-new app). Saving in the editor always writes to the draft — it never silently mutates the published version.
Draft mode
When you're editing, you're working on the draft. Two things happen behind the scenes:
- Autosave — the draft is persisted to the platform as you edit, so you can close the tab and return.
- Test endpoint — the first time you run a test call, the Flow Designer creates a temporary WebRTC endpoint that points at the draft. Subsequent tests reuse the same temporary endpoint and re-push the latest definition.
Running a test call
Click Test in the toolbar. The browser opens a WebRTC session against the temporary endpoint and the draft definition runs end to end. The test panel below the canvas shows:
- Connection status (preparing / connecting / running / ended).
- Inline conversation events (user turn, agent turn, tool call, transition).
- A link to the resulting conversation record after the call ends.
A single voice-agent node can also be tested in isolation — the Flow Designer wraps it in a minimal "single voice node" flow on the same temporary endpoint, useful for prompt iteration.
What test calls do not do
- They do not invoke real PSTN — even if the flow has a phone endpoint, the test uses WebRTC.
- They do not mutate the published version.
- They do not touch the real endpoint's traffic.
Publishing
When the draft is ready, click Publish in the toolbar.
- The current draft becomes a new
PUBLISHEDversion (with an incremented version number). - The previous published version is moved to
ARCHIVED. - The real endpoint(s) on the platform are re-synced to point at the new version. This is immediate — the next call arrives at the new flow.
If there is no draft (you're looking at a flow that hasn't been changed since the last publish), the Publish button is disabled and the toolbar shows "Already live — make a change to publish a new version".
Reverting
From the Version History drawer you can:
- Load any previous version into the editor as a new draft (useful for inspecting or copy-editing).
- Revert the current draft back to a previous version's content. The revert itself is a draft action — you still need to publish for the change to go live.
Editing a live flow
Because publishing is a single click, the safest pattern is:
- Open the flow. The canvas shows the currently published version (as a draft).
- Make your changes.
- Run one or more test calls.
- Publish.
If you want to keep iterating without going live, just don't publish — the draft will stay around indefinitely and the previously published version keeps serving real traffic.
See also
- Flow Designer overview
- Inspectors → Version History
- Conversations — drill into individual calls including test calls.
- Feature flags