Pre order form for a launch that is still being made

Updated 2026-10-30

You are about to launch, and people already ask how to get one. Replies in DMs, emails and comments pile up. I would rather give them one link, so every pre-order lands in the same list in the same shape.

How it works

  1. Who is buying: name and email.
  2. What they want: the item, colour or size, and how many.
  3. Where it goes: a delivery address, a gift option and a tick that they understand the ship date is an estimate.

The form takes no payment. You collect payment through your own checkout.

What a buyer's AI would ask

"Which item do you want?" Then "How many?" Then "Where should we send it?" It shows all answers and sends only after a yes. Read more about agent-fillable forms.

Good to know

Set max_responses to the number of orders you can fill, so the form closes when you are full. Sort the CSV by item to see what to make first. A buyer who changes their mind can use an order cancellation form, and a leaver can share why in a cancellation feedback survey. Bakers taking early orders may prefer a cookie order form. More ideas are in forms for Ecommerce and Shopify stores.

Questions

Can the form stop taking pre-orders when stock is gone?

Yes. Set max_responses to the number of orders you can fill and close_at to a final date. Quantity is a number answer, so also add it up in the CSV.

Does it take payment?

No. It collects the order only. Take payment through your own checkout or invoice when you are ready to ship.

How do I tell buyers the date has moved?

The form cannot email buyers. Use the addresses in the CSV to write to them yourself, and state the estimate in the form description and confirmation_message.

Try the form

Live demo ยท nothing is saved

Reserve yours before it ships

Tell us what you would like and where it should go. We will be in touch as soon as we know the ship date.

Which item are you pre-ordering? (required)

Full address including the country.

This is a gift
What would you like to hear about?
How did you hear about this?
I understand the ship date is an estimate and may move (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": "Reserve yours before it ships",
  "description": "Tell us what you would like and where it should go. We will be in touch as soon as we know the ship date.",
  "fields": [
    {
      "id": "buyer_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "buyer_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "item_chosen",
      "label": "Which item are you pre-ordering?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Standard edition",
        "Deluxe edition",
        "Bundle with extras"
      ]
    },
    {
      "id": "colour_or_size",
      "label": "Colour or size",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "quantity",
      "label": "How many would you like?",
      "type": "number",
      "required": true,
      "min": 1,
      "max": 20
    },
    {
      "id": "delivery_address",
      "label": "Where should we send it?",
      "type": "long_text",
      "required": true,
      "help": "Full address including the country.",
      "max_length": 500
    },
    {
      "id": "is_gift",
      "label": "This is a gift",
      "type": "checkbox"
    },
    {
      "id": "gift_message",
      "label": "Gift message",
      "type": "long_text",
      "max_length": 300
    },
    {
      "id": "update_topics",
      "label": "What would you like to hear about?",
      "type": "multi_choice",
      "options": [
        "Production progress",
        "Ship date changes",
        "Early access to extras"
      ]
    },
    {
      "id": "found_us_via",
      "label": "How did you hear about this?",
      "type": "single_choice",
      "options": [
        "Social media",
        "A friend",
        "A newsletter",
        "A search",
        "Somewhere else"
      ]
    },
    {
      "id": "date_estimate_ok",
      "label": "I understand the ship date is an estimate and may move",
      "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":"Reserve yours before it ships","description":"Tell us what you would like and where it should go. We will be in touch as soon as we know the ship date.","fields":[{"id":"buyer_name","label":"Your name","type":"short_text","required":true,"max_length":150},{"id":"buyer_email","label":"Your email","type":"email","required":true},{"id":"item_chosen","label":"Which item are you pre-ordering?","type":"single_choice","required":true,"options":["Standard edition","Deluxe edition","Bundle with extras"]},{"id":"colour_or_size","label":"Colour or size","type":"short_text","max_length":100},{"id":"quantity","label":"How many would you like?","type":"number","required":true,"min":1,"max":20},{"id":"delivery_address","label":"Where should we send it?","type":"long_text","required":true,"help":"Full address including the country.","max_length":500},{"id":"is_gift","label":"This is a gift","type":"checkbox"},{"id":"gift_message","label":"Gift message","type":"long_text","max_length":300},{"id":"update_topics","label":"What would you like to hear about?","type":"multi_choice","options":["Production progress","Ship date changes","Early access to extras"]},{"id":"found_us_via","label":"How did you hear about this?","type":"single_choice","options":["Social media","A friend","A newsletter","A search","Somewhere else"]},{"id":"date_estimate_ok","label":"I understand the ship date is an estimate and may move","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Reserve yours before it ships",
  "description": "Tell us what you would like and where it should go. We will be in touch as soon as we know the ship date.",
  "fields": [
    {
      "id": "buyer_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "buyer_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "item_chosen",
      "label": "Which item are you pre-ordering?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Standard edition",
        "Deluxe edition",
        "Bundle with extras"
      ]
    },
    {
      "id": "colour_or_size",
      "label": "Colour or size",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "quantity",
      "label": "How many would you like?",
      "type": "number",
      "required": true,
      "min": 1,
      "max": 20
    },
    {
      "id": "delivery_address",
      "label": "Where should we send it?",
      "type": "long_text",
      "required": true,
      "help": "Full address including the country.",
      "max_length": 500
    },
    {
      "id": "is_gift",
      "label": "This is a gift",
      "type": "checkbox"
    },
    {
      "id": "gift_message",
      "label": "Gift message",
      "type": "long_text",
      "max_length": 300
    },
    {
      "id": "update_topics",
      "label": "What would you like to hear about?",
      "type": "multi_choice",
      "options": [
        "Production progress",
        "Ship date changes",
        "Early access to extras"
      ]
    },
    {
      "id": "found_us_via",
      "label": "How did you hear about this?",
      "type": "single_choice",
      "options": [
        "Social media",
        "A friend",
        "A newsletter",
        "A search",
        "Somewhere else"
      ]
    },
    {
      "id": "date_estimate_ok",
      "label": "I understand the ship date is an estimate and may move",
      "type": "checkbox",
      "required": true
    }
  ]
}