# Quickstart: collect form submissions in 2 minutes

> Collect your first form submission in about two minutes. Create a form, point your HTML form's action at its endpoint, and submit.

Source: https://sitebackend.com/docs/forms/quickstart · Updated: 2026-09-28

SiteBackend gives any static site a form backend. You create a form in the dashboard, copy its endpoint URL, and use it as your HTML form's `action`. No server code, no JavaScript required.

### Create an account and a site

[Sign up](https://sitebackend.com/signup) and click **Add site** in the sidebar. A site groups the forms that live on one website, for example `example.com`.

### Create a form

Open your site and click **New form**. Every form gets its own endpoint:

```txt
https://api.sitebackend.com/forms/YOUR_FORM_ID
```

Copy it from the form's page with the **Copy** button.

### Point your form at the endpoint

Set the endpoint as your form's `action` and use `method="POST"`. Give every input a `name`: that's the key it's stored under.

```html title="contact.html" {1}
<form action="https://api.sitebackend.com/forms/YOUR_FORM_ID" method="POST">
  <label>
    Email
    <input type="email" name="email" required />
  </label>
  <label>
    Message
    <textarea name="message" required></textarea>
  </label>

  <!-- Honeypot: hidden from people, filled in by bots -->
  <input type="text" name="_gotcha" tabindex="-1" autocomplete="off" style="display:none" />

  <button type="submit">Send</button>
</form>
```

### Send a test submission

Open the page, fill in the form and submit it. You'll land on a thank-you page, and the submission shows up in the form's inbox in your dashboard straight away.

> **Tip:** Name the email input `email`. SiteBackend uses it to create a contact for each person who writes in, and to show who a submission is from.

## What happens when someone submits?

1. SiteBackend checks that the form is active and that the request comes from an allowed origin.
2. Spam checks run: the honeypot field, an optional captcha, a content filter and a rate limit of 5 submissions per minute per visitor.
3. The submission is stored, the sender is added to your contacts, and notifications are queued for your email, Slack, Discord, webhooks or other channels.
4. The visitor is redirected to a thank-you page, or to your own URL if you set one.

## How do I submit with JavaScript instead?

Send the same fields as JSON and ask for a JSON response. You get `{ "ok": true, "id": "…" }` back instead of a redirect.

```js
const res = await fetch("https://api.sitebackend.com/forms/YOUR_FORM_ID", {
  method: "POST",
  headers: { "Content-Type": "application/json", Accept: "application/json" },
  body: JSON.stringify({ email: "jane@example.com", message: "Hello!" }),
});
const result = await res.json(); // { ok: true, id: "…" } or { ok: false, error: "…" }
```

## Next steps

- Lock the form to your domain with allowed origins.
- Send people to your own page after submitting with a redirect URL.
- Get notified by email, Slack, Discord or webhook with [notifications](https://sitebackend.com/docs/forms/notifications).
- See every field, status code and response in the [endpoint reference](https://sitebackend.com/docs/reference/form-endpoint).
- Collect testimonials from your customers and show them on your site with the [testimonials quickstart](https://sitebackend.com/docs/testimonials/quickstart).
