Public URL
When status is Published and the Public toggle is on, your playground is reachable at:
https://www.flowfn.com/p/<slug>
If your team has set a custom domain on the parent app, the same playground is also reachable at https://your-domain.com/p/<slug> — and a non-root playground can claim its own subdomain of it (<label>.your-domain.com). See Public Hosting, Custom Domains & Subdomains.
The slug is editable from the editor's status bar — click the flowfn.com/p/<slug> chip and update it. New slugs must pass the same kebab-case + uniqueness checks as forms and visualizers, and existing embed URLs need to be updated to match.
Password protection
Click the Password button in the header to set a password. Visitors must enter it before the playground loads. A short access token is then issued for the rest of their session. Available on plans that include password protection.
Embedding in another site
- Click Embed in the header.
- Toggle Embed enabled. FlowFn generates an embed token and shows you an embed URL of the form
https://<your-host>/p/<slug>?embed=<token>. - Add the parent domains you want to allow in Allowed domains. Embedding from any other domain is blocked.
- Paste the iframe snippet into your site.
Basic iframe:
<iframe
src="https://<your-host>/p/<slug>?embed=<token>"
title="Playground"
width="100%"
height="600"
frameborder="0"
allow="clipboard-write"></iframe>
Match the playground's natural height — the embed renders the full public playground page, so sizing it like an app surface (e.g. min-height: 80vh) usually feels right:
<iframe
src="https://<your-host>/p/<slug>?embed=<token>"
title="Playground"
style="width: 100%; min-height: 80vh; border: 0; display: block;"></iframe>
Token rotation
Click Regenerate in the Embed panel to rotate the token. Previous embed URLs stop working immediately — re-paste the new URL on every site that embeds the playground. Use this if a token leaks or you need to revoke an external partner's access.
Authoring vs embedding
Authoring (HTML / CSS / JS / @keys) happens in the editor. The embed renders the public, token-protected version of whatever you wrote. Inside that page, the in-iframe SDK (window.flowfn) is still active — your buttons can fire workflow triggers, your code can read sheets, and the SDK cheat sheet inside the editor lists every helper.
Plan limits on embedding
- Embedding itself is plan-gated (free plans may not include it).
- The number of allowed parent domains per surface is capped by your plan.
- Custom domains are also plan-gated.
Switching back to private
Turn off Public to remove the URL from public access; or set the status to Draft / Archived. Embeds also need Embed enabled off — they're gated separately from the public URL.