Forms

Labeling forms so AI agents can fill them

The for attribute, real submit buttons, and the small fixes that let an agent complete your contact or booking form.

A contact form is where a lot of local businesses get a lead. It’s also where AI agents most often get stuck.

The problem an agent sees

A label sitting next to an input tells a person what to type. It tells an agent nothing — unless the label is wired to the field. An agent reads a form field by field and asks: what is this one for? If the answer isn’t in the markup, it guesses, or it gives up.

What to fix

Tie every label to its field. Use <label for="email">Email</label> with a matching id="email" on the input. Now the field has a name an agent can read.

Don’t rely on placeholder text. A placeholder disappears the moment typing starts and isn’t a reliable label. Use a real label.

Mark required fields in markup. Add the required attribute, not just a red asterisk a human can see.

Use a real submit button. A <button type="submit"> the agent can find, not a styled div that’s a dead end at the last step.

Booking forms especially

Around 40% of appointment requests come in after hours, when no one’s there to answer the phone. If an agent can book for a customer at 11pm, you get the job. If your form is unreadable, the agent moves to a competitor whose form works. The markup is the difference.

The pattern

<label for="name">Full name</label>
<input id="name" name="name" required>
<button type="submit">Request appointment</button>

Plain, labeled, complete. That’s all an agent needs. Scan your site to check your forms, or read the full guide.

See where your site stands

Scan your site free and get your agent-readiness score across all five categories.

Scan your site