An availability form for the week ahead

Updated 2026-10-30

Asking everyone for their availability in a group chat gets you replies in every shape. I would rather ask once, in one link, with the same tick boxes for everybody. Then building the rota is a sort, not a puzzle.

Who needs it?

Managers building a weekly rota, tutors and childminders arranging sessions, and clubs finding who can make training. Start with forms for restaurants and food businesses, then see forms for HR and recruiting and forms for tutors and childcare.

What does each person tell me?

The days they can work and the parts of the day that suit them, so you can match people to shifts. The fewest and most hours they want each week. The date they are free from and the dates they are not. Any other commitments, and whether they can cover at short notice.

What would their AI ask?

"Which days can you work?" Then "Which parts of the day suit you?" Then "How many hours a week is the most you can do?" It shows every answer and sends only after a yes. Read more about agent-fillable forms.

What are the limits?

The form has no calendar, no shift booking and no reminders. You build the rota yourself and the form gives you the facts. When plans change later, a shift swap request handles the swap. For new hires, start with a restaurant job application form.

Questions

How do I build a rota from the answers?

Download the CSV and filter days_available and time_blocks for each shift you need to fill. Check max_hours_per_week too, so nobody gets more hours than they asked for.

How often should people send a new one?

Ask for a fresh reply each term or season. The available_from date tells you which reply is newest, so you can keep one current row for each person.

Does it check for clashes with other people?

No. It collects what each person can do and nothing else. You do the matching in your spreadsheet. The form has no calendar and does not book shifts.

Try the form

Live demo ยท nothing is saved

When can you work?

Tell us the days and times that suit you. We build the schedule from your answers, so please be realistic.

Which days can you work? (required)
Which parts of the day suit you? (required)

Holidays, exams, trips or appointments.

Do you have other commitments?
I can cover shifts at short notice

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": "When can you work?",
  "description": "Tell us the days and times that suit you. We build the schedule from your answers, so please be realistic.",
  "fields": [
    {
      "id": "full_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "contact_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "contact_email",
      "label": "Email",
      "type": "email"
    },
    {
      "id": "role_or_group",
      "label": "Your role, subject or team",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "days_available",
      "label": "Which days can you work?",
      "type": "multi_choice",
      "required": true,
      "options": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday"
      ]
    },
    {
      "id": "time_blocks",
      "label": "Which parts of the day suit you?",
      "type": "multi_choice",
      "required": true,
      "options": [
        "Mornings",
        "Lunchtime",
        "Afternoons",
        "Evenings",
        "Late night"
      ]
    },
    {
      "id": "min_hours_per_week",
      "label": "Fewest hours you would like each week",
      "type": "number",
      "min": 0,
      "max": 80
    },
    {
      "id": "max_hours_per_week",
      "label": "Most hours you can do each week",
      "type": "number",
      "required": true,
      "min": 0,
      "max": 80
    },
    {
      "id": "available_from",
      "label": "Available from",
      "type": "date"
    },
    {
      "id": "blackout_dates",
      "label": "Dates you cannot work",
      "type": "long_text",
      "help": "Holidays, exams, trips or appointments.",
      "max_length": 600
    },
    {
      "id": "other_commitments",
      "label": "Do you have other commitments?",
      "type": "single_choice",
      "options": [
        "School or college",
        "Another job",
        "Caring duties",
        "Nothing to mention"
      ]
    },
    {
      "id": "cover_last_minute",
      "label": "I can cover shifts at short notice",
      "type": "checkbox"
    },
    {
      "id": "notes",
      "label": "Anything else we 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":"When can you work?","description":"Tell us the days and times that suit you. We build the schedule from your answers, so please be realistic.","fields":[{"id":"full_name","label":"Your name","type":"short_text","required":true,"max_length":120},{"id":"contact_phone","label":"Phone","type":"phone"},{"id":"contact_email","label":"Email","type":"email"},{"id":"role_or_group","label":"Your role, subject or team","type":"short_text","max_length":100},{"id":"days_available","label":"Which days can you work?","type":"multi_choice","required":true,"options":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]},{"id":"time_blocks","label":"Which parts of the day suit you?","type":"multi_choice","required":true,"options":["Mornings","Lunchtime","Afternoons","Evenings","Late night"]},{"id":"min_hours_per_week","label":"Fewest hours you would like each week","type":"number","min":0,"max":80},{"id":"max_hours_per_week","label":"Most hours you can do each week","type":"number","required":true,"min":0,"max":80},{"id":"available_from","label":"Available from","type":"date"},{"id":"blackout_dates","label":"Dates you cannot work","type":"long_text","help":"Holidays, exams, trips or appointments.","max_length":600},{"id":"other_commitments","label":"Do you have other commitments?","type":"single_choice","options":["School or college","Another job","Caring duties","Nothing to mention"]},{"id":"cover_last_minute","label":"I can cover shifts at short notice","type":"checkbox"},{"id":"notes","label":"Anything else we should know?","type":"long_text","max_length":500}]}'

JSON definition

json
{
  "title": "When can you work?",
  "description": "Tell us the days and times that suit you. We build the schedule from your answers, so please be realistic.",
  "fields": [
    {
      "id": "full_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "contact_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "contact_email",
      "label": "Email",
      "type": "email"
    },
    {
      "id": "role_or_group",
      "label": "Your role, subject or team",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "days_available",
      "label": "Which days can you work?",
      "type": "multi_choice",
      "required": true,
      "options": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday"
      ]
    },
    {
      "id": "time_blocks",
      "label": "Which parts of the day suit you?",
      "type": "multi_choice",
      "required": true,
      "options": [
        "Mornings",
        "Lunchtime",
        "Afternoons",
        "Evenings",
        "Late night"
      ]
    },
    {
      "id": "min_hours_per_week",
      "label": "Fewest hours you would like each week",
      "type": "number",
      "min": 0,
      "max": 80
    },
    {
      "id": "max_hours_per_week",
      "label": "Most hours you can do each week",
      "type": "number",
      "required": true,
      "min": 0,
      "max": 80
    },
    {
      "id": "available_from",
      "label": "Available from",
      "type": "date"
    },
    {
      "id": "blackout_dates",
      "label": "Dates you cannot work",
      "type": "long_text",
      "help": "Holidays, exams, trips or appointments.",
      "max_length": 600
    },
    {
      "id": "other_commitments",
      "label": "Do you have other commitments?",
      "type": "single_choice",
      "options": [
        "School or college",
        "Another job",
        "Caring duties",
        "Nothing to mention"
      ]
    },
    {
      "id": "cover_last_minute",
      "label": "I can cover shifts at short notice",
      "type": "checkbox"
    },
    {
      "id": "notes",
      "label": "Anything else we should know?",
      "type": "long_text",
      "max_length": 500
    }
  ]
}