Guides/How to build a launch waitlist

How to build a launch waitlist

Collect emails. Track signups live. Get Slack pings.

Updated March 2026

Want to know if anyone cares before you build the thing? A waitlist tells you. With Sutrena you get a working waitlist with a live signup counter, referral tracking, and Slack notifications in about ten minutes. The waitlist template gives you the fields. The dashboard DSL gives you real-time analytics.

1. Create a waitlist form from the template

The waitlist template comes with email, name, and a referral source dropdown. Pass createDashboard: true to get signup counts, a timeline chart, and referral breakdowns.

curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "waitlist",
    "createDashboard": true
  }'

# Response:
# {
#   "id": "frm_wait01",
#   "hostedUrl": "https://sutrena.com/f/frm_wait01",
#   "dashboardUrl": "https://sutrena.com/d/dsh_wait01",
#   "fields": [
#     { "name": "email", "type": "email", "required": true },
#     { "name": "name", "type": "text", "required": false },
#     { "name": "referral", "type": "select", "options": [...] }
#   ]
# }

2. Embed on your landing page

Drop the embed snippet into your HTML. Renders in an iframe with its own styling and success message. Or build a custom form and POST to the submit endpoint. Your choice.

<!-- Option A: Embed snippet -->
<div id="waitlist"></div>
<script
  src="https://sutrena.com/embed.js"
  data-form-id="frm_wait01"
  data-container="waitlist"
  async
></script>

<!-- Option B: Custom HTML form -->
<form id="waitlist-form">
  <input name="email" type="email" placeholder="[email protected]" required />
  <input name="name" placeholder="Your name" />
  <select name="referral">
    <option value="">How did you hear about us?</option>
    <option value="Twitter/X">Twitter/X</option>
    <option value="LinkedIn">LinkedIn</option>
    <option value="Friend">Friend</option>
    <option value="Search">Search</option>
  </select>
  <button type="submit">Join Waitlist</button>
</form>

<script>
document.getElementById("waitlist-form")
  .addEventListener("submit", async (e) => {
    e.preventDefault();
    const data = Object.fromEntries(new FormData(e.target));
    const res = await fetch(
      "https://sutrena.com/api/forms/frm_wait01/submit",
      {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify(data),
      }
    );
    if (res.ok) e.target.innerHTML = "<p>You're on the list!</p>";
  });
</script>

3. Monitor signups in the dashboard

The auto-generated dashboard shows total signups, a line chart over time, a pie chart of referral sources, and a table of recent signups. Refreshes every 30 seconds. Share the URL with your team or make it public for social proof.

4. Set up a Slack webhook

Want a ping every time someone joins? Create a webhook with the Slack template. Sutrena sends an HMAC-signed POST to your Slack incoming webhook URL on every submission.

curl -X POST https://sutrena.com/api/webhooks \
  -H "Authorization: Bearer st_trial_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "formId": "frm_wait01",
    "url": "https://hooks.slack.com/services/T00/B00/xxx",
    "template": "slack",
    "events": ["form.submission"]
  }'

FAQ

Can I add the signup count to my landing page?

Yes. Fetch the submission count from the API and display it. The dashboard also has a metric_card widget you could embed.

Can I prevent duplicate signups?

Set uniqueBy: "email" on your form. Sutrena rejects duplicates with a 409 Conflict.

How many signups can the free plan handle?

500 per form. Need more? Builder gives you 5,000 per form at $9/month. Pro gives you unlimited submissions at $29/month.

Can I export the waitlist to Mailchimp or another tool?

Export as CSV (Builder and above), then import into any email tool. Or use webhooks to push each signup to Zapier or directly to your email tool's API.

What is Sutrena?

Sutrena is the web runtime for AI agents. Three primitives — pages, forms, and dashboards — accessible through one API. Your agent creates web artifacts, humans interact with them, and your agent gets the data back. Framework-agnostic. Works from any MCP client or HTTP client.

Get started in two API calls

1. Get a trial key (no auth, no signup)

curl -X POST https://sutrena.com/api/trial

2. Create a form + dashboard from a template

curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"templateId": "waitlist", "createDashboard": true}'

Ready to build?

Get a trial API key instantly with no signup, or create an account for the full experience.

How to build a launch waitlist — Sutrena | Sutrena