Club registration form for the new school year

Updated 2026-10-30

Every September the noticeboard fills with paper sign-up sheets that go missing. I would rather move it all online. Students choose a club, say why and confirm a parent knows. The teacher in charge sees every name in one list.

How it works

  1. A student names a first choice and a second choice.
  2. They say why they want to join and what they have done before.
  3. They pick a role, from member to president, and the meeting times they can make.
  4. They confirm a parent or guardian knows.

A short sample chat

A student's AI might ask: "Which club do you want to join?" Then "Which role interests you?" Then "Which meeting times can you make?" It shows the answers and sends only after a yes. Read about agent-fillable forms.

Good to know

Edit the club list to your real clubs before you share the link. For elections, the form collects applications, not ballots, so hold the vote separately. See forms for schools. Pair it with a student registration form at enrolment, and ask parents of club members to bake for events with a bake sale sign-up sheet.

Questions

Can I use this for student council or class officer applications?

Yes. The role question and the idea box cover candidate applications. The form collects applications only, so run the vote through your school's own process.

What if a club has limited places?

Set max_responses to the number of places and the form stops there. Or collect everyone, read the reason boxes and choose who joins.

Do students need a parent's approval?

A required tick box confirms a parent or guardian knows. It is a prompt, not proof. The optional parent email box helps you check when you need to.

Try the form

Live demo ยท nothing is saved

Join a school club

Pick the club you want and tell us why. Your parent or guardian needs to know you are signing up.

Which club do you want to join? (required)
A second choice, in case the first is full
Which role interests you?
Which meeting times can you make?
My parent or guardian knows I am signing up (required)

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": "Join a school club",
  "description": "Pick the club you want and tell us why. Your parent or guardian needs to know you are signing up.",
  "fields": [
    {
      "id": "student_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "student_grade",
      "label": "Your grade",
      "type": "short_text",
      "max_length": 50
    },
    {
      "id": "student_email",
      "label": "Your school email",
      "type": "email"
    },
    {
      "id": "first_club",
      "label": "Which club do you want to join?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Chess club",
        "Robotics club",
        "Drama club",
        "Debate club",
        "Art club",
        "Environment club",
        "Student council"
      ]
    },
    {
      "id": "second_club",
      "label": "A second choice, in case the first is full",
      "type": "single_choice",
      "options": [
        "Chess club",
        "Robotics club",
        "Drama club",
        "Debate club",
        "Art club",
        "Environment club",
        "Student council"
      ]
    },
    {
      "id": "role_wanted",
      "label": "Which role interests you?",
      "type": "single_choice",
      "options": [
        "Member",
        "Class representative",
        "Secretary",
        "Treasurer",
        "Vice president",
        "President"
      ]
    },
    {
      "id": "reason_to_join",
      "label": "Why do you want to join?",
      "type": "long_text",
      "max_length": 800
    },
    {
      "id": "related_experience",
      "label": "Anything you have done before that fits",
      "type": "long_text",
      "max_length": 600
    },
    {
      "id": "idea_to_bring",
      "label": "One idea you would bring to the club",
      "type": "short_text",
      "max_length": 300
    },
    {
      "id": "meeting_times",
      "label": "Which meeting times can you make?",
      "type": "multi_choice",
      "options": [
        "Before school",
        "Lunchtime",
        "After school",
        "Weekend events"
      ]
    },
    {
      "id": "parent_email",
      "label": "Parent or guardian's email",
      "type": "email"
    },
    {
      "id": "parent_knows",
      "label": "My parent or guardian knows I am signing up",
      "type": "checkbox",
      "required": true
    }
  ]
}

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":"Join a school club","description":"Pick the club you want and tell us why. Your parent or guardian needs to know you are signing up.","fields":[{"id":"student_name","label":"Your full name","type":"short_text","required":true,"max_length":150},{"id":"student_grade","label":"Your grade","type":"short_text","max_length":50},{"id":"student_email","label":"Your school email","type":"email"},{"id":"first_club","label":"Which club do you want to join?","type":"single_choice","required":true,"options":["Chess club","Robotics club","Drama club","Debate club","Art club","Environment club","Student council"]},{"id":"second_club","label":"A second choice, in case the first is full","type":"single_choice","options":["Chess club","Robotics club","Drama club","Debate club","Art club","Environment club","Student council"]},{"id":"role_wanted","label":"Which role interests you?","type":"single_choice","options":["Member","Class representative","Secretary","Treasurer","Vice president","President"]},{"id":"reason_to_join","label":"Why do you want to join?","type":"long_text","max_length":800},{"id":"related_experience","label":"Anything you have done before that fits","type":"long_text","max_length":600},{"id":"idea_to_bring","label":"One idea you would bring to the club","type":"short_text","max_length":300},{"id":"meeting_times","label":"Which meeting times can you make?","type":"multi_choice","options":["Before school","Lunchtime","After school","Weekend events"]},{"id":"parent_email","label":"Parent or guardian'\''s email","type":"email"},{"id":"parent_knows","label":"My parent or guardian knows I am signing up","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Join a school club",
  "description": "Pick the club you want and tell us why. Your parent or guardian needs to know you are signing up.",
  "fields": [
    {
      "id": "student_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "student_grade",
      "label": "Your grade",
      "type": "short_text",
      "max_length": 50
    },
    {
      "id": "student_email",
      "label": "Your school email",
      "type": "email"
    },
    {
      "id": "first_club",
      "label": "Which club do you want to join?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Chess club",
        "Robotics club",
        "Drama club",
        "Debate club",
        "Art club",
        "Environment club",
        "Student council"
      ]
    },
    {
      "id": "second_club",
      "label": "A second choice, in case the first is full",
      "type": "single_choice",
      "options": [
        "Chess club",
        "Robotics club",
        "Drama club",
        "Debate club",
        "Art club",
        "Environment club",
        "Student council"
      ]
    },
    {
      "id": "role_wanted",
      "label": "Which role interests you?",
      "type": "single_choice",
      "options": [
        "Member",
        "Class representative",
        "Secretary",
        "Treasurer",
        "Vice president",
        "President"
      ]
    },
    {
      "id": "reason_to_join",
      "label": "Why do you want to join?",
      "type": "long_text",
      "max_length": 800
    },
    {
      "id": "related_experience",
      "label": "Anything you have done before that fits",
      "type": "long_text",
      "max_length": 600
    },
    {
      "id": "idea_to_bring",
      "label": "One idea you would bring to the club",
      "type": "short_text",
      "max_length": 300
    },
    {
      "id": "meeting_times",
      "label": "Which meeting times can you make?",
      "type": "multi_choice",
      "options": [
        "Before school",
        "Lunchtime",
        "After school",
        "Weekend events"
      ]
    },
    {
      "id": "parent_email",
      "label": "Parent or guardian's email",
      "type": "email"
    },
    {
      "id": "parent_knows",
      "label": "My parent or guardian knows I am signing up",
      "type": "checkbox",
      "required": true
    }
  ]
}