MuxForms beta signup forms recruit early-access testers from your /beta page and from in-app JSON POSTs into one inbox—platform, use case, and email for TestFlight-style programs without separate forms per OS.

Use case

Recruit beta users from web and TestFlight

Beta programs need one qualified list—not a Typeform for iOS, a Google Form for Android, and a Slack thread for friends-and-family.

Beta signup template

FieldPurpose
platformiOS / Android / Web cohorts
use_caseQualify serious testers
beta_cohortHidden parallel betas
heard_fromAttribution

Closed betas start with a promise: early access in exchange for feedback. That promise needs a form that works on your marketing site, inside the app, and from email campaigns without three vendors.

MuxForms collects email, platform (iOS, Android, Web), and what the tester plans to exercise. Product sorts the inbox by platform before sending TestFlight invites manually or via your existing tooling.

Use the same form id on `/beta` embed and in-app “Join the beta” `fetch` POST—see the Expo guide for ingest secrets. Web signups and mobile signups search together when support asks who joined from the phone.

Ask optional company and role for B2B betas so you prioritize design partners. A `heard_from` select helps attribute which launch post drove signups.

Public beta pages get Turnstile and rate limits; closed betas can stay invite-only by not advertising the URL. Honeypot still catches scrapers that find the endpoint.

Hidden `product` or `beta_cohort` fields segment multiple betas running in parallel—unlimited forms also let you run separate schemas per product line.

When beta closes, pause the form or swap the CTA to the general waitlist use case. Historical rows stay in the inbox for “did this user ever beta?” questions.

Ready-made template

Create a form named Product — Beta signup with these fields, then paste the embed on your page. Notify product@; export platform column before TestFlight invites; Turnstile on public /beta; ingest secret for in-app POST.

FieldTypeRequired
EmailemailemailYes
NamenametextYes
Primary platformplatformselectYes
CompanycompanytextNo
What will you test?use_casetextareaYes
How did you hear about the beta?heard_fromselectNo
Beta cohortbeta_cohorthiddentextNo
ProductproducthiddentextNo
Leave blank_hphiddentextNo

Embed demo

Illustrative preview—wire your form id after signup.

Preview only — connect embed.js to submit

Schema JSON

{
  "name": "Product — Beta signup",
  "fields": [
    {
      "name": "email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "name": "name",
      "label": "Name",
      "type": "text",
      "required": true
    },
    {
      "name": "platform",
      "label": "Primary platform",
      "type": "select",
      "required": true,
      "options": [
        "iOS",
        "Android",
        "Web",
        "Desktop"
      ]
    },
    {
      "name": "company",
      "label": "Company",
      "type": "text",
      "required": false,
      "placeholder": "Optional for B2B beta"
    },
    {
      "name": "use_case",
      "label": "What will you test?",
      "type": "textarea",
      "required": true
    },
    {
      "name": "heard_from",
      "label": "How did you hear about the beta?",
      "type": "select",
      "required": false,
      "options": [
        "Twitter / X",
        "Friend",
        "Blog",
        "App store",
        "Other"
      ]
    }
  ]
}

Embed snippet

<div data-form-id="FORM_UUID"></div>
<script src="https://www.muxforms.com/embed.js" defer></script>

Common questions

Same form for web and TestFlight?
Yes—one form id; mobile POSTs with ingest secret and platform in JSON.
Beta vs waitlist?
Beta asks what they'll test; waitlist is launch email only—use separate forms.
Send TestFlight automatically?
MuxForms captures signups; you invite from export or webhook to your pipeline.
Stop public signups?
Deactivate form or remove embed; past submissions remain searchable.

Create the form for this job.

Then clone the pattern for the next site or app.

Upgrade to Pro