HOA complaint form that keeps every report in one list

Updated 2026-10-30

Complaints reach the board by email, at the mailbox and over the fence. Each has different details, and nobody can tell if it is the third report or the first. I would rather give residents one door.

Who is this form for?

HOA boards and property managers who want one route for rule complaints, common area problems and exterior change requests. Residents use it to put things in writing.

Why one form for complaints and change requests?

The form cannot branch, so the change-request questions, such as project type and contractor, are optional and sit below the complaint ones. Residents skip what does not apply. If volume grows, make two forms and give each its own link.

What would a resident's AI ask?

"What is this about?" Then "Which address does it concern?" Then "Do you have a link to plans or photos?" It shows everything and sends only after a yes. Read about agent-fillable forms.

This is a form, not legal advice. Check your governing documents and local rules before you act on a complaint. Find more in forms for landlords and associations. Renters in the community can use a tenant complaint form, and shared homes benefit from a roommate agreement.

Questions

Does the form decide whether a request is approved?

No. It collects the request and the plans link. The board decides, in line with its own rules. Say so in the form description so residents know what to expect.

How do I keep a record of repeat complaints?

Sort the CSV by the issue address and the date. Repeated rows about one address are the record you want before the board sends a formal letter.

Can residents attach plans?

Only as a link, such as a shared folder. The form has no uploads. Ask for a link that opens without a login.

Try the form

Live demo ยท nothing is saved

Contact the HOA board

Use this form for a complaint, a common area problem, a question, or a request to change the outside of your home. The board reviews every message.

What is this about? (required)
For a change request, what are you changing?
I have already spoken to the other homeowner
I have given accurate facts to the best of my knowledge (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": "Contact the HOA board",
  "description": "Use this form for a complaint, a common area problem, a question, or a request to change the outside of your home. The board reviews every message.",
  "fields": [
    {
      "id": "resident_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "resident_address",
      "label": "Your property address",
      "type": "short_text",
      "required": true,
      "max_length": 250
    },
    {
      "id": "resident_email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "id": "resident_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "request_kind",
      "label": "What is this about?",
      "type": "single_choice",
      "required": true,
      "options": [
        "A complaint about a rule violation",
        "A common area problem",
        "A request to change my home's exterior",
        "A question for the board"
      ]
    },
    {
      "id": "issue_address",
      "label": "Address the issue is about, if different from yours",
      "type": "short_text",
      "max_length": 250
    },
    {
      "id": "issue_description",
      "label": "Describe the issue or request",
      "type": "long_text",
      "required": true,
      "max_length": 3000
    },
    {
      "id": "date_noticed_or_start",
      "label": "Date you noticed it, or plan to start work",
      "type": "date"
    },
    {
      "id": "rule_reference",
      "label": "Rule or section number, if you know it",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "change_projects",
      "label": "For a change request, what are you changing?",
      "type": "multi_choice",
      "options": [
        "Fence",
        "Paint colour",
        "Roof",
        "Windows or doors",
        "Driveway",
        "Landscaping",
        "Solar panels",
        "Shed or extension"
      ]
    },
    {
      "id": "contractor_name",
      "label": "Your contractor, if you have one",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "plans_or_photos_link",
      "label": "Link to plans, photos or colour samples",
      "type": "url"
    },
    {
      "id": "spoke_to_homeowner",
      "label": "I have already spoken to the other homeowner",
      "type": "checkbox"
    },
    {
      "id": "facts_accurate",
      "label": "I have given accurate facts to the best of my knowledge",
      "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":"Contact the HOA board","description":"Use this form for a complaint, a common area problem, a question, or a request to change the outside of your home. The board reviews every message.","fields":[{"id":"resident_name","label":"Your name","type":"short_text","required":true,"max_length":120},{"id":"resident_address","label":"Your property address","type":"short_text","required":true,"max_length":250},{"id":"resident_email","label":"Email","type":"email","required":true},{"id":"resident_phone","label":"Phone","type":"phone"},{"id":"request_kind","label":"What is this about?","type":"single_choice","required":true,"options":["A complaint about a rule violation","A common area problem","A request to change my home'\''s exterior","A question for the board"]},{"id":"issue_address","label":"Address the issue is about, if different from yours","type":"short_text","max_length":250},{"id":"issue_description","label":"Describe the issue or request","type":"long_text","required":true,"max_length":3000},{"id":"date_noticed_or_start","label":"Date you noticed it, or plan to start work","type":"date"},{"id":"rule_reference","label":"Rule or section number, if you know it","type":"short_text","max_length":100},{"id":"change_projects","label":"For a change request, what are you changing?","type":"multi_choice","options":["Fence","Paint colour","Roof","Windows or doors","Driveway","Landscaping","Solar panels","Shed or extension"]},{"id":"contractor_name","label":"Your contractor, if you have one","type":"short_text","max_length":150},{"id":"plans_or_photos_link","label":"Link to plans, photos or colour samples","type":"url"},{"id":"spoke_to_homeowner","label":"I have already spoken to the other homeowner","type":"checkbox"},{"id":"facts_accurate","label":"I have given accurate facts to the best of my knowledge","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Contact the HOA board",
  "description": "Use this form for a complaint, a common area problem, a question, or a request to change the outside of your home. The board reviews every message.",
  "fields": [
    {
      "id": "resident_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "resident_address",
      "label": "Your property address",
      "type": "short_text",
      "required": true,
      "max_length": 250
    },
    {
      "id": "resident_email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "id": "resident_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "request_kind",
      "label": "What is this about?",
      "type": "single_choice",
      "required": true,
      "options": [
        "A complaint about a rule violation",
        "A common area problem",
        "A request to change my home's exterior",
        "A question for the board"
      ]
    },
    {
      "id": "issue_address",
      "label": "Address the issue is about, if different from yours",
      "type": "short_text",
      "max_length": 250
    },
    {
      "id": "issue_description",
      "label": "Describe the issue or request",
      "type": "long_text",
      "required": true,
      "max_length": 3000
    },
    {
      "id": "date_noticed_or_start",
      "label": "Date you noticed it, or plan to start work",
      "type": "date"
    },
    {
      "id": "rule_reference",
      "label": "Rule or section number, if you know it",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "change_projects",
      "label": "For a change request, what are you changing?",
      "type": "multi_choice",
      "options": [
        "Fence",
        "Paint colour",
        "Roof",
        "Windows or doors",
        "Driveway",
        "Landscaping",
        "Solar panels",
        "Shed or extension"
      ]
    },
    {
      "id": "contractor_name",
      "label": "Your contractor, if you have one",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "plans_or_photos_link",
      "label": "Link to plans, photos or colour samples",
      "type": "url"
    },
    {
      "id": "spoke_to_homeowner",
      "label": "I have already spoken to the other homeowner",
      "type": "checkbox"
    },
    {
      "id": "facts_accurate",
      "label": "I have given accurate facts to the best of my knowledge",
      "type": "checkbox",
      "required": true
    }
  ]
}