Tournament registration form for team entries

Updated 2026-10-30

Entries for a tournament come in by email, by text and in the car park. I would rather every coach answer the same questions before the deadline.

Who it is for

Organisers of weekend tournaments for youth or adult teams, in any sport. One coach or manager enters each team.

What each question is for

  • Team, division and level: to place each team in the right bracket.
  • Coach contact: one person who answers on match day.
  • Players travelling: to plan pitches, kit tents and meals.
  • Home town, arrival and departure days: shows who needs a Friday start or a late finish.
  • Help with places to stay: tells you who needs hotel suggestions.
  • Times the team cannot play: so you avoid a clash with a long drive home.
  • Referee box and rules box: a volunteer you can call on, and an agreement to the rules.

What a coach's AI would ask

"Which division are you entering?" Then "How many players are travelling?" Then "Are there times your team cannot play?" It shows the answers and sends only after a yes. See agent-fillable forms.

Before you use it

Payment is not part of this form, so collect entry fees the way your club already does. Explore forms for sports clubs and teams. A golf tournament registration form fits a golf day, and a team registration form fits a league season.

Questions

Can I stop entries when the tournament is full?

Yes. Set max_responses to the number of team places and close_at to the entry deadline. The public link stops taking entries when either one is reached.

How do I plan brackets from the answers?

Download the CSV and sort by the age_division column first, then by skill_level. Teams with the same division and level sit together, and you can seed from there.

What if a team needs to change its entry?

Each entry is a separate response. Ask the coach to send the form again, then use the newest row for that team name and ignore the older one.

Try the form

Live demo ยท nothing is saved

Enter the tournament

One coach or manager enters each team. We use these answers to build brackets and match times.

Division (required)
How would you describe your level?
Do you need help with places to stay?
One of us can referee or keep score
We have read the tournament rules (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": "Enter the tournament",
  "description": "One coach or manager enters each team. We use these answers to build brackets and match times.",
  "fields": [
    {
      "id": "entry_team_name",
      "label": "Team name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "age_division",
      "label": "Division",
      "type": "single_choice",
      "required": true,
      "options": [
        "Under 10",
        "Under 12",
        "Under 14",
        "Under 16",
        "Adult"
      ]
    },
    {
      "id": "skill_level",
      "label": "How would you describe your level?",
      "type": "single_choice",
      "options": [
        "Recreational",
        "Intermediate",
        "Competitive"
      ]
    },
    {
      "id": "coach_name",
      "label": "Coach or manager name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "coach_email",
      "label": "Coach or manager email",
      "type": "email",
      "required": true
    },
    {
      "id": "coach_phone",
      "label": "Coach or manager phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "players_travelling",
      "label": "How many players are travelling?",
      "type": "number",
      "required": true,
      "min": 5,
      "max": 30
    },
    {
      "id": "home_town",
      "label": "Town your team travels from",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "earliest_arrival",
      "label": "Earliest day you can arrive",
      "type": "date"
    },
    {
      "id": "latest_departure",
      "label": "Latest day you can leave",
      "type": "date"
    },
    {
      "id": "stay_help",
      "label": "Do you need help with places to stay?",
      "type": "single_choice",
      "options": [
        "No, we book our own",
        "Yes, send us suggestions"
      ]
    },
    {
      "id": "time_limits",
      "label": "Times your team cannot play",
      "type": "long_text",
      "max_length": 800
    },
    {
      "id": "volunteer_official",
      "label": "One of us can referee or keep score",
      "type": "checkbox"
    },
    {
      "id": "tournament_rules_agreed",
      "label": "We have read the tournament rules",
      "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":"Enter the tournament","description":"One coach or manager enters each team. We use these answers to build brackets and match times.","fields":[{"id":"entry_team_name","label":"Team name","type":"short_text","required":true,"max_length":150},{"id":"age_division","label":"Division","type":"single_choice","required":true,"options":["Under 10","Under 12","Under 14","Under 16","Adult"]},{"id":"skill_level","label":"How would you describe your level?","type":"single_choice","options":["Recreational","Intermediate","Competitive"]},{"id":"coach_name","label":"Coach or manager name","type":"short_text","required":true,"max_length":150},{"id":"coach_email","label":"Coach or manager email","type":"email","required":true},{"id":"coach_phone","label":"Coach or manager phone","type":"phone","required":true},{"id":"players_travelling","label":"How many players are travelling?","type":"number","required":true,"min":5,"max":30},{"id":"home_town","label":"Town your team travels from","type":"short_text","max_length":100},{"id":"earliest_arrival","label":"Earliest day you can arrive","type":"date"},{"id":"latest_departure","label":"Latest day you can leave","type":"date"},{"id":"stay_help","label":"Do you need help with places to stay?","type":"single_choice","options":["No, we book our own","Yes, send us suggestions"]},{"id":"time_limits","label":"Times your team cannot play","type":"long_text","max_length":800},{"id":"volunteer_official","label":"One of us can referee or keep score","type":"checkbox"},{"id":"tournament_rules_agreed","label":"We have read the tournament rules","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Enter the tournament",
  "description": "One coach or manager enters each team. We use these answers to build brackets and match times.",
  "fields": [
    {
      "id": "entry_team_name",
      "label": "Team name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "age_division",
      "label": "Division",
      "type": "single_choice",
      "required": true,
      "options": [
        "Under 10",
        "Under 12",
        "Under 14",
        "Under 16",
        "Adult"
      ]
    },
    {
      "id": "skill_level",
      "label": "How would you describe your level?",
      "type": "single_choice",
      "options": [
        "Recreational",
        "Intermediate",
        "Competitive"
      ]
    },
    {
      "id": "coach_name",
      "label": "Coach or manager name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "coach_email",
      "label": "Coach or manager email",
      "type": "email",
      "required": true
    },
    {
      "id": "coach_phone",
      "label": "Coach or manager phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "players_travelling",
      "label": "How many players are travelling?",
      "type": "number",
      "required": true,
      "min": 5,
      "max": 30
    },
    {
      "id": "home_town",
      "label": "Town your team travels from",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "earliest_arrival",
      "label": "Earliest day you can arrive",
      "type": "date"
    },
    {
      "id": "latest_departure",
      "label": "Latest day you can leave",
      "type": "date"
    },
    {
      "id": "stay_help",
      "label": "Do you need help with places to stay?",
      "type": "single_choice",
      "options": [
        "No, we book our own",
        "Yes, send us suggestions"
      ]
    },
    {
      "id": "time_limits",
      "label": "Times your team cannot play",
      "type": "long_text",
      "max_length": 800
    },
    {
      "id": "volunteer_official",
      "label": "One of us can referee or keep score",
      "type": "checkbox"
    },
    {
      "id": "tournament_rules_agreed",
      "label": "We have read the tournament rules",
      "type": "checkbox",
      "required": true
    }
  ]
}