A potluck sign up sheet that shows what is on the table

Updated 2026-10-30

A group chat is a poor place to plan a meal. Dishes get lost in the scroll, and nobody knows who is bringing plates. I would rather share one link. Each guest adds a dish, and you read the whole menu as one list.

Who is this for?

Hosts of church suppers, office lunches, school picnics and street parties. If you want ideas for your own group, browse forms for churches and faith groups or forms for events.

What does each guest tell me?

  • Name and party size: so you know how many plates to set out.
  • Dish name and category: so the table stays balanced.
  • Servings and labels: so people with allergies can read the card at the buffet.
  • Oven, plug or fridge: so you can plan the kitchen before the day.
  • Phone number: for the one dish that goes missing.

What would a guest's AI ask?

"What are you bringing, and is it a main, a side or a dessert?" Then "How many people will it feed?" Then "Does it contain nuts, dairy or gluten?" The AI shows every answer and sends them only after a yes. Read more about agent-fillable forms.

What do I do with the answers?

Download the CSV and sort by category. Gaps show fast. Set the close date for the day before, so you can print a list. If there is a stage after dinner, an open mic sign up sheet works the same way. At the door, a sign in sheet keeps count of who arrived. Using a hall? A church facility rental form handles the room request.

Questions

How do I stop everyone bringing dessert?

Download the CSV and sort by dish_category as sign ups arrive. If desserts pile up, message those guests yourself and ask for sides. The form does not block repeats for you.

How do guests know which dishes contain nuts?

Each guest ticks labels in dietary_labels when they sign up. Copy that column onto table cards before the meal. The form records only what guests tell it, so ask them to be careful.

Can a guest's AI agent sign them up?

Yes. The guest copies the prompt from the public form into their own AI chat. It asks for the dish and servings, shows the answers and submits only after a yes.

Try the form

Live demo ยท nothing is saved

Join our potluck

Tell us what you plan to bring so the table stays balanced. Please add allergen labels so guests can read them at the buffet.

What kind of dish is it? (required)
Which labels apply to your dish?

Tick every label that applies so guests can read them at the table.

Does your dish need anything on the day?
I will bring my own serving spoon or tongs
I can arrive early to help set up

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": "Join our potluck",
  "description": "Tell us what you plan to bring so the table stays balanced. Please add allergen labels so guests can read them at the buffet.",
  "fields": [
    {
      "id": "guest_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "people_coming",
      "label": "How many people are you bringing, including you?",
      "type": "number",
      "required": true,
      "min": 1,
      "max": 12
    },
    {
      "id": "dish_category",
      "label": "What kind of dish is it?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Main dish",
        "Side dish",
        "Salad",
        "Bread or rolls",
        "Dessert",
        "Drinks",
        "Plates, cups and cutlery"
      ]
    },
    {
      "id": "dish_name",
      "label": "What is the dish called?",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "servings",
      "label": "Roughly how many people will it feed?",
      "type": "number",
      "min": 1,
      "max": 100
    },
    {
      "id": "dietary_labels",
      "label": "Which labels apply to your dish?",
      "type": "multi_choice",
      "help": "Tick every label that applies so guests can read them at the table.",
      "options": [
        "Vegetarian",
        "Vegan",
        "Gluten free",
        "Dairy free",
        "Contains nuts",
        "Contains eggs",
        "Contains shellfish"
      ]
    },
    {
      "id": "kitchen_needs",
      "label": "Does your dish need anything on the day?",
      "type": "single_choice",
      "options": [
        "No, it is ready to serve",
        "Oven space to reheat",
        "A plug for a slow cooker",
        "Fridge space"
      ]
    },
    {
      "id": "own_serving_spoon",
      "label": "I will bring my own serving spoon or tongs",
      "type": "checkbox"
    },
    {
      "id": "early_helper",
      "label": "I can arrive early to help set up",
      "type": "checkbox"
    },
    {
      "id": "phone",
      "label": "Phone number for last-minute changes",
      "type": "phone"
    },
    {
      "id": "note_to_host",
      "label": "Anything else the host should know?",
      "type": "long_text",
      "max_length": 500
    }
  ]
}

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":"Join our potluck","description":"Tell us what you plan to bring so the table stays balanced. Please add allergen labels so guests can read them at the buffet.","fields":[{"id":"guest_name","label":"Your name","type":"short_text","required":true,"max_length":120},{"id":"people_coming","label":"How many people are you bringing, including you?","type":"number","required":true,"min":1,"max":12},{"id":"dish_category","label":"What kind of dish is it?","type":"single_choice","required":true,"options":["Main dish","Side dish","Salad","Bread or rolls","Dessert","Drinks","Plates, cups and cutlery"]},{"id":"dish_name","label":"What is the dish called?","type":"short_text","required":true,"max_length":150},{"id":"servings","label":"Roughly how many people will it feed?","type":"number","min":1,"max":100},{"id":"dietary_labels","label":"Which labels apply to your dish?","type":"multi_choice","help":"Tick every label that applies so guests can read them at the table.","options":["Vegetarian","Vegan","Gluten free","Dairy free","Contains nuts","Contains eggs","Contains shellfish"]},{"id":"kitchen_needs","label":"Does your dish need anything on the day?","type":"single_choice","options":["No, it is ready to serve","Oven space to reheat","A plug for a slow cooker","Fridge space"]},{"id":"own_serving_spoon","label":"I will bring my own serving spoon or tongs","type":"checkbox"},{"id":"early_helper","label":"I can arrive early to help set up","type":"checkbox"},{"id":"phone","label":"Phone number for last-minute changes","type":"phone"},{"id":"note_to_host","label":"Anything else the host should know?","type":"long_text","max_length":500}]}'

JSON definition

json
{
  "title": "Join our potluck",
  "description": "Tell us what you plan to bring so the table stays balanced. Please add allergen labels so guests can read them at the buffet.",
  "fields": [
    {
      "id": "guest_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "people_coming",
      "label": "How many people are you bringing, including you?",
      "type": "number",
      "required": true,
      "min": 1,
      "max": 12
    },
    {
      "id": "dish_category",
      "label": "What kind of dish is it?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Main dish",
        "Side dish",
        "Salad",
        "Bread or rolls",
        "Dessert",
        "Drinks",
        "Plates, cups and cutlery"
      ]
    },
    {
      "id": "dish_name",
      "label": "What is the dish called?",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "servings",
      "label": "Roughly how many people will it feed?",
      "type": "number",
      "min": 1,
      "max": 100
    },
    {
      "id": "dietary_labels",
      "label": "Which labels apply to your dish?",
      "type": "multi_choice",
      "help": "Tick every label that applies so guests can read them at the table.",
      "options": [
        "Vegetarian",
        "Vegan",
        "Gluten free",
        "Dairy free",
        "Contains nuts",
        "Contains eggs",
        "Contains shellfish"
      ]
    },
    {
      "id": "kitchen_needs",
      "label": "Does your dish need anything on the day?",
      "type": "single_choice",
      "options": [
        "No, it is ready to serve",
        "Oven space to reheat",
        "A plug for a slow cooker",
        "Fridge space"
      ]
    },
    {
      "id": "own_serving_spoon",
      "label": "I will bring my own serving spoon or tongs",
      "type": "checkbox"
    },
    {
      "id": "early_helper",
      "label": "I can arrive early to help set up",
      "type": "checkbox"
    },
    {
      "id": "phone",
      "label": "Phone number for last-minute changes",
      "type": "phone"
    },
    {
      "id": "note_to_host",
      "label": "Anything else the host should know?",
      "type": "long_text",
      "max_length": 500
    }
  ]
}