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. Webhooks give you real-time notifications.

1. Create a waitlist form from the template

The waitlist template comes with email, name, and a referral source dropdown.

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

# Response:
# {
#   "id": "frm_wait01",
#   "hostedUrl": "https://sutrena.com/f/frm_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. 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 on your page.

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?

100 per form. Need more? Pro gives you unlimited submissions at $29/month.

Can I export the waitlist to Mailchimp or another tool?

Export as CSV (Pro 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. Forms, Pages, Analytics, Webhooks, Automations — all through 67 MCP tools and one REST API. Your agent creates web artifacts, humans interact with them, and your agent gets the data back. Use any one feature or all of them together.

Pages

Deploy HTML instantly

Forms

Collect structured data

Automations

DSL-based pipelines with 14 step types

Analytics

Privacy-first, no cookies

Webhooks

Slack, Discord, Telegram

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 anything — a page, form, automation, or analytics site

# Create a form
curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"name": "waitlist", "fields": [{"name": "email", "label": "Email", "type": "email", "required": true}]}'

# Or deploy a page
curl -X POST https://sutrena.com/api/pages \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"slug": "index", "title": "My Site", "html": "<h1>Live</h1>"}'

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