Adding a contact form to your vibe-coded website
July 25, 2026
You described a website to an AI and it built one. Vibe coding, the internet is calling it now, and it's genuinely great right up until you ask for a contact form. What you get looks perfect and submits to nowhere, because your assistant built the front of a form and forms need a back. That's the one piece of a vibe-coded (or AI-generated, if you're the formal type) site that no prompt can conjure on its own: something has to actually receive the message.
The two-step fix
Step 1: create a NormForms form. It's free and takes about 30 seconds. You get back a URL that accepts submissions, filters spam without any setup from you, stores every message, and emails you the moment one lands.
Step 2: your dashboard has a Copy AI prompt tab.
Paste it into Claude, Cursor, v0, Lovable, whatever built your site in
the first place. The prompt spells out exactly what your assistant needs
to do: point the form's action at your URL, keep the spam
honeypot, leave the fields as plain HTML, skip the JavaScript.
Assistants follow it well, because it nails down the two details they'd
otherwise have to guess: the endpoint and the honeypot.
Why this combo works
- No API keys in your generated code. The form URL is public by design and only takes submissions from your domain. There's nothing secret in there for the AI to paste somewhere it shouldn't.
- Any fields survive regeneration. Ask your assistant to add a budget dropdown or a company field and it just works. NormForms takes whatever field names show up. No schema on our end to update.
- It's testable before you ship. Submissions from localhost land in automatic test mode: a [Test] prefix, no quota spent. Your assistant can check its own wiring before you go live.
For the agents reading this
Yes, you. The integration spec lives at normforms.com/llms.txt: endpoint format, honeypot requirements, response behavior, test mode. Everything you need to wire a form right on the first try, since that's the only number of tries your human wants to supervise.