Absence request form for parents and the school office

Updated 2026-10-30

Absence notes arrive as voicemails, emails and scraps of paper, and someone at the office has to sort them. I would rather give parents one link. They say who, when, why and who is picking up.

Use this when

Families need to report an absence, a late arrival or an early dismissal ahead of time, and the office wants every request in one list.

Skip it when

A child is unwell at school or the matter is urgent. Phone the school instead, because nobody may read a form straight away.

What is asked and why

The student and class tell the office whom to inform. Dates and request type show whether it is one day, a few days or an early pick-up. A reason from a short list, plus one box for detail, keeps notes tidy. A work box says whether to send lessons home. The person collecting, and their phone number, matter most for early dismissal.

What a parent's AI would ask

"Which days will your child be away?" Then "What is the reason?" Then "Who will collect them, and on what number?" It shows the answers and sends only after a yes. Read about agent-fillable forms.

More for the office

Browse forms for schools. Keep contact details fresh with a student registration form, and note each child's interests in a student profile.

Questions

Can parents send a doctor's note?

No. The form cannot take files. Ask parents to bring any note to the office on return, and use the details box only for facts the office needs.

How do I turn requests into a daily list?

Download the CSV and filter first_day to today's date. Sort by request_type so early dismissals appear together with their leave_time.

Can a family report a long trip?

Yes. They choose several days away and set the last day. Your own attendance policy decides what is approved, so the form records the request only.

Try the form

Live demo ยท nothing is saved

Report an absence or early pick-up

Please tell the school office before the day if you can. One form for each request.

What do you need to tell us? (required)

Leave blank for a single day.

For example 1:30 pm.

Reason

Keep medical details to what the office needs.

Please send home the work they will miss

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": "Report an absence or early pick-up",
  "description": "Please tell the school office before the day if you can. One form for each request.",
  "fields": [
    {
      "id": "student_name",
      "label": "Student's full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "class_name",
      "label": "Class or teacher",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "request_type",
      "label": "What do you need to tell us?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Full day absence",
        "Several days away",
        "Late arrival",
        "Early dismissal"
      ]
    },
    {
      "id": "first_day",
      "label": "First day affected",
      "type": "date",
      "required": true
    },
    {
      "id": "last_day",
      "label": "Last day affected",
      "type": "date",
      "help": "Leave blank for a single day."
    },
    {
      "id": "leave_time",
      "label": "Time to arrive or leave, if part of a day",
      "type": "short_text",
      "help": "For example 1:30 pm.",
      "max_length": 40
    },
    {
      "id": "absence_reason",
      "label": "Reason",
      "type": "single_choice",
      "options": [
        "Illness",
        "Medical appointment",
        "Family event",
        "Travel",
        "Religious observance",
        "Other"
      ]
    },
    {
      "id": "details_for_office",
      "label": "Anything the office should know",
      "type": "long_text",
      "help": "Keep medical details to what the office needs.",
      "max_length": 600
    },
    {
      "id": "send_work_home",
      "label": "Please send home the work they will miss",
      "type": "checkbox"
    },
    {
      "id": "collected_by",
      "label": "Who will collect the student?",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "collector_phone",
      "label": "Phone number of the person collecting",
      "type": "phone"
    },
    {
      "id": "parent_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "parent_phone",
      "label": "Your phone number",
      "type": "phone",
      "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":"Report an absence or early pick-up","description":"Please tell the school office before the day if you can. One form for each request.","fields":[{"id":"student_name","label":"Student'\''s full name","type":"short_text","required":true,"max_length":150},{"id":"class_name","label":"Class or teacher","type":"short_text","max_length":100},{"id":"request_type","label":"What do you need to tell us?","type":"single_choice","required":true,"options":["Full day absence","Several days away","Late arrival","Early dismissal"]},{"id":"first_day","label":"First day affected","type":"date","required":true},{"id":"last_day","label":"Last day affected","type":"date","help":"Leave blank for a single day."},{"id":"leave_time","label":"Time to arrive or leave, if part of a day","type":"short_text","help":"For example 1:30 pm.","max_length":40},{"id":"absence_reason","label":"Reason","type":"single_choice","options":["Illness","Medical appointment","Family event","Travel","Religious observance","Other"]},{"id":"details_for_office","label":"Anything the office should know","type":"long_text","help":"Keep medical details to what the office needs.","max_length":600},{"id":"send_work_home","label":"Please send home the work they will miss","type":"checkbox"},{"id":"collected_by","label":"Who will collect the student?","type":"short_text","max_length":150},{"id":"collector_phone","label":"Phone number of the person collecting","type":"phone"},{"id":"parent_name","label":"Your full name","type":"short_text","required":true,"max_length":150},{"id":"parent_phone","label":"Your phone number","type":"phone","required":true}]}'

JSON definition

json
{
  "title": "Report an absence or early pick-up",
  "description": "Please tell the school office before the day if you can. One form for each request.",
  "fields": [
    {
      "id": "student_name",
      "label": "Student's full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "class_name",
      "label": "Class or teacher",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "request_type",
      "label": "What do you need to tell us?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Full day absence",
        "Several days away",
        "Late arrival",
        "Early dismissal"
      ]
    },
    {
      "id": "first_day",
      "label": "First day affected",
      "type": "date",
      "required": true
    },
    {
      "id": "last_day",
      "label": "Last day affected",
      "type": "date",
      "help": "Leave blank for a single day."
    },
    {
      "id": "leave_time",
      "label": "Time to arrive or leave, if part of a day",
      "type": "short_text",
      "help": "For example 1:30 pm.",
      "max_length": 40
    },
    {
      "id": "absence_reason",
      "label": "Reason",
      "type": "single_choice",
      "options": [
        "Illness",
        "Medical appointment",
        "Family event",
        "Travel",
        "Religious observance",
        "Other"
      ]
    },
    {
      "id": "details_for_office",
      "label": "Anything the office should know",
      "type": "long_text",
      "help": "Keep medical details to what the office needs.",
      "max_length": 600
    },
    {
      "id": "send_work_home",
      "label": "Please send home the work they will miss",
      "type": "checkbox"
    },
    {
      "id": "collected_by",
      "label": "Who will collect the student?",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "collector_phone",
      "label": "Phone number of the person collecting",
      "type": "phone"
    },
    {
      "id": "parent_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "parent_phone",
      "label": "Your phone number",
      "type": "phone",
      "required": true
    }
  ]
}