Golf tournament registration form for outings and charity days

Updated 2026-10-30

Golf day entries arrive as texts, emails and phone calls, each with a different detail missing. I would rather every captain answer the same questions once, so the tee sheet starts from a clean list.

Before the form opens

I decide how many groups the course can host and which tee waves I can offer. Then I set max_responses to that number of groups and close_at to the entry deadline. I share one link in the invitation email, on the club page and at the front desk.

While it is open

A captain registers a whole group of up to four golfers. They add names, a rough handicap, a preferred tee wave, a cart plan and any side contests they want to join. They also say how many will stay for dinner, with dietary needs, and tick a box if their company would like to sponsor a hole. A captain's AI could ask "Who is playing in your group?" Then "Which tee wave do you prefer?" Then "How many stay for dinner?" It shows the answers and sends only after a yes. Learn about agent-fillable forms.

After the deadline

Download the CSV, build the tee sheet by wave and handicap, send the caterer the dinner total and call the sponsors. This form does not book tee times or email captains, so confirm times by message yourself. Planning other events? Browse forms for sports clubs and teams and forms for events. A general tournament registration form suits team sports, and a plain RSVP form suits the prize dinner.

Questions

Can I limit the number of groups?

Yes. Set max_responses to the number of groups the course can host. Each captain submits once for the whole group, so the cap counts groups, not golfers.

How do I plan dinner numbers?

Download the CSV and add up the dinner_count column. The dinner_dietary_needs column lists every dietary request for the caterer.

Does the form take payment for entries or sponsors?

No. It does not handle payments or card details. Send invoices or collect fees your usual way, and use the hole sponsor box to see who to call.

Try the form

Live demo ยท nothing is saved

Register your group for the golf day

One captain registers each group of up to four golfers. We will confirm tee times by message.

A guess is fine. We use it to balance the field.

Which tee wave do you prefer?
Carts
Which side contests will you join?
We would like to sponsor a hole

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 your group for the golf day",
  "description": "One captain registers each group of up to four golfers. We will confirm tee times by message.",
  "fields": [
    {
      "id": "captain_name",
      "label": "Group captain's name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "captain_email",
      "label": "Captain's email",
      "type": "email",
      "required": true
    },
    {
      "id": "captain_phone",
      "label": "Captain's phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "group_or_company",
      "label": "Company or group name",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "golfers_in_group",
      "label": "How many golfers are in your group?",
      "type": "number",
      "required": true,
      "min": 1,
      "max": 4
    },
    {
      "id": "golfer_names",
      "label": "Names of everyone in your group",
      "type": "long_text",
      "required": true,
      "max_length": 500
    },
    {
      "id": "group_handicap",
      "label": "Rough average handicap of the group",
      "type": "number",
      "help": "A guess is fine. We use it to balance the field.",
      "min": 0,
      "max": 54
    },
    {
      "id": "tee_wave",
      "label": "Which tee wave do you prefer?",
      "type": "single_choice",
      "options": [
        "Morning wave",
        "Afternoon wave",
        "No preference"
      ]
    },
    {
      "id": "cart_plan",
      "label": "Carts",
      "type": "single_choice",
      "options": [
        "One cart for every two golfers",
        "We will walk",
        "Not sure yet"
      ]
    },
    {
      "id": "side_contests",
      "label": "Which side contests will you join?",
      "type": "multi_choice",
      "options": [
        "Longest drive",
        "Closest to the pin",
        "Putting contest",
        "Raffle"
      ]
    },
    {
      "id": "dinner_count",
      "label": "How many will stay for dinner?",
      "type": "number",
      "min": 0,
      "max": 8
    },
    {
      "id": "dinner_dietary_needs",
      "label": "Dietary needs for dinner",
      "type": "long_text",
      "max_length": 500
    },
    {
      "id": "hole_sponsor_interest",
      "label": "We would like to sponsor a hole",
      "type": "checkbox"
    }
  ]
}

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 your group for the golf day","description":"One captain registers each group of up to four golfers. We will confirm tee times by message.","fields":[{"id":"captain_name","label":"Group captain'\''s name","type":"short_text","required":true,"max_length":150},{"id":"captain_email","label":"Captain'\''s email","type":"email","required":true},{"id":"captain_phone","label":"Captain'\''s phone","type":"phone","required":true},{"id":"group_or_company","label":"Company or group name","type":"short_text","max_length":150},{"id":"golfers_in_group","label":"How many golfers are in your group?","type":"number","required":true,"min":1,"max":4},{"id":"golfer_names","label":"Names of everyone in your group","type":"long_text","required":true,"max_length":500},{"id":"group_handicap","label":"Rough average handicap of the group","type":"number","help":"A guess is fine. We use it to balance the field.","min":0,"max":54},{"id":"tee_wave","label":"Which tee wave do you prefer?","type":"single_choice","options":["Morning wave","Afternoon wave","No preference"]},{"id":"cart_plan","label":"Carts","type":"single_choice","options":["One cart for every two golfers","We will walk","Not sure yet"]},{"id":"side_contests","label":"Which side contests will you join?","type":"multi_choice","options":["Longest drive","Closest to the pin","Putting contest","Raffle"]},{"id":"dinner_count","label":"How many will stay for dinner?","type":"number","min":0,"max":8},{"id":"dinner_dietary_needs","label":"Dietary needs for dinner","type":"long_text","max_length":500},{"id":"hole_sponsor_interest","label":"We would like to sponsor a hole","type":"checkbox"}]}'

JSON definition

json
{
  "title": "Register your group for the golf day",
  "description": "One captain registers each group of up to four golfers. We will confirm tee times by message.",
  "fields": [
    {
      "id": "captain_name",
      "label": "Group captain's name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "captain_email",
      "label": "Captain's email",
      "type": "email",
      "required": true
    },
    {
      "id": "captain_phone",
      "label": "Captain's phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "group_or_company",
      "label": "Company or group name",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "golfers_in_group",
      "label": "How many golfers are in your group?",
      "type": "number",
      "required": true,
      "min": 1,
      "max": 4
    },
    {
      "id": "golfer_names",
      "label": "Names of everyone in your group",
      "type": "long_text",
      "required": true,
      "max_length": 500
    },
    {
      "id": "group_handicap",
      "label": "Rough average handicap of the group",
      "type": "number",
      "help": "A guess is fine. We use it to balance the field.",
      "min": 0,
      "max": 54
    },
    {
      "id": "tee_wave",
      "label": "Which tee wave do you prefer?",
      "type": "single_choice",
      "options": [
        "Morning wave",
        "Afternoon wave",
        "No preference"
      ]
    },
    {
      "id": "cart_plan",
      "label": "Carts",
      "type": "single_choice",
      "options": [
        "One cart for every two golfers",
        "We will walk",
        "Not sure yet"
      ]
    },
    {
      "id": "side_contests",
      "label": "Which side contests will you join?",
      "type": "multi_choice",
      "options": [
        "Longest drive",
        "Closest to the pin",
        "Putting contest",
        "Raffle"
      ]
    },
    {
      "id": "dinner_count",
      "label": "How many will stay for dinner?",
      "type": "number",
      "min": 0,
      "max": 8
    },
    {
      "id": "dinner_dietary_needs",
      "label": "Dietary needs for dinner",
      "type": "long_text",
      "max_length": 500
    },
    {
      "id": "hole_sponsor_interest",
      "label": "We would like to sponsor a hole",
      "type": "checkbox"
    }
  ]
}