# Forms

> Build lead capture forms with drag-and-drop, embed them on your site, and track submissions.

The Forms module lets you create lead capture and data collection forms with a drag-and-drop builder. Forms can be shared via a public link or embedded on your website. When someone submits a form, a contact is created or updated automatically.

<DocVideo slug="forms-and-booking" />

---

## Forms List

The forms page shows all your forms with their name, status (draft, published, or archived), submission count, and creation date. Forms can be organized into folders.

<DocShot src="/docs-screens/forms.webp" alt="Open any form to configure its fields, contact mapping, and auto-responder." />

---

## Creating a Form

1. Click **Create Form**
2. Enter a form name
3. You are taken to the form builder

---

## The Form Builder

The builder uses drag-and-drop to compose your form.

### Available Field Types

| Field Type | Description |
|-----------|-------------|
| **Text** | Single-line text input |
| **Long text** | Multi-line textarea |
| **Email** | Email address with format validation |
| **Phone** | Phone number input |
| **Number** | Numeric input |
| **Dropdown** | Single-select from a list of options |
| **Multi-select** | Choose multiple options |
| **Radio** | Single-select displayed as radio buttons |
| **Checkbox** | Yes/no toggle or multiple checkboxes |
| **Date** | Date picker |
| **File upload** | File attachment |
| **Hidden** | Hidden field with a preset value (not visible to the person filling out the form) |

### Configuring Fields

Click any field to configure it:

- **Label** - The field name shown to the user
- **Placeholder** - Hint text inside the input
- **Required** - Whether the field must be filled out
- **Help text** - Optional description shown below the field
- **Options** - For dropdowns, radio buttons, and multi-select: the list of choices
- **Default value** - Pre-filled value

### Reordering

Drag fields up or down to change their order.

---

## Conditional Logic

Show or hide fields based on another field's value. For example, show a "Company size" dropdown only when the "Type" field is set to "Business."

### Setting Up Conditions

1. Click a field in the builder
2. Open the **Conditions** section
3. Define the rule: "Show this field when [other field] [operator] [value]"
4. The field is hidden by default and appears only when the condition is met

---

## Contact Mapping

Each form field can be mapped to a contact field so that submissions automatically create or update contact records.

<DocDiagram src="/docs-screens/form-to-crm.svg" alt="Every form submission becomes a clean, actionable contact." />

### How It Works

- **Email field** → Matched to the contact's email address (used to find existing contacts)
- **First name, last name, phone, company** → Mapped to standard contact fields
- **Custom fields** → Mapped to any custom field you have defined in settings

When a submission comes in:

1. If a contact with the submitted email already exists, their record is updated
2. If no match is found, a new contact is created
3. The submission is logged in the contact's activity timeline

---

## Form Settings

### Confirmation

Choose what happens after someone submits the form:

- **Message** - Show a thank-you message on the same page
- **Redirect** - Send the user to a URL of your choice

### Notifications

Configure who gets notified when a form is submitted:

- Email notifications to specific team members
- In-app notifications

The notification email names the person who submitted the form, and where the form produced a signed record it links straight to the signed copy, so you can read what was agreed without going to find it.

### Consent

A form can collect consent to be **texted** separately from consent to be **emailed**, and separately again for **marketing** messages versus **transactional** ones (a booking confirmation, a receipt, a reply to something they asked).

This separation is what mobile carriers expect to see when they review your texting registration, and it is worth getting right before you register rather than after. A person who declines the marketing box will not receive marketing messages on that channel, while transactional messages still reach them.

What each person agreed to, and when, is stored as a structured record on the contact rather than a bare checkbox, so you can produce the evidence later if a carrier or a regulator asks for it.

### Status

A form's status controls whether it accepts submissions:

| Status | Meaning |
|--------|---------|
| **Draft** | Not yet live - the public link and embed are not accessible |
| **Published** | Live and accepting submissions through its public link and embed |
| **Archived** | Retired - no longer accepting submissions |

---

## Publishing and Sharing

### Public Link

Every form has a unique public URL. Share this link directly with anyone - they can fill out the form without logging in.

### Embed Code

Copy the embed code to add the form to your website. The form renders inside an iframe that adapts to your page layout.

### Styling

The form inherits basic styling from your brand settings. The public form page displays your logo and brand colors.

---

## Submissions

### Viewing Submissions

The **Submissions** tab on each form shows all responses in a table. Each row is a submission with the values entered for each field, the submission date, and a link to the contact record that was created or updated.

### Filtering

Filter submissions by date range or search by content.

### Exporting

Export all submissions as a CSV file for analysis or import into other tools.

---

## Multi-Step Forms

Forms can be split into multiple pages (steps) for longer forms. Each page shows a subset of fields, with navigation buttons to move between pages. A progress indicator shows how far through the form the user is.

---

## Summary

| Feature | Detail |
|---------|--------|
| Builder | Drag-and-drop with 12+ field types |
| Conditional logic | Show/hide fields based on other field values |
| Contact mapping | Auto-create or update contacts on submission |
| Sharing | Public link and embeddable iframe |
| Confirmation | Thank-you message or redirect URL |
| Notifications | Email and in-app alerts on submission |
| Submissions | Table view with filtering and CSV export |
| Multi-step | Split long forms into pages with progress indicator |

---
Source: https://seedlycrm.com/docs/help/forms
