Get started
Install on any HTML site
Friday is a single script tag. Paste it before </body> and you're done. Works on Webflow, Framer, Shopify, custom Next.js, static HTML — anything where you can edit the page source or inject a script.
The snippet
<script src="https://friday.starkspherelabs.com/widget.js" data-key="frd_xxxxxxxx" data-position="br" data-theme="auto" async ></script>
Where the data-key comes from
Sign in at friday.starkspherelabs.com, open your workspace, go to Install. The page has the full snippet pre-filled with your key. Each workspace has one key; multiple sites in the same workspace can share it.
The key isn't a secret in the classic sense — it's a public identifier, like a Google Analytics ID. The server validates the host domain against your workspace settings.
Attributes
data-key(required) — your workspace key.data-position—br(default),bl,tr,tl. Where the launcher sits.data-theme—auto(default),light,dark.autofollows the visitor'sprefers-color-scheme.async— keep it. Friday is non-blocking; she doesn't need to run before page render.
Where this won't work
A few environments block third-party widgets by design. Friday can't magically work around them.
- Strict Content Security Policy. If your site sends a CSP without
friday.starkspherelabs.cominscript-srcandconnect-src, the script will be blocked. Add those origins (andframe-srcif you want Friday's confirm bubbles to render in their own iframe). - Sealed shadow DOMs. Some site builders wrap the whole page in a closed shadow root. Friday can't reach in to scan or click anything inside one. (Open shadow roots are fine — Friday traverses them.)
- Cross-origin iframes you don't control. If your main content is embedded from another domain, Friday lives on the parent and can't touch the iframe.
- AMP pages. AMP forbids arbitrary script tags. Use a non-AMP variant of the page, or use Friday Operator (the browser extension) for those.
Verify it's live
- Open your page in a private window.
- You should see the Friday launcher within a second.
- Open DevTools → Network and look for a request to
widget.jsand an SSE connection to/api/widget/chat.
Doesn't show up? See Troubleshooting.