Maintenance request form that stops repairs getting lost

Updated 2026-10-30

Texts at midnight, a voice message about the sink, an email with no unit number. Repairs vanish when requests arrive five ways. I would rather every request come in the same shape, so a manager can sort them in one place.

The problem. Area, type, urgency, a description and the date it began. These are the facts a repair person needs before they pick up a tool.

Getting in. Permission to enter, the hours the tenant is home, and a warning about a pet. They save a wasted visit.

Who and where. Name, unit and phone, so the right person is called.

Who fills it and who reads it

Tenants fill it in on a phone, or hand it to their own AI. It might ask "Which room is the problem in?" Then "How urgent is it?" Then "May we enter if you are out?" It shows everything and sends only after a yes. The manager reads the rows as JSON or CSV. See agent-fillable forms.

A tip

Sort by urgency first, then by problem area, so one trade can clear several jobs in a visit. Turn on the owner notice setting, notify_email, so you hear about each new request.

Find more in forms for landlords and forms for home services. A home inspection checklist finds problems before tenants report them. A tenant complaint form covers disputes between neighbours.

Questions

How do I handle emergencies?

Say in the form description that tenants should phone the emergency line first. A form is not a live alarm. The urgency answer helps you sort the day's list, not replace a call.

Can tenants add photos?

As a link only. Ask them to share a photo or video link in the last field. The form has no uploads, but the link arrives in the same row.

Can I pass requests to a contractor?

Yes, by CSV or by a signed webhook for every response. Filter by problem type first, so a plumber receives only plumbing rows.

Try the form

Live demo ยท nothing is saved

Report a repair

Tell us what needs fixing and when someone can come in. If anyone is in danger, call your emergency line first.

Where is the problem? (required)
What kind of problem is it?
How urgent is it? (required)
May we enter if you are out? (required)
When are you usually home?
A pet will be inside

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 a repair",
  "description": "Tell us what needs fixing and when someone can come in. If anyone is in danger, call your emergency line first.",
  "fields": [
    {
      "id": "tenant_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "unit_number",
      "label": "Unit or address",
      "type": "short_text",
      "required": true,
      "max_length": 200
    },
    {
      "id": "contact_phone",
      "label": "Phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "problem_area",
      "label": "Where is the problem?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Kitchen",
        "Bathroom",
        "Bedroom",
        "Living area",
        "Outside or shared area",
        "Whole home"
      ]
    },
    {
      "id": "problem_type",
      "label": "What kind of problem is it?",
      "type": "multi_choice",
      "options": [
        "Plumbing or leak",
        "Electrics",
        "Heating or cooling",
        "Appliance",
        "Pests",
        "Doors, windows or locks",
        "Something else"
      ]
    },
    {
      "id": "urgency",
      "label": "How urgent is it?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Emergency, unsafe now",
        "Urgent, needs a visit soon",
        "Routine, can wait a little"
      ]
    },
    {
      "id": "problem_description",
      "label": "Describe what is wrong",
      "type": "long_text",
      "required": true,
      "max_length": 2000
    },
    {
      "id": "first_noticed",
      "label": "When did you first notice it?",
      "type": "date"
    },
    {
      "id": "entry_permission",
      "label": "May we enter if you are out?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Yes, any time",
        "Yes, with notice",
        "No, I must be home"
      ]
    },
    {
      "id": "home_windows",
      "label": "When are you usually home?",
      "type": "multi_choice",
      "options": [
        "Weekday mornings",
        "Weekday afternoons",
        "Weekday evenings",
        "Weekends"
      ]
    },
    {
      "id": "pet_inside",
      "label": "A pet will be inside",
      "type": "checkbox"
    },
    {
      "id": "photo_link",
      "label": "Link to a photo or video of the problem",
      "type": "url"
    }
  ]
}

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 a repair","description":"Tell us what needs fixing and when someone can come in. If anyone is in danger, call your emergency line first.","fields":[{"id":"tenant_name","label":"Your name","type":"short_text","required":true,"max_length":120},{"id":"unit_number","label":"Unit or address","type":"short_text","required":true,"max_length":200},{"id":"contact_phone","label":"Phone","type":"phone","required":true},{"id":"problem_area","label":"Where is the problem?","type":"single_choice","required":true,"options":["Kitchen","Bathroom","Bedroom","Living area","Outside or shared area","Whole home"]},{"id":"problem_type","label":"What kind of problem is it?","type":"multi_choice","options":["Plumbing or leak","Electrics","Heating or cooling","Appliance","Pests","Doors, windows or locks","Something else"]},{"id":"urgency","label":"How urgent is it?","type":"single_choice","required":true,"options":["Emergency, unsafe now","Urgent, needs a visit soon","Routine, can wait a little"]},{"id":"problem_description","label":"Describe what is wrong","type":"long_text","required":true,"max_length":2000},{"id":"first_noticed","label":"When did you first notice it?","type":"date"},{"id":"entry_permission","label":"May we enter if you are out?","type":"single_choice","required":true,"options":["Yes, any time","Yes, with notice","No, I must be home"]},{"id":"home_windows","label":"When are you usually home?","type":"multi_choice","options":["Weekday mornings","Weekday afternoons","Weekday evenings","Weekends"]},{"id":"pet_inside","label":"A pet will be inside","type":"checkbox"},{"id":"photo_link","label":"Link to a photo or video of the problem","type":"url"}]}'

JSON definition

json
{
  "title": "Report a repair",
  "description": "Tell us what needs fixing and when someone can come in. If anyone is in danger, call your emergency line first.",
  "fields": [
    {
      "id": "tenant_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "unit_number",
      "label": "Unit or address",
      "type": "short_text",
      "required": true,
      "max_length": 200
    },
    {
      "id": "contact_phone",
      "label": "Phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "problem_area",
      "label": "Where is the problem?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Kitchen",
        "Bathroom",
        "Bedroom",
        "Living area",
        "Outside or shared area",
        "Whole home"
      ]
    },
    {
      "id": "problem_type",
      "label": "What kind of problem is it?",
      "type": "multi_choice",
      "options": [
        "Plumbing or leak",
        "Electrics",
        "Heating or cooling",
        "Appliance",
        "Pests",
        "Doors, windows or locks",
        "Something else"
      ]
    },
    {
      "id": "urgency",
      "label": "How urgent is it?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Emergency, unsafe now",
        "Urgent, needs a visit soon",
        "Routine, can wait a little"
      ]
    },
    {
      "id": "problem_description",
      "label": "Describe what is wrong",
      "type": "long_text",
      "required": true,
      "max_length": 2000
    },
    {
      "id": "first_noticed",
      "label": "When did you first notice it?",
      "type": "date"
    },
    {
      "id": "entry_permission",
      "label": "May we enter if you are out?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Yes, any time",
        "Yes, with notice",
        "No, I must be home"
      ]
    },
    {
      "id": "home_windows",
      "label": "When are you usually home?",
      "type": "multi_choice",
      "options": [
        "Weekday mornings",
        "Weekday afternoons",
        "Weekday evenings",
        "Weekends"
      ]
    },
    {
      "id": "pet_inside",
      "label": "A pet will be inside",
      "type": "checkbox"
    },
    {
      "id": "photo_link",
      "label": "Link to a photo or video of the problem",
      "type": "url"
    }
  ]
}