# Creating a Form

Create a new embeddable signup form.

## Create a new form

1. Go to **Forms** in the main sidebar.
2. Click the add button in the upper right corner to open the **Create New Form** panel.
3. Give the form a name and choose its **Form Type**: *Signup* (adds the visitor to your contacts) or *Contact* (emails the message to you).
4. For a signup form, choose a list under **Add to List**. For a contact form, enter the address messages should go to under **Send messages to**.
5. Set the **Thank You Message** and, optionally, a **Redirect URL**.
6. Create the form, then open it to choose fields, set protection options and copy the embed code.

The form's detail page shows the embed code and a direct API endpoint; the snippet uses plain,
inline-styled inputs so it fits most sites as-is.

## Form type: signup or contact

A **signup** form does what forms have always done in SendBeam: it creates a
contact, adds them to the target list, and fires any automations that trigger on form
submission or list join.

A **contact** form does the opposite job. The visitor writes a message, and
SendBeam emails it to the address in *Send messages to*, from your verified sending
address, with the visitor's address as Reply-To. You answer by hitting reply. Nothing is added
to your contacts, lists or automations, because writing in is not the same as subscribing.
The destination must be the address of a member of this workspace or an address on one of the
workspace's verified sending domains; anything else is refused when the form is saved.

Two optional settings apply to both types: *Notification subject prefix* puts a fixed
tag at the start of every notification subject (for example `[Acme site]`), and on
a signup form *Email me about new subscribers* sends you a short note each time someone
joins. See [Contact forms](https://sendbeam.io/docs/forms#contact-forms) for the details and
[Protecting public forms](https://sendbeam.io/docs/forms#protecting-public-forms) for the anti-abuse
settings.

## Form name and target list

The **form name** is internal — visitors never see it. Use a descriptive name
that tells you where the form lives and what it is for, such as "Blog sidebar — newsletter"
or "Pricing page — product updates". Clear names make it easy to find the right form later.

The **target list** is the list that new subscribers are added to when they
submit the form. Select any of this workspace's lists from the **Add to List**
dropdown, or leave it as *No list* to create contacts without a list membership. If you
need a new list, create it first under **Lists**, then return to the form. Through
the API, a `list_id` that is not one of the workspace's lists is refused with a
`400`.

> One form maps to one list. If you want signups from a particular page to go to a different
> list, create a separate form for that page. You can change the list on the form's detail
> page at any time.
> 

## Choosing fields

The **Email** field is always present and cannot be removed — it is the core
identifier for every contact in SendBeam. Under **Form Fields** on the form's
detail page, tick any additional fields you want to collect:

- **First name** — useful for personalising campaigns with merge tags like `{"{{first_name}}"}`.
- **Last name** — helpful when you need the full name on record.
- **Custom fields** — enter extra field keys in the **Custom fields** box, comma-separated (for example `company, plan, region`). Each becomes an input in the embed code and is stored in the contact's custom fields, ready for merge tags and segments. Fields not declared on the form are ignored. Through the API, the same list is the form's `fields` array.

Only the email address is required. Placeholders in the embed code are plain text you can edit
to match your brand voice.

> **Fewer fields, more signups.** Each additional field reduces conversion rate.
> Start with email only and add fields only when you have an immediate, specific use for that
> data. You can always collect more information later.
> 

## Double opt-in and saving

Double opt-in behaviour is **inherited from the target list**, not set on the
form itself. If the list you selected has double opt-in enabled, every submission through
this form will trigger a confirmation email automatically. There is nothing to configure on
the form.

To check the double opt-in setting, go to **Lists** — the table shows which
lists require it. On the Free plan every list behaves as double opt-in. See
[Double Opt-In](https://sendbeam.io/docs/lists/double-optin) for the full workflow.

A confirmation email is sent at most once per address every 10 minutes, however many times
the form is submitted, and each one counts towards your monthly email allowance.

> If your form uses double opt-in, update the success message to tell visitors to check their
> inbox — for example, "Almost there! Check your email to confirm your subscription." Visitors
> who do not see this prompt will not know they need to take another step.
> 

When you are happy with the form's settings, save them on the detail page. The embed code
underneath reflects the current fields and protection settings; copy it whenever they change.
A form's **Status** can be set to *Inactive* to stop accepting submissions
without deleting it.

---
Source: https://sendbeam.io/docs/forms/creating
