Create a signup sheet in Google Forms style: volunteer sign-up

Updated 2026-10-30

People pick a date and the shifts that suit them, choose tasks and leave contact details. You get a roster as CSV.

Make it with my AI

Paste this into your AI. It needs the creator MCP.

text
Create a form with AI Form API called "Volunteer sign-up".
Description: Thank you for offering to help. Pick the date and the shifts that work for you.
Required: full_name (short_text), email (email), volunteer_date (date),
shifts (multi_choice: Morning, Afternoon, Evening).
Optional: phone (phone), tasks (multi_choice: Set up, Welcome desk, Food and drink, Clean up),
first_time (checkbox, "This is my first time volunteering"), notes (long_text).
Set max_responses to [number of volunteers I need] and turn agent_fill on.
Give me the public link.

Tips

  • Change the shift options to real times before you share the link. Sort the CSV by volunteer_date.
  • Visitors can use their own AI: agent-fillable forms. More templates.

Questions

Can I limit how many people sign up for each shift?

Not per shift. Cap the whole form with max_responses, or make one form per shift.

Is this the same as a signup sheet in Google Forms?

It does the same job. It is not a Google Form, and it has no Sheets sync yet.

How do I get the roster?

Download the responses as CSV. Each row is one volunteer.

Try the form

Live demo ยท nothing is saved

Volunteer sign-up

Thank you for offering to help. Pick the date and the shifts that work for you.

Which shifts work for you? (required)
What would you like to do?
This is my first time volunteering

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": "Volunteer sign-up",
  "description": "Thank you for offering to help. Pick the date and the shifts that work for you.",
  "fields": [
    {
      "id": "full_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "id": "phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "volunteer_date",
      "label": "Which date can you help?",
      "type": "date",
      "required": true
    },
    {
      "id": "shifts",
      "label": "Which shifts work for you?",
      "type": "multi_choice",
      "required": true,
      "options": [
        "Morning",
        "Afternoon",
        "Evening"
      ]
    },
    {
      "id": "tasks",
      "label": "What would you like to do?",
      "type": "multi_choice",
      "options": [
        "Set up",
        "Welcome desk",
        "Food and drink",
        "Clean up"
      ]
    },
    {
      "id": "first_time",
      "label": "This is my first time volunteering",
      "type": "checkbox"
    },
    {
      "id": "notes",
      "label": "Anything else we should know",
      "type": "long_text",
      "max_length": 1000
    }
  ]
}

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":"Volunteer sign-up","description":"Thank you for offering to help. Pick the date and the shifts that work for you.","fields":[{"id":"full_name","label":"Your full name","type":"short_text","required":true,"max_length":120},{"id":"email","label":"Email","type":"email","required":true},{"id":"phone","label":"Phone","type":"phone"},{"id":"volunteer_date","label":"Which date can you help?","type":"date","required":true},{"id":"shifts","label":"Which shifts work for you?","type":"multi_choice","required":true,"options":["Morning","Afternoon","Evening"]},{"id":"tasks","label":"What would you like to do?","type":"multi_choice","options":["Set up","Welcome desk","Food and drink","Clean up"]},{"id":"first_time","label":"This is my first time volunteering","type":"checkbox"},{"id":"notes","label":"Anything else we should know","type":"long_text","max_length":1000}]}'

JSON definition

json
{
  "title": "Volunteer sign-up",
  "description": "Thank you for offering to help. Pick the date and the shifts that work for you.",
  "fields": [
    {
      "id": "full_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "id": "phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "volunteer_date",
      "label": "Which date can you help?",
      "type": "date",
      "required": true
    },
    {
      "id": "shifts",
      "label": "Which shifts work for you?",
      "type": "multi_choice",
      "required": true,
      "options": [
        "Morning",
        "Afternoon",
        "Evening"
      ]
    },
    {
      "id": "tasks",
      "label": "What would you like to do?",
      "type": "multi_choice",
      "options": [
        "Set up",
        "Welcome desk",
        "Food and drink",
        "Clean up"
      ]
    },
    {
      "id": "first_time",
      "label": "This is my first time volunteering",
      "type": "checkbox"
    },
    {
      "id": "notes",
      "label": "Anything else we should know",
      "type": "long_text",
      "max_length": 1000
    }
  ]
}