HTML form

Use a standard HTML form and point it at your formbuild.io endpoint. No JavaScript or backend required on your side.

Endpoint

Your form must POST to:

https://your-domain.com/in/YOUR_FORM_ID

Replace YOUR_FORM_ID with the form ID from your dashboard (it’s in the snippet we give you).

Method and encoding

Set method="post". We accept two content types:

  • application/x-www-form-urlencoded — default for HTML forms. Use this with a normal <form>.
  • application/json — send a JSON object; each key is a field name and each value is stored as a string (objects/arrays are JSON-stringified). Use this from SPAs, mobile apps, or fetch().

We do not support file uploads yet; when we do, we’ll document the correct enctype.

Cross-origin (CORS)

The submission endpoint /in/:formId allows requests from any origin. We respond to OPTIONS preflight with 204 and Access-Control-Allow-Origin: *, so you can embed forms on other domains or submit via fetch() from a different site.

Honeypot (optional)

In form settings under Spam, you can set a honeypot field name. Add a hidden (or visually hidden) input with that name. If a submission has that field filled, we treat it as a bot and respond with success without storing or notifying.

Field names

Every input, textarea, or other form control with a name attribute is sent and stored. The name is the key we show in the Inbox (e.g. email, message). You can use any names you like.

Preview

You can preview and test your form from the dashboard. Open the form, go to the Integration section, and click Preview form. You’ll see the form as visitors will see it and can submit a test; submissions appear in your Inbox like real ones.

Minimal example

<form action="https://your-domain.com/in/YOUR_FORM_ID" method="post">
  <label for="email">Your Email</label>
  <input name="email" id="email" type="email" required>
  <label for="message">Message</label>
  <textarea name="message" id="message"></textarea>
  <button type="submit">Submit</button>
</form>

Next: Success page →