---
title: "Build with quickforms"
description: "Everything about hosted forms, personal links, the submit endpoint, the embed widget, schemas, email, webhooks, destinations, payments, tracking, sandbox mode, spam protection, forms as code, the REST API and MCP."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.getquickforms.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Build with quickforms

Everything about hosted forms, personal links, the submit endpoint, the embed widget, schemas, email, webhooks, destinations, payments, tracking, sandbox mode, spam protection, forms as code, the REST API and MCP. For a list of every capability, see [features](https://docs.getquickforms.com/features/). Examples use `https://YOUR-QUICKFORMS-HOST` as the host: replace it with the address your quickforms app runs on.

## Quickstart

From nothing to a working form in five steps.

1. **Create an account and a form.** Describe the form to the AI form builder, start from a template, or start empty (see [creating forms](https://docs.getquickforms.com/creating-forms/)). Every form gets an endpoint (`https://YOUR-QUICKFORMS-HOST/f/FORM_ID`), a sandbox key (`qf_sandbox_...`) and a webhook secret (`whsec_...`).

2. **Check its fields.** Review the fields the builder or template gave you, add your own in the dashboard, or send a [schema](https://docs.getquickforms.com/schema/) through the REST API or MCP.

3. **Share the hosted page, or point your own form at the endpoint.** Once the form is published, opening `https://YOUR-QUICKFORMS-HOST/f/FORM_ID` in a browser shows a [hosted form](https://docs.getquickforms.com/hosted-forms/) you can style and share as it is. To use your own markup instead, post to the same URL:

   ```html title="index.html"
   <form action="https://YOUR-QUICKFORMS-HOST/f/FORM_ID" method="post">
     <input name="name" required>
     <input name="email" type="email" required>
     <textarea name="message"></textarea>

     <!-- Honeypot: hidden from people, bots fill it in -->
     <input name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">

     <!-- Optional: send people here afterwards (the host must be trusted by the form) -->
     <input type="hidden" name="_redirect" value="https://yoursite.com/thanks">

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

4. **Try it in sandbox mode.** Nothing is emailed or posted, and the response lists what would have been delivered.

   ```bash
   curl -X POST https://YOUR-QUICKFORMS-HOST/f/FORM_ID \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -H "X-Quickforms-Sandbox: qf_sandbox_..." \
     -d '{"name": "Ada Lovelace", "email": "ada@example.com", "message": "Hello"}'
   ```

5. **Add delivery and go live.** Set notification addresses, a webhook URL and optionally your own email provider, publish the form if it is still a [draft](https://docs.getquickforms.com/drafts-and-publishing/), then send submissions without the sandbox key.

Source: https://docs.getquickforms.com/index.mdx
