Online course registration form with a waitlist

Updated 2026-10-30

When a course launch goes well, the inbox gets messy fast. I would rather have one registration link that tells me who is ready, when they can join live, and what they want to learn.

Before the form opens

Decide how many seats you have and set a cap on responses to match. Add a close date for the cohort start. Write the form description in your own voice, and put the start date in it.

While it is open

People tell you their level, goal, time zone, weekly hours and which live times suit them. A visitor's AI might ask: "What time zone are you in?" Then "How many hours a week can you give?" Then "What do you want to be able to do after the course?" It shows the answers and sends only after a yes. Read about agent-fillable forms.

After it closes

Download the CSV. Count the live-times column to choose session slots. Sort by level to see if you need a separate beginner track. Write to people yourself, because the form sends no mail to them. When seats run out, open a second form with the same questions as your waitlist.

A one-off live session needs a workshop registration form. One-to-one help fits a tutoring sign-up form. Collect opinions after the course with the course evaluation form. Browse forms for tutors and childcare and forms for creators and podcasters.

Questions

How do I stop sign-ups when the course is full?

Set max_responses to the number of seats. The form stops taking answers once it is reached. Then open a second copy of the same questions for the waitlist.

How do I choose live times that suit most people?

Download the CSV and count the live_times column. Each person can pick several times, so the most common one is easy to spot.

Does the form email people when a place opens?

No. The form does not email the person who filled it. Use the email column in your CSV and write to them yourself.

Try the form

Live demo ยท nothing is saved

Save your place on the course

Tell me a little about you. I use your answers to plan the live sessions and to offer places as they open.

Where are you starting from? (required)
Which start would suit you?
Which live session times work for you?
How did you hear about the course?
I can join video calls
You may email me when a place opens

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Save your place on the course",
  "description": "Tell me a little about you. I use your answers to plan the live sessions and to offer places as they open.",
  "fields": [
    {
      "id": "full_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "id": "time_zone",
      "label": "Your city or time zone",
      "type": "short_text",
      "required": true,
      "max_length": 100
    },
    {
      "id": "starting_level",
      "label": "Where are you starting from?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Complete beginner",
        "Some experience",
        "Confident, I want more depth"
      ]
    },
    {
      "id": "cohort_choice",
      "label": "Which start would suit you?",
      "type": "single_choice",
      "options": [
        "The next cohort",
        "The cohort after that",
        "Whenever a place opens"
      ]
    },
    {
      "id": "course_goal",
      "label": "What do you want to be able to do after the course?",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "weekly_hours",
      "label": "Hours a week you can give",
      "type": "number",
      "min": 0,
      "max": 40
    },
    {
      "id": "live_times",
      "label": "Which live session times work for you?",
      "type": "multi_choice",
      "options": [
        "Weekday mornings",
        "Weekday evenings",
        "Weekend mornings",
        "Weekend afternoons",
        "I would rather watch recordings"
      ]
    },
    {
      "id": "heard_from",
      "label": "How did you hear about the course?",
      "type": "single_choice",
      "options": [
        "Newsletter",
        "Social media",
        "Podcast",
        "A friend",
        "Search",
        "Somewhere else"
      ]
    },
    {
      "id": "can_join_calls",
      "label": "I can join video calls",
      "type": "checkbox"
    },
    {
      "id": "ok_to_email",
      "label": "You may email me when a place opens",
      "type": "checkbox"
    },
    {
      "id": "ask_first",
      "label": "Anything you want to ask before you decide?",
      "type": "long_text",
      "max_length": 800
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Save your place on the course","description":"Tell me a little about you. I use your answers to plan the live sessions and to offer places as they open.","fields":[{"id":"full_name","label":"Your name","type":"short_text","required":true,"max_length":150},{"id":"email","label":"Email","type":"email","required":true},{"id":"time_zone","label":"Your city or time zone","type":"short_text","required":true,"max_length":100},{"id":"starting_level","label":"Where are you starting from?","type":"single_choice","required":true,"options":["Complete beginner","Some experience","Confident, I want more depth"]},{"id":"cohort_choice","label":"Which start would suit you?","type":"single_choice","options":["The next cohort","The cohort after that","Whenever a place opens"]},{"id":"course_goal","label":"What do you want to be able to do after the course?","type":"long_text","max_length":1000},{"id":"weekly_hours","label":"Hours a week you can give","type":"number","min":0,"max":40},{"id":"live_times","label":"Which live session times work for you?","type":"multi_choice","options":["Weekday mornings","Weekday evenings","Weekend mornings","Weekend afternoons","I would rather watch recordings"]},{"id":"heard_from","label":"How did you hear about the course?","type":"single_choice","options":["Newsletter","Social media","Podcast","A friend","Search","Somewhere else"]},{"id":"can_join_calls","label":"I can join video calls","type":"checkbox"},{"id":"ok_to_email","label":"You may email me when a place opens","type":"checkbox"},{"id":"ask_first","label":"Anything you want to ask before you decide?","type":"long_text","max_length":800}]}'

JSON definition

json
{
  "title": "Save your place on the course",
  "description": "Tell me a little about you. I use your answers to plan the live sessions and to offer places as they open.",
  "fields": [
    {
      "id": "full_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "id": "time_zone",
      "label": "Your city or time zone",
      "type": "short_text",
      "required": true,
      "max_length": 100
    },
    {
      "id": "starting_level",
      "label": "Where are you starting from?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Complete beginner",
        "Some experience",
        "Confident, I want more depth"
      ]
    },
    {
      "id": "cohort_choice",
      "label": "Which start would suit you?",
      "type": "single_choice",
      "options": [
        "The next cohort",
        "The cohort after that",
        "Whenever a place opens"
      ]
    },
    {
      "id": "course_goal",
      "label": "What do you want to be able to do after the course?",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "weekly_hours",
      "label": "Hours a week you can give",
      "type": "number",
      "min": 0,
      "max": 40
    },
    {
      "id": "live_times",
      "label": "Which live session times work for you?",
      "type": "multi_choice",
      "options": [
        "Weekday mornings",
        "Weekday evenings",
        "Weekend mornings",
        "Weekend afternoons",
        "I would rather watch recordings"
      ]
    },
    {
      "id": "heard_from",
      "label": "How did you hear about the course?",
      "type": "single_choice",
      "options": [
        "Newsletter",
        "Social media",
        "Podcast",
        "A friend",
        "Search",
        "Somewhere else"
      ]
    },
    {
      "id": "can_join_calls",
      "label": "I can join video calls",
      "type": "checkbox"
    },
    {
      "id": "ok_to_email",
      "label": "You may email me when a place opens",
      "type": "checkbox"
    },
    {
      "id": "ask_first",
      "label": "Anything you want to ask before you decide?",
      "type": "long_text",
      "max_length": 800
    }
  ]
}