Getting Started

Quickstart

Go from zero to a live waitlist with analytics in under 5 minutes.


1. Create your account#

Sign up at the OperatorStack dashboard. You’ll need an email address and password.

2. Create a project#

Each project represents one website or app. Give it a name and your site’s URL. OperatorStack uses the URL for CORS validation and referral link generation.

Localhost is always allowed for CORS, so you can develop locally without configuring anything.

3. Add the embed script#

Copy the script tag from your project’s settings page and paste it before the closing </body> tag.

index.html
<!DOCTYPE html><html><head>  <title>My App</title></head><body>  <h1>Coming soon</h1>   <!-- OperatorStack embed script -->  <script src="https://operatorstack.dev/os.js" data-project="pk_xxxxx"></script></body></html>
Property Type Description
src *stringURL to the os.js embed script
data-project *stringYour project key (starts with pk_)
data-api stringCustom API URL override (default: https://api.operatorstack.dev)
data-dev "true"Enable dev mode (disables config caching)

4. Add a waitlist widget#

Add this HTML anywhere on your page. The embed script will automatically render a waitlist form in its place.

<div data-os-widget="waitlist"></div>

The widget renders inside a Shadow DOM for CSS isolation — it won’t conflict with your styles.

5. Use the JavaScript SDK (optional)#

For programmatic control, use the global window.OperatorStack SDK. All methods internally await the SDK’s ready promise, so you can call them immediately.

app.js
// Wait for SDK to be readyawait window.OperatorStack.ready // Join the waitlist programmaticallyconst result = await window.OperatorStack.joinWaitlist({  email: 'user@example.com',  name: 'Jane Doe'}) console.log(result.referral_code) // "ref_abc123" // Track a custom eventwindow.OperatorStack.trackEvent('button_click', {  button: 'hero-cta'})

6. Check your dashboard#

Go to your project’s dashboard to see analytics flowing in, manage waitlist signups, and configure your tools. Everything updates in real time.

What's next?

Explore individual tools to learn about configuration options, API endpoints, and advanced features.