# Quickstart

Create a form, put it on your site and receive your first submission in a few minutes.

### Create an account

Go to [app.nisuform.com](https://app.nisuform.com) and sign in with your email address or with Google. There is no password. With email, Nisuform sends you a sign-in link.

Your account starts on the Free plan with a personal team. No credit card is required.

### Create a form

Choose **Create a form**, give it a name and pick a starting point:

* **Contact form**, **Waitlist signup**, **Feedback survey** or **Event RSVP** start with ready-made fields and a matching design.
* **Blank form** opens the form builder so you can add your own fields.
* **Endpoint only** skips the builder. Pick it when you already have a form on your site.

Each option is described in [Create a form](/docs/forms/create).

### Put the form on your site

Open the form's **Setup** tab and answer &#x2A;*How do you build your site?**

* **Site builder**: copy the embed code and paste it into Webflow, Framer, WordPress, Squarespace or Wix. See [Site builders](/docs/connect/site-builders).
* **Code**: copy a snippet for HTML, React, Next.js, Vue, Svelte or Astro. **Your design** gives you the styled form from the builder, and **Your own styles** gives you plain markup that picks up your site's CSS.
* **AI tool**: copy a prompt for Claude Code, Cursor, v0 or a similar tool. See [Use an AI coding agent](/docs/ai-agents).

If you write the form yourself, use the endpoint from the Setup tab as the form's `action` and give every input a `name`:

```html
<form action="https://api.nisuform.com/s/YOUR_FORM_KEY" method="POST">
  <label>
    Name
    <input type="text" name="name" required>
  </label>
  <label>
    Email
    <input type="email" name="email" required>
  </label>
  <label>
    Message
    <textarea name="message" rows="5" required></textarea>
  </label>
  <input type="text" name="_gotcha" tabindex="-1" autocomplete="off" style="display:none">
  <button type="submit">Send</button>
</form>
```

The hidden `_gotcha` input is a honeypot that catches bots. Keep it hidden and empty. See [Special fields](/docs/connect/special-fields).

### Send a test

Choose **Send a test** on the Setup tab. It stores a sample submission marked as a test and fires your notifications, without counting toward your monthly limit.

Then send a real one from your site. The Setup tab watches for it and shows **Your form is live** as soon as it arrives. You can also test from a terminal:

```sh
curl https://api.nisuform.com/s/YOUR_FORM_KEY \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{"name":"Jane Doe","email":"jane@example.com","message":"Hello!"}'
```

A successful request answers `{"ok":true,"submissionId":"..."}`. Submissions from your site and from cURL are real, so they count toward your monthly limit.

## Next steps

<Card title="Get notified" href="/docs/submissions/notifications" description="Choose who gets emailed and customize the subject." />

<Card title="Stop spam" href="/docs/protection/spam" description="Add allowed websites or Cloudflare Turnstile." />

<Card title="After submit" href="/docs/forms/after-submit" description="Show your own thank-you message or redirect to your page." />

<Card title="Integrations" href="/docs/integrations" description="Forward submissions to Slack, Sheets, webhooks and more." />
