Documentation menu

Preview, publish, and restore

Two URLs, one app

Every app in your project has two addresses. The preview is your private working copy — only you, and anyone you send the link to, can see it. The live URL is the one your customers visit. It exists from your very first build and stays stable, but it serves nothing until you publish for the first time.

The agent always works in the preview. Each time it finishes a change, the preview updates and Spark records a numbered version — a snapshot of exactly what was built. That is the middle of the core loop: you ask, the agent works, the preview updates, and you decide when to publish.

When new work is waiting, you can tell at a glance. A dot appears on the Publish button in the app’s header, and the app’s row in the sidebar carries the same “Unpublished changes” marker — so you know something is ready even without opening the app.

Publish a version

Press the Publish button and the version you were just previewing goes to the live URL as an exact copy. Nothing rebuilds on the way, so what your customers get is byte-for-byte what you checked in the preview.

A few things to know:

  • Internal tools publish differently. An internal tool has no Publish button in its header; it publishes from the Live / Preview bar above the page, which is also how you switch between the two builds.
  • Publishing requires a paid plan — see Plans and credits.
  • On the chat app, publishing also takes pending knowledge live. Documents you upload in the Configure view are searchable in the preview right away, and the same publish carries them to your customers. More in the knowledge library.

Publishing also starts a fresh chapter in the agent chat. The conversation so far is summarized into a few sentences and cleared, and the next request starts from that summary. Anything that matters beyond the publish — a decision, a rule, a fact about your business — should live in the app itself or in its instructions, where the agent will always find it, rather than only in chat.

Why isn’t my change live?

There are two honest answers, and it is almost always one of them:

  1. The change is in the preview and you haven’t published yet. Look for the dot on the Publish button or the “Unpublished changes” marker in the sidebar.
  2. You’re looking at the live URL while the change sits in the preview. Open the preview link and you’ll see the new work.

Once you publish, the live URL serves the new version immediately.

History and Restore

History, the clock icon in the app’s header, lists every version and every publish. Open an entry to see what changed, file by file, compared with the version before it — a clear record of what the agent did and when it went live.

If a publish turns out to be a mistake, pick an earlier version in History and Restore it. Restore is instant: the version is already stored, so nothing is rebuilt and no agent time is spent. The live app simply serves that version again.

There is nothing to undo after a preview update, because the live app stays untouched until you publish. The earlier version is still recorded, so if you want to walk a change back before it ever goes live, ask the agent to change it or Restore an earlier version from History.

Where preview activity lands

On the chat app and the online store, the Preview as control simulates a customer, so nothing you do in those previews touches live data — test orders appear labeled in the store’s Sales tab, apart from your real numbers. Emails are safe to test on every app: while you preview, each send is captured for you to read and delivered to nobody.

On your other apps, signing in on the preview is real. It creates a real customer account with your business, and anything you make while previewing lives alongside the app’s real data — worth remembering before you fill a preview with throwaway experiments.