Fun run registration form for charity runs and walkathons

Updated 2026-10-30

Race day goes smoothly when you know who is coming. I would rather have people register through one link, pick a distance and add an emergency contact. Then I print start lists, order shirts and see who is raising money.

Who is it for?

Charities, schools, running clubs and community groups that hold a fun run, a charity run or a walkathon. Entrants register themselves, or through their AI, which might ask: "Which distance will you do?" Then "What shirt size?" Then "Who is your emergency contact?" It shows the answers and sends only after a yes. See agent-fillable forms.

What does it ask, and why?

Distance and start group plan the morning. Age group, with a parent box for under-18s, shows who needs an adult. Shirt size guides the order. Team name allows group results. A fundraising link and goal show the money raised. An emergency contact covers race day, and a safety tick box confirms the notes were read.

What should I do before race day?

Sort the CSV by start group and print start lists. Count shirts by size. Message runners yourself, since the form sends nothing. See forms for nonprofits and forms for sports clubs. Ask firms to back the day with a sponsorship request form, invite regulars to join through a membership application form, and sell merchandise using a fundraiser order form.

Questions

Does the form take entry fees?

No. It records registrations only. Collect any fee through your usual route and match payments to the CSV. Say how to pay in the form description.

How do I plan start groups?

Filter the CSV by event_distance and start_wave, and count each group. Then set start times that give every wave enough room.

Can children register?

Yes, with an adult. The form has an age group question and a parent box for under-18s. Ask the adult to complete the form for the child.

Try the form

Live demo ยท nothing is saved

Register for the fun run

Pick your distance and tell us who to call on the day. This form takes no entry fee. We explain how to pay in the notes above.

Your age group (required)
Which distance will you do? (required)
Which start group suits you?
Event shirt size

For example access needs or allergies.

I have read the event safety notes and will follow marshals' instructions (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": "Register for the fun run",
  "description": "Pick your distance and tell us who to call on the day. This form takes no entry fee. We explain how to pay in the notes above.",
  "fields": [
    {
      "id": "runner_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "runner_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "runner_phone",
      "label": "Your phone",
      "type": "phone"
    },
    {
      "id": "age_group",
      "label": "Your age group",
      "type": "single_choice",
      "required": true,
      "options": [
        "Under 12",
        "12 to 17",
        "18 to 39",
        "40 to 59",
        "60 or older"
      ]
    },
    {
      "id": "parent_if_under_18",
      "label": "Parent or guardian's name, if you are under 18",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "event_distance",
      "label": "Which distance will you do?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Family fun run",
        "5 km run",
        "10 km run",
        "Charity walk"
      ]
    },
    {
      "id": "start_wave",
      "label": "Which start group suits you?",
      "type": "single_choice",
      "options": [
        "Early wave, fast pace",
        "Middle wave, steady pace",
        "Late wave, walkers and strollers"
      ]
    },
    {
      "id": "team_name",
      "label": "Team name, if you have one",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "event_shirt_size",
      "label": "Event shirt size",
      "type": "single_choice",
      "options": [
        "Child",
        "Small",
        "Medium",
        "Large",
        "Extra large"
      ]
    },
    {
      "id": "fundraising_page",
      "label": "Link to your fundraising page",
      "type": "url"
    },
    {
      "id": "fundraising_goal",
      "label": "Your fundraising goal",
      "type": "number",
      "min": 0,
      "max": 1000000
    },
    {
      "id": "race_day_contact_name",
      "label": "Race day emergency contact",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "race_day_contact_phone",
      "label": "Their phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "team_should_know",
      "label": "Anything the event team should know",
      "type": "long_text",
      "help": "For example access needs or allergies.",
      "max_length": 500
    },
    {
      "id": "safety_notes_read",
      "label": "I have read the event safety notes and will follow marshals' instructions",
      "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":"Register for the fun run","description":"Pick your distance and tell us who to call on the day. This form takes no entry fee. We explain how to pay in the notes above.","fields":[{"id":"runner_name","label":"Your full name","type":"short_text","required":true,"max_length":150},{"id":"runner_email","label":"Your email","type":"email","required":true},{"id":"runner_phone","label":"Your phone","type":"phone"},{"id":"age_group","label":"Your age group","type":"single_choice","required":true,"options":["Under 12","12 to 17","18 to 39","40 to 59","60 or older"]},{"id":"parent_if_under_18","label":"Parent or guardian'\''s name, if you are under 18","type":"short_text","max_length":150},{"id":"event_distance","label":"Which distance will you do?","type":"single_choice","required":true,"options":["Family fun run","5 km run","10 km run","Charity walk"]},{"id":"start_wave","label":"Which start group suits you?","type":"single_choice","options":["Early wave, fast pace","Middle wave, steady pace","Late wave, walkers and strollers"]},{"id":"team_name","label":"Team name, if you have one","type":"short_text","max_length":100},{"id":"event_shirt_size","label":"Event shirt size","type":"single_choice","options":["Child","Small","Medium","Large","Extra large"]},{"id":"fundraising_page","label":"Link to your fundraising page","type":"url"},{"id":"fundraising_goal","label":"Your fundraising goal","type":"number","min":0,"max":1000000},{"id":"race_day_contact_name","label":"Race day emergency contact","type":"short_text","required":true,"max_length":150},{"id":"race_day_contact_phone","label":"Their phone","type":"phone","required":true},{"id":"team_should_know","label":"Anything the event team should know","type":"long_text","help":"For example access needs or allergies.","max_length":500},{"id":"safety_notes_read","label":"I have read the event safety notes and will follow marshals'\'' instructions","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Register for the fun run",
  "description": "Pick your distance and tell us who to call on the day. This form takes no entry fee. We explain how to pay in the notes above.",
  "fields": [
    {
      "id": "runner_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "runner_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "runner_phone",
      "label": "Your phone",
      "type": "phone"
    },
    {
      "id": "age_group",
      "label": "Your age group",
      "type": "single_choice",
      "required": true,
      "options": [
        "Under 12",
        "12 to 17",
        "18 to 39",
        "40 to 59",
        "60 or older"
      ]
    },
    {
      "id": "parent_if_under_18",
      "label": "Parent or guardian's name, if you are under 18",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "event_distance",
      "label": "Which distance will you do?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Family fun run",
        "5 km run",
        "10 km run",
        "Charity walk"
      ]
    },
    {
      "id": "start_wave",
      "label": "Which start group suits you?",
      "type": "single_choice",
      "options": [
        "Early wave, fast pace",
        "Middle wave, steady pace",
        "Late wave, walkers and strollers"
      ]
    },
    {
      "id": "team_name",
      "label": "Team name, if you have one",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "event_shirt_size",
      "label": "Event shirt size",
      "type": "single_choice",
      "options": [
        "Child",
        "Small",
        "Medium",
        "Large",
        "Extra large"
      ]
    },
    {
      "id": "fundraising_page",
      "label": "Link to your fundraising page",
      "type": "url"
    },
    {
      "id": "fundraising_goal",
      "label": "Your fundraising goal",
      "type": "number",
      "min": 0,
      "max": 1000000
    },
    {
      "id": "race_day_contact_name",
      "label": "Race day emergency contact",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "race_day_contact_phone",
      "label": "Their phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "team_should_know",
      "label": "Anything the event team should know",
      "type": "long_text",
      "help": "For example access needs or allergies.",
      "max_length": 500
    },
    {
      "id": "safety_notes_read",
      "label": "I have read the event safety notes and will follow marshals' instructions",
      "type": "checkbox",
      "required": true
    }
  ]
}