A workshop registration form for any hands-on session

Updated 2026-10-30

A workshop only works if the room matches the people in it. Too many beginners and the keen ones are bored. Too few chairs and someone stands. I would ask a handful of questions before the day, then plan the room from the answers.

Use this when

You teach a craft, a skill or a tool to a small group and the seats are limited. You want to know how experienced people are and what they will bring.

Skip it when

You need to take payment, offer slots on a calendar or collect uploads. The form does none of these. It only gathers sign ups.

What is asked and why

  • Contact details: so you can send joining instructions yourself.
  • Session choice: morning, afternoon or either, so you can balance the groups.
  • Experience: so you set the pace of the first hour.
  • What they bring: laptops, tools or materials, so you know what to lend.
  • Places wanted and waiting list: for friends who want to sit together, and for seats that open up.
  • Photo box: so you know who is happy to be photographed.

What a participant's AI would ask

"Which session suits you?" Then "How much experience do you have?" Then "What will you bring with you?" It shows every answer and submits only after a yes. See agent-fillable forms.

Running a bigger programme? Browse forms for events and forms for tutors and childcare. An online version fits a webinar registration form. Staff courses suit a training registration form. Afterwards, ask for ratings with the course evaluation template.

Questions

How do I handle a full workshop?

Set max_responses to your seat count so the form stops taking sign ups at that number. The waiting list tick box shows who would still like a place if someone drops out.

Can I run two sessions from one form?

Yes. The session question lists your options, such as morning and afternoon. Filter the CSV on that column to get one attendee list per session.

What if people arrive with very different skill levels?

The experience question tells you who is new. Read it before the day, then group beginners together or pair them with confident people when you plan the tables.

Try the form

Live demo ยท nothing is saved

Book your place at the workshop

Places are limited, so please tell us a little about you. We plan the room around your answers.

Which session would you like? (required)
How much experience do you have? (required)
What will you bring?

Include yourself and anyone you want to sit with.

Add me to the waiting list if the session is full
I am happy to appear in photos of the day

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": "Book your place at the workshop",
  "description": "Places are limited, so please tell us a little about you. We plan the room around your answers.",
  "fields": [
    {
      "id": "participant_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "participant_email",
      "label": "Email for joining instructions",
      "type": "email",
      "required": true
    },
    {
      "id": "participant_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "session_choice",
      "label": "Which session would you like?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Morning session",
        "Afternoon session",
        "Either works for me"
      ]
    },
    {
      "id": "skill_level",
      "label": "How much experience do you have?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Complete beginner",
        "Some practice",
        "Confident",
        "I could teach others"
      ]
    },
    {
      "id": "bring_list",
      "label": "What will you bring?",
      "type": "multi_choice",
      "options": [
        "Laptop",
        "Notebook and pen",
        "My own tools or materials",
        "Nothing, please lend me what I need"
      ]
    },
    {
      "id": "seats_wanted",
      "label": "How many places do you want?",
      "type": "number",
      "help": "Include yourself and anyone you want to sit with.",
      "min": 1,
      "max": 6
    },
    {
      "id": "learning_goal",
      "label": "What do you hope to take away?",
      "type": "long_text",
      "max_length": 800
    },
    {
      "id": "accessibility_needs",
      "label": "Anything we should do to make the room work for you?",
      "type": "long_text",
      "max_length": 600
    },
    {
      "id": "waiting_list_ok",
      "label": "Add me to the waiting list if the session is full",
      "type": "checkbox"
    },
    {
      "id": "photo_ok",
      "label": "I am happy to appear in photos of the day",
      "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":"Book your place at the workshop","description":"Places are limited, so please tell us a little about you. We plan the room around your answers.","fields":[{"id":"participant_name","label":"Your name","type":"short_text","required":true,"max_length":120},{"id":"participant_email","label":"Email for joining instructions","type":"email","required":true},{"id":"participant_phone","label":"Phone","type":"phone"},{"id":"session_choice","label":"Which session would you like?","type":"single_choice","required":true,"options":["Morning session","Afternoon session","Either works for me"]},{"id":"skill_level","label":"How much experience do you have?","type":"single_choice","required":true,"options":["Complete beginner","Some practice","Confident","I could teach others"]},{"id":"bring_list","label":"What will you bring?","type":"multi_choice","options":["Laptop","Notebook and pen","My own tools or materials","Nothing, please lend me what I need"]},{"id":"seats_wanted","label":"How many places do you want?","type":"number","help":"Include yourself and anyone you want to sit with.","min":1,"max":6},{"id":"learning_goal","label":"What do you hope to take away?","type":"long_text","max_length":800},{"id":"accessibility_needs","label":"Anything we should do to make the room work for you?","type":"long_text","max_length":600},{"id":"waiting_list_ok","label":"Add me to the waiting list if the session is full","type":"checkbox"},{"id":"photo_ok","label":"I am happy to appear in photos of the day","type":"checkbox"}]}'

JSON definition

json
{
  "title": "Book your place at the workshop",
  "description": "Places are limited, so please tell us a little about you. We plan the room around your answers.",
  "fields": [
    {
      "id": "participant_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "participant_email",
      "label": "Email for joining instructions",
      "type": "email",
      "required": true
    },
    {
      "id": "participant_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "session_choice",
      "label": "Which session would you like?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Morning session",
        "Afternoon session",
        "Either works for me"
      ]
    },
    {
      "id": "skill_level",
      "label": "How much experience do you have?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Complete beginner",
        "Some practice",
        "Confident",
        "I could teach others"
      ]
    },
    {
      "id": "bring_list",
      "label": "What will you bring?",
      "type": "multi_choice",
      "options": [
        "Laptop",
        "Notebook and pen",
        "My own tools or materials",
        "Nothing, please lend me what I need"
      ]
    },
    {
      "id": "seats_wanted",
      "label": "How many places do you want?",
      "type": "number",
      "help": "Include yourself and anyone you want to sit with.",
      "min": 1,
      "max": 6
    },
    {
      "id": "learning_goal",
      "label": "What do you hope to take away?",
      "type": "long_text",
      "max_length": 800
    },
    {
      "id": "accessibility_needs",
      "label": "Anything we should do to make the room work for you?",
      "type": "long_text",
      "max_length": 600
    },
    {
      "id": "waiting_list_ok",
      "label": "Add me to the waiting list if the session is full",
      "type": "checkbox"
    },
    {
      "id": "photo_ok",
      "label": "I am happy to appear in photos of the day",
      "type": "checkbox"
    }
  ]
}