Contact form
A contact form has four fields, and most of them are not the ones people add.
Name, email, message, and reply-to — the rest is usually a way of not answering people.
Open the pageLibrary · 34 entries
Every form here has a job. The fields follow from the job, and the failure follows from the fields — so the pages are written in that order.
Field lists get copied between projects until every form collects a phone number nobody calls and a "how did you hear about us" nobody reads. Starting from the job inverts that: say what the form is for in one sentence, then ask which fields that sentence requires. Anything the sentence does not require is a decision to justify, not a default to inherit.
One endpoint, urlencoded by default, a honeypot that is already on, a rate limit per form, and a stored record before any delivery is attempted. The differences are the fields, the rules that route or refuse a submission, and what happens to the data afterwards.
Contact form
Name, email, message, and reply-to — the rest is usually a way of not answering people.
Open the pageQuote request
Ask for the four facts that change the price, and skip everything that only changes the first phone call.
Open the pageWaitlist
One field, one promise, one confirmation. Every extra question costs signups you cannot get back.
Open the pageNewsletter signup
Store the agreement with the address, or you will be asked to prove it and will not be able to.
Open the pageFeedback form
One question, one optional field, and a promise that someone reads it.
Open the pageNPS survey
Ask the score, then ask why. The second question is the one that changes the product.
Open the pageJob application
A CV upload, three questions that predict fit, and a retention window you can state out loud.
Open the pageBug report
What happened, what should have happened, and where. Without the third, the first two describe a mystery.
Open the pageSupport ticket
Category routes it, priority is usually a guess, and the submission id is what makes a follow-up possible.
Open the pageEvent registration
Collect the four fields an event needs, confirm in writing, and export before the day.
Open the pageBooking request
Ask for a preferred slot and one alternative, then confirm by hand. It is honest and it works.
Open the pageOrder request
Collect what they want and how to reach them, then hand off to a payment link. Do not fake a checkout.
Open the pageDocument upload
Enable uploads, set an allowlist, and decide today where the files live after they expire.
Open the pageSales inquiry
Three fields that decide whether this is a conversation, and a route rule so it reaches a person.
Open the pageWholesale inquiry
Quantity, destination, and terms. Without them the reply is a brochure instead of a price.
Open the pageDonation form
Record the intent and the amount, hand off to a payment page, and make the receipt say what happened.
Open the pageIn-kind donation
What it is, whether it can be used, and who moves it. Most in-kind offers fail on the third question.
Open the pagePress inquiry
Outlet, angle, deadline. A journalist with a deadline needs a fact, not a form confirmation.
Open the pagePurchase request
Item, cost, budget line, approver. Without the last two it is a wish list with a price.
Open the pageMaintenance request
Where, what, how urgent, and how to get in. Miss the last one and the visit fails.
Open the pageChange request
A change request is a decision document. If it does not state the cost of saying yes, it is just a wish.
Open the pageVendor application
Capability, capacity, terms, documents. The terms question is the one that saves a quarter of negotiation.
Open the pageRental application
Ask what a decision needs, get explicit consent for screening, and delete what you did not use.
Open the pageRefund request
Order reference first, then what went wrong, then what they want. The first field saves most of the emails.
Open the pageComplaint form
What happened, when, what you want — plus an acknowledgement that names a date.
Open the pageWarranty registration
Serial, date, proof. Registration is a lookup record, not a contract — word it that way.
Open the pageCourse enrollment
Cohort, seats, and who pays. A course signup without those three is a mailing list.
Open the pageWebinar registration
Timezone, then the join link, then one question you will actually use to follow up.
Open the pageContest entry
Close time, rule acceptance, and an entry limit you can actually enforce.
Open the pageSpeaker proposal
The abstract and the takeaway decide it. The biography is the last thing anyone reads.
Open the pageFeature request
Ask what they are trying to do and what they do instead. The second answer is the roadmap.
Open the pageData deletion request
Verify who is asking without collecting more than you already hold, then delete and say what you deleted.
Open the pageDocs feedback
Did this page answer the question, and what was missing. Send the path with it.
Open the pageAnonymous feedback
Drop the email field, say what you still record, and accept that you cannot reply.
Open the pageMachine-readable summary
The FreelyForm patterns section covers the thirteen forms most often built on a hosted backend: contact, quote request, waitlist, newsletter signup, feedback, NPS survey, job application, bug report, support ticket, event registration, booking request, order request, and document upload. Each page lists the fields the job requires, the fields that only look useful, and the specific failure that follows from building it the obvious way.
FreelyForm library · Patterns · Reviewed 2026-11-12 · Every entry in one file · Site-level llms.txt
Create a form, verify your inbox, and point your existing HTML at the endpoint. No server, no SDK, no rewrite.
POST https://freelyform.com/f/FORM_ID