Free plan250 submissions a month, spam filtering included, no card.See pricing →
The form backend for AI-built websites

Your agent builds the form. We make it actually send.

Coding agents scaffold a contact form in seconds, then leave you with a submit button that goes nowhere. Paste one prompt and your agent wires it to a real endpoint with spam filtering and email delivery.

Get your endpoint, free

Works with any agent that can edit files and read a URL.

Works with the agent you already use

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • v0
  • Lovable
  • Bolt
  • Replit

Stop shipping dead forms from your agent.

Left alone, agents invent an /api/contact route that logs to the console, or wire up an email SDK you now have to maintain. MakeTheForm gives them one real endpoint to point at.

No invented endpoints
The prompt carries your real endpoint, so the agent never guesses a URL.
No backend code
No API route, server action or email SDK added to the project.
Spam handled
Honeypot, rate limits and spam filtering work from the first submission.
Checked before it’s done
The agent sends one test submission and confirms the 201 before it says it’s finished.
One prompt

Working forms, however your agent builds

Paste the prompt in your editor, your app builder or your terminal. The result is the same: a form that sends.
In your editor

Claude Code, Cursor and Copilot wire the form in one pass.

Paste the prompt into your agent. It edits your existing form, adds no backend and proves the form works.

  • Keeps your markup, styles and validation
  • Adds no API route, server action or email SDK
  • Sends a test submission and reports the result
  • Free plan works: 250 submissions a month
In app builders

v0, Lovable and Bolt ship forms that send.

Mention MakeTheForm and your endpoint in the builder chat. The generated form posts straight to it, with a success state.

  • Works with generated React and plain HTML
  • Success and error states included
  • Keeps what the visitor typed if a send fails
  • No backend to deploy with the app
From the terminal

One request proves the endpoint works.

Curl your endpoint from any terminal before the agent touches the code. The response tells you, and the agent, exactly what happened.

  • JSON back when you send Accept: application/json
  • 201 with a submission id when it is stored
  • Errors carry a code and a message to show
  • llms.txt keeps agents on the real API

A prompt for every agent you use

Each one tells that tool where to look and what not to add. Copy it from your form in the dashboard and your endpoint is already filled in.

  • Claude Code
    Paste in the terminal session, or add it to CLAUDE.md
  • Cursor
    Paste into Agent mode, or save as a project rule
  • GitHub Copilot
    Paste into Copilot agent mode in VS Code
  • v0
    Paste into the chat before or after generating the form
  • Lovable
    Paste into the chat. Works with Lovable’s React output
  • Bolt
    Paste into the chat. Works with any framework Bolt picks
  • Any other agent
    The universal prompt works anywhere an agent can edit files
The whole prompt

Nothing hidden. Read it before you paste it.

Plain requirements. It tells your agent what to change, what not to add, and how to prove the form works.

View llms.txt
maketheform-agent-prompt.md
Connect the existing contact form on this site to the MakeTheForm endpoint:

https://mtform.co/f/your-form-key

Requirements:
- Submit with fetch as JSON (Content-Type: application/json). Do not add a backend route.
- Keep the current design and markup structure. Do not restyle the form.
- Disable the submit button while the request is in flight.
- Treat any HTTP 2xx as success; show an inline success message and reset the form.
- On failure, show the message from the JSON response at error.message, and PRESERVE the values the user already entered. Do not reset the form on error.
- Include a hidden honeypot field named exactly "_mtf_honeypot". It must be visually hidden with position:absolute;left:-9999px, have tabindex="-1", autocomplete="off", and aria-hidden="true".
- Never make it display:none, and never make the honeypot required.
- This endpoint URL is public and safe to put in client-side code. Do NOT invent, request, or reference an API key, and do not move it into an environment variable.
- Do not add any analytics or logging of the submitted field values.
- When you are done, if you can make network requests, send ONE test submission to the endpoint with the header Accept: application/json and confirm the response is a 2xx with "ok": true. Report the submission_id. Docs for agents: https://maketheform.com/llms.txt
Agent-ready by design

Built so agents get it right the first time.

Docs agents can read
An llms.txt with every field, header and error, in plain text.
Predictable responses
201 with JSON on success. 403, 422 and 429 with a code and a message the agent can act on.
Nothing to install
An HTML attribute or a fetch call. No SDK for the agent to get wrong.

Prompts for common forms

Contact form

Name, email and message, with an inline thank-you.

“Build a contact form with name, email and message fields, and show a thank-you message when it sends.”

Waitlist

Email only, JSON response, inline success message.

“Add a waitlist signup with a single email field that posts to MakeTheForm with fetch.”

Quote request

Budget and timeline fields, so every lead arrives complete.

“Build a quote request form with name, email, budget and timeline fields, and a message box.”

Support request

A topic dropdown. Replies go straight to the customer.

“Add a support form with name, email, a topic dropdown and a message box.”

Questions

Frequently asked questions

What is a form backend for an AI-built website?

It’s a hosted endpoint that receives your form’s submissions, filters spam, emails them to you, and stores them. AI builders generate the form’s interface but not this backend, so you point the form at an endpoint instead of writing and hosting server code.

Why doesn’t my Lovable / Bolt / v0 form send anything?

Because the builder only created the front end. The submit button has nothing to POST to. Wiring the form to a form endpoint gives it a real destination that delivers and stores each submission.

How do I add a working contact form to a site made with an AI website builder?

Ask the builder for the form as usual, then give it one prompt that points the form at your endpoint and forbids it from adding a backend. The form keeps its generated design; only the submit handler changes, and every submission is emailed to you and stored.

Do I need Supabase, Firebase, or Resend for a contact form?

Not for a contact or lead form. Those are worth it when you need your own database or full control of email. To simply receive submissions by email and keep a searchable copy, one endpoint is far less to build and secure.

Is the endpoint safe to expose in AI-generated client code?

Yes. The public form key is a non-secret address designed for the browser. Your destination email never appears in the page source, and abuse is handled by rate limits, origin rules, and spam filtering.

Which AI builders are supported?

Any that output standard HTML/JS: Lovable, Bolt.new, v0, Cursor, Replit, Framer, and more. Each has a dedicated guide with a copy-paste prompt, and they all POST to the same kind of endpoint.

Your agent is one prompt away from a working form.

Free for 250 submissions a month. No credit card.

Get your endpoint, free