Test updates with drafts
Normally, publishing an update replaces the live app right away. A draft lets you upload a new build without changing what your team sees: the draft gets its own private preview URL, you try it out, and you publish (or discard it) when you’ve decided.
Drafts are especially useful for apps that use connected data — resource connections only work once an app is deployed, so a draft is the way to test them safely.
Save a draft
Section titled “Save a draft”When publishing from the dashboard, turn on Save as draft first in the publish dialog (or check it on your first upload). Instead of going live, the build is saved privately and you get a preview link.
If an AI agent publishes for you over MCP, ask it to deploy as a
draft — the deploy_app tool has a draft option.
Preview it
Section titled “Preview it”Drafts live at their own address: draft- in front of the app’s normal URL
(for example https://draft-acme-reports.volly.so). Only you and the app’s
collaborators can open it — even if the live app is visible to the whole
workspace, and no matter who has the link.
Every draft page shows a banner — “Preview build — not published yet” — so nobody mistakes it for the real thing. Drafts can read the same connected resources as the live app, so what you see in the preview is what your team will get.
Publish or discard
Section titled “Publish or discard”When a draft is pending, the project page shows a Draft build ready to test bar with three actions:
- Open preview — view the draft.
- Publish to team — the live URL switches to the draft build instantly.
- Discard — delete the draft. The live app is untouched.
Agents can do the same with the publish_draft and discard_draft tools.
Good to know
Section titled “Good to know”- One draft at a time. Saving a new draft replaces the previous one.
- Publishing live discards a pending draft. If you deploy an update directly to the live URL while a draft is waiting, the draft is dropped — the dashboard warns you first.
- Viewers never know. People who can’t edit the project don’t see that a draft exists, and drafts never appear in the app’s cover image or their activity feed.
- No expiry. A draft waits as long as you like until you publish, discard, or replace it.