Skip to main content
Portals let you build customer-facing web experiences on top of your Statisfy data — without standing up your own front end. You start from a template, customize it in an in-browser editor, and publish it to a live, Statisfy-hosted URL your customers can visit.

What You Can Build

Customer Portals

Branded pages that surface the right information to your customers, built from a starting template.

Embedded Experiences

Pages that authenticate against Statisfy with your developer keys to show live, account-specific data.

The Portal Lifecycle

  1. Create — Start a new portal from a template and give it a name.
  2. Build — Customize the portal in Portal Studio, the in-browser editor: edit its code and configure its components (for example, point a Digital Worker chat at the right worker). Code edits are saved automatically as a draft; component settings are saved explicitly with Save changes.
  3. Preview — Build your draft and deploy it to a preview URL to review before you publish. A preview URL is not password-protected — anyone with the link can open it, so treat it as unlisted rather than private.
  4. Go live — Promote the previewed version to your live, customer-facing URL, which you can open and share. Going live (and changing a portal’s address) needs the manage portals permission, which admins and builders have.
You can keep editing a live portal at any time — new edits stay in your draft until you go live again, so the live version never changes unexpectedly. See Building & Publishing for the full editor and publishing walkthrough.

Accessing Portals

Open the Portals page at app.statisfy.com/portals to see all of your portals, create new ones, and open the editor. Portals is in Alpha and isn’t in the main sidebar yet, so reach it by URL. Each portal appears as a card showing its name and current status. The Portals page listing portal cards with their Draft or Live status, with the Create portal button in the header Use the Live only checkbox at the top of the list to filter what’s shown. Either way, an archived portal that’s still live keeps appearing (with an Archived badge) — only an archived portal that’s also been taken offline drops out of the list entirely, since there’s nothing left to manage:
  • Unchecked (the default) — every draft and live portal, including any archived portal that’s still live. Offline archived portals are not shown.
  • Live only — only portals that are currently live, including a live portal that’s been archived (still with its Archived badge), so you can spot a live site that was archived without being taken offline.

Portal Statuses

Archiving never takes a portal offline on its own. If you want an archived portal to stop serving, choose Also unpublish when you archive it (see Building & Publishing).
Archiving is one-way in the product. Your portal’s code, version history, and built bundles are all retained — nothing is deleted — but Portal Studio has no Restore action, so bringing an archived portal back requires support@statisfy.com. Archive only when you’re done with a portal.

Developer Keys & Embedding

Portals that display live, account-specific data authenticate with Statisfy using your publishable key and a secret. You manage these from the Developer Keys panel — open it with the gear icon on the Portals page (it’s the same set of keys available under Settings → API keys). The Developer Keys panel with the JWT secret hidden behind a reveal control, above the team's active publishable key For how the key/secret pair works, how to mint and rotate secrets, and how to sign requests, see Publishable Keys & Secrets.
Sign tokens with your secret on your backend only. The publishable key is safe to ship in client-side code; the secret must never be exposed in a browser. See Publishable Keys & Secrets for details.

Customer Sign-In

Every portal ships with a passwordless sign-in screen: a visitor enters their email address and Statisfy emails them a one-time code. Only people who already exist in Statisfy can sign in. The email address must match a person on an account in Statisfy. If it doesn’t, Statisfy sends no code and shows no error — the screen behaves exactly as it does for a recognized address, because leaking who is or isn’t a customer would be an enumeration risk.
“My customer never got the code” is almost always this: they aren’t a person on an account yet, or they used a different address than the one on their contact record. Add or correct the person in Statisfy, then have them try again.
The code’s lifetime, the sender, and the email’s content are all configurable per portal — see Customizing the Login Email. A contact who belongs to several accounts signs in once and can then switch between them; the session is re-minted per account, so a portal only ever shows one account’s data at a time.

API & SDK

Beyond the no-code editor, portals — and your own apps — can read and write live Statisfy data through the Statisfy SDK (@statisfy/portal-react and @statisfy/ai-react) and its REST API. Sign-in comes first; every call after it carries your publishable key and the short-lived session token sign-in returned: The SDK wraps these in React components (a Digital Worker chat and an onboarding Project module) and headless clients. Full guides and the complete reference:

SDK Overview

What the SDK is, architecture, and the authentication model.

Getting Started

Install, mint a session token, and render your first component.

Digital Worker Chat

Chat components, inline forms, and the headless client.

Project Module

Show and update a customer’s onboarding project.

API Reference

Endpoints, headers, SSE frames, error codes, and TypeScript types.

Portal Address

When you go live, you choose the subdomain your portal is served at on Statisfy’s managed portal domain — in production that’s customer.site, so a portal ends up at something like acme.customer.site. The dialog shows the exact suffix it will append. You set this under Settings → Domains in the editor; leave it blank to get an auto-generated address. See Building & Publishing for details.
Preview URLs live on a different domain (statisfy.app) from live portals (customer.site), so the address you review at is never the address you publish at.

What You’ll Need

  • A template to start from (shown when you create a portal)
  • A developer key — required to create a portal, and what authenticates embedded, account-specific data
  • The right permissions for what you’re doing:
    • Creating, editing, and previewing a portal — anyone on your team
    • Going live, rolling back, archiving, and adding or removing a portal’s address — the manage portals permission (admins and builders)
    • Component settings (Settings → Components) and the login email (Auth tab) — the same manage portals permission; without it those panels are read-only

Next Steps