Skip to content

One-prompt setup

Building with an AI tool? Copy this prompt, swap in your access key and paste it in. It tells the model everything it needs.

  1. Create a form at app.formwire.com and copy its access key from the form’s Settings tab, under General.
  2. Replace YOUR-ACCESS-KEY in the prompt below. The key is public, so it’s fine to have it in your project.
Add a contact form to this site and connect it to Formwire.
Requirements:
- Fields: name, email (required) and message (required).
- The <form> posts to https://formwire.io/submit with method="POST".
- Include a hidden input named "access_key" with the value YOUR-ACCESS-KEY.
- Include a hidden input named "redirect" with the URL of a thank-you page on this site,
and create that page if it doesn't exist.
- Include a honeypot: a text input named "fax", positioned off-screen with tabindex="-1",
autocomplete="off" and aria-hidden="true". Leave it empty.
- Do not add any JavaScript unless the site already handles forms with fetch; if it does,
send the same fields as JSON with an "Accept: application/json" header and show the
response's "message" to the user.
- Keep the field names exactly as written; Formwire reads "name" and "email" as the sender.
Integration reference: https://formwire.com/llms.txt

It works as written in Lovable, v0, Bolt, Replit and Cursor, and in Claude Code or Codex. The last line points the model at formwire.com/llms.txt, a plain-text version of these docs written for agents, so it can look up field names and the response shape on its own.

React and Vue projects often intercept form submits. The main prompt already allows for that; if the model still writes a plain form where you wanted a fetch call, follow up with:

The site handles forms with fetch. Submit the contact form to https://formwire.io/submit
as JSON with the headers Content-Type: application/json and Accept: application/json, including
access_key: "YOUR-ACCESS-KEY" in the body. On a response with success: true, show a thank-you
message; otherwise show the response's "message" field. Keep the "fax" honeypot input in the
markup and send its value too.
  • The form’s action is https://formwire.io/submit and its method is POST.
  • There’s a hidden access_key input with your key.
  • The fax input is present, empty and off-screen. Without it, bot submissions aren’t caught.
  • Submit once from the running site. The submission shows on the form’s Submissions tab and the email arrives.

Once the form works, the submit endpoint reference lists the option fields the model can add: subject for the email’s subject line, replyto to route replies, file inputs for attachments. For an agent that should also read submissions or create forms itself, connect the MCP server.