Documentation

Share without code

Open a Journey with a link, an iframe, or a QR code on your phone.

Three ways to open a Journey that need no code. All three live on https://journeys.getfounderhq.com and are set from the Share button in the Journey editor.

SurfaceURLShowsWho can open it
Public linkjourneys.getfounderhq.com/<journeyId>the published versionanyone with the link, while sharing is on
Embedjourneys.getfounderhq.com/embed/<journeyId> in an iframethe published versionany website, while sharing is on
Phone previewjourneys.getfounderhq.com/p/<token>your latest saved versionanyone with the link, for 24 hours

Published means published

Saving a Journey stores a draft. Only Publish to Live changes what people see: through the SDK, the public link, and the embed. Your version history marks the live version and the latest saved one.

Preview on your phone

Open Share in the editor and scan the QR code. The preview shows the last version you saved, published or not, so you can test a flow before it goes live. It records nothing: no responses, no analytics. Reload the page on your phone after each save to see the change.

Preview links expire after 24 hours. Scan again for a new one.

Shared a preview link with someone and want it dead sooner? Hover the QR code and press Regenerate. Every earlier preview link for that Journey stops working at once, and you get a fresh code.

Turn on Anyone with the link can open this Journey. The Journey must be published first. Turn the switch off at any time to close the link; open pages stop recording within minutes.

The page is not indexed by search engines. Responses and events land in the same place as SDK captures, tagged with the hosted-link surface.

Embed on a website

Copy the snippet from Share and paste it where the Journey should appear.

<iframe src="https://journeys.getfounderhq.com/embed/JOURNEY_ID"
  title="Onboarding" width="420" height="760"
  style="border:0;border-radius:24px" loading="lazy"
  allow="clipboard-write"></iframe>

The iframe is the Journey's viewport, so pick a size that fits your page. The same switch that controls the public link controls the embed. Captures are tagged with the hosted-embed surface and the origin of the page that frames them.

Inside a drawn device frame

If your page draws a phone frame around the iframe, add ?safeArea=top,right,bottom,left (pixels) to the embed URL. The Journey keeps its controls clear of those edges while its background still fills the frame.

<iframe src="https://journeys.getfounderhq.com/embed/JOURNEY_ID?safeArea=22,0,18,0"></iframe>

Messages from the embed

The embed posts a small set of messages to the page that frames it, so your page can react (close a modal, show a thank-you). Listen with window.addEventListener("message", …) and check event.data.source.

window.addEventListener("message", (event) => {
  const data = event.data;
  if (!data || data.source !== "founderhq-journeys" || data.version !== 1) return;
  if (data.event === "complete") {
    // data.journeyId — the Journey that finished
  }
});
eventExtra fieldsWhen
readythe first screen rendered
stepstepId, indexthe visible step changed
completethe person finished the Journey

Messages carry no answers, identity, or URLs. Links inside the Journey open in a new tab from the iframe itself.

Prefer code?

The web SDK and the mobile SDKs give you a publishable key, identity linking, and full control of the page.

AI agent or LLM? Read this page as markdown

On this page