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

# Quickstart

> Get a real submission into your inbox in under 5 minutes.

This gets one real submission from a web page into your Formpaste inbox.
No account setup beyond signing in, no server code.

## 1. Create a form

Sign in to the [dashboard](https://app.formpaste.com) and create a
new form. Give it a name and a destination email - the address submissions
get sent to.

Every form gets its own **access key** (`fp_…`), shown on the form's Setup
tab. This is what authorizes a submission - treat it like a form ID, not a
secret; it's meant to sit in a public HTML page.

<Note>
  If the destination email isn't already verified on your account, Form
  Paste emails a 6-digit code and holds delivery until you enter it in the
  dashboard. This stops your form from being used to bomb an inbox you don't
  control. See [Your first form](/docs/first-form).
</Note>

## 2. Paste the snippet

Copy the HTML snippet from the Setup tab, or use this one - just swap in
your own access key:

```html theme={null}
<form action="https://api.formpaste.com/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
  <input type="email" name="email" placeholder="Your email" required>
  <textarea name="message" placeholder="Your message" required></textarea>
  <button type="submit">Send</button>
</form>
```

That's the entire integration: a plain HTML `<form>` that POSTs to
`https://api.formpaste.com/submit`, with the access key as a hidden field. No
JavaScript required, no client library to install. If you're using React,
Next.js, Astro, Vue, or Svelte, see [Framework snippets](/docs/framework-snippets)
for the wired equivalent.

## 3. Submit it

Load the page and submit the form. Formpaste responds with:

```json theme={null}
{ "success": true, "message": "Submission received.", "id": "sub_..." }
```

Behind the scenes, the submission is run through spam heuristics
(automatically). If it looks clean, it's emailed to your verified destination
address. If it looks suspicious, it's held in [quarantine](/docs/features/quarantine)
instead of being dropped.

## 4. Check your inbox

Open the form in the dashboard and check the **Inbox** tab - your
submission should be there within seconds, along with a copy in your email.

## What's next

<CardGroup cols={2}>
  <Card title="Your first form" icon="inbox" href="/docs/first-form">
    The full dashboard walkthrough, including destination verification.
  </Card>

  <Card title="Framework snippets" icon="brackets-curly" href="/docs/framework-snippets">
    Wired snippets for React, Next.js, Astro, Vue, and Svelte.
  </Card>

  <Card title="Redirects" icon="arrow-right" href="/docs/features/redirects">
    Send visitors to a "thank you" page after a no-JS form submit.
  </Card>

  <Card title="MCP server" icon="server" href="/docs/agents/mcp-server">
    Let an agent create the form and paste the snippet for you.
  </Card>
</CardGroup>
