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

# Build a form

> Build a contact, quote or sign-up form once, then put it on any page.

Let visitors get in touch, ask for a quote or apply for a job. Build a form once in the **Forms** list, then place it on as many pages as you like. Every submission is saved in Fetchski Attract, the CMS you sign in to, where you read them in the **Form Submissions** window. You can have each one emailed to you too.

&#x20;**Who can do this:** Contributors, Editors, Admins and Owners. Publishing a form needs an Editor, Admin or Owner. Only Admins and Owners can change the **Form uploads** settings.

## Before you start

* Every new site comes with a ready-made **Contact Us** form. You may only need to edit it.
* Forms are built in their own window, not on the page. Placing one on a page is a separate step.
* File uploads need spam protection turned on. See [File uploads](#file-uploads) below.

## Create the form

**1. Open your forms**

Open the command palette (⌘K, or Ctrl+K on Windows) and choose **Forms**. Or use its [shortcut](https://docs.fetchski-attract.com/guides/get-started/toolbar-and-command-palette.md#keyboard-shortcuts): press **F**, then **M**. The **Manage Forms** window lists every form.

**2. Start a new one**

Choose **New Form**. You can also choose **Create New Form** in the command palette (**F** then **C**).

**3. Choose a starting point**

The **Create a Form** gallery opens, and each card lists the fields it comes with. Choose a template card, then **Use template**. Or choose **Blank form**, then **Start blank**.

![The Create a Form gallery: the Blank form card and the six templates (Contact Us, Quote Request, Job Application, Event RSVP, Feedback Survey, Support Request).](https://mintcdn.com/fetchski-attract-api/VHp0B0s1nBbMi7JQ/images/cms/guides/forms/build-a-form/guides-forms-build-a-form-gallery-light.png?fit=max\&auto=format\&n=VHp0B0s1nBbMi7JQ\&q=85\&s=1b4a1098ac8273f3cd33584f95af3f04)

Start from a template or a blank form.

The templates:

| Template | What it asks |
| - | - |
| **Contact Us** | Name, email, phone (optional), subject and a message |
| **Quote Request** | Contact details, what they need, budget and timeline |
| **Job Application** | Contact details, the role, a résumé upload and a cover letter |
| **Event RSVP** | Who's coming, how many guests, and dietary or access notes |
| **Feedback Survey** | A rating, a topic and an open comment box |
| **Support Request** | Contact details, how urgent it is, the issue and an optional attachment |

> [!NOTE]
>
> **Job Application** has a résumé upload and **Support Request** has an attachment field. Turn on file uploads before you use them (see [File uploads](#file-uploads)). Until then, the rest of each form still works.

## Build the fields

The form opens on its **Form** tab. Give it a **Form name**, such as "Book a trial day", so you can find it later. Visitors don't see this name.

Below, under **Form contents**, is the form itself, as it will look on your site. Build it right there, the same way you build a page.

You work at 2 levels here. The form window has tabs along the top: **Form**, **After submission**, **Advanced** and **Actions**. Inside the **Form** tab, the form's fields sit in a section of their own, with its own editor for the heading, button and look.

**1. Add a field**

In a blank form, choose **Add Content** in the empty form. Once there are fields, select one and choose the **+** (**Add Content**) on its top or bottom edge. Then choose a field type.

**2. Set it up**

Select the field and choose **Edit**. Type its **Field label**, the question visitors see. Under **Is this field required?**, choose whether visitors must fill it in.

**3. Arrange the fields**

Use **Nudge Up** and **Nudge Down** to move a field, and **Remove** to delete it.

![The Edit Form window on its Form tab, showing a form called "Book a trial day" with Your name, Email address and Dog's name fields.](https://mintcdn.com/fetchski-attract-api/VHp0B0s1nBbMi7JQ/images/cms/guides/forms/build-a-form/guides-forms-build-a-form-fields-light.png?fit=max\&auto=format\&n=VHp0B0s1nBbMi7JQ\&q=85\&s=051a67c4673df5a4a045c314c1325c40)

Build the form right in its window, field by field.

The field types:

* **Text input** and **Text area input**: a one-line answer, or a longer message.
* **Select input**: a drop-down list. Visitors pick 1 choice, or several if you allow it.
* **Radio input**: a row of round buttons. Visitors pick exactly 1, such as "Small", "Medium" or "Large".
* **Checkbox input**: a list of tick boxes. Visitors tick as many as apply, such as "Daycare" and "Grooming".

  For these 3, add each choice as its own item in the field's editor, under its list of choices.
* **Boolean/opt-in input**: a single tick box, such as "Send me news and offers".
* **File attachment**: lets visitors attach a file. Needs **Form uploads** turned on.
* **Conditional field group**: fields that only appear after a certain answer. For example, add a **Radio input** "Is this your dog's first visit?" with the choices "Yes" and "No". Then add a **Conditional field group** set to that question and the answer "Yes", and put a **Text area input** "Tell us about your dog" inside it. Visitors see that box only when they choose "Yes".
* **Group** and **Divider**: organize a long form into parts.
* **Rich Text**: a line of text between fields, such as a note about privacy.

## Style the form

Set the form's heading, button and look. On the **Form** tab, select the form section itself (the outer box around the fields) and choose **Edit**. The section editor opens, with these tabs:

* **Header**: the eyebrow, **Heading** (it starts as "Send us a message") and **Intro** above the fields.
  * **Band style** sets the look: **Plain**, **Raised (card)** or **Accent (solid band)**.
  * You can also set **Header alignment**, **Content width** and **Label spacing**.
* **Background**: the section's background, as on any section.
* **Button**: the submit button's text and look. It starts as "Submit".
* **Submissions**: leave **Submissions go to** empty. The form already saves its own submissions.
* **CSS**: custom styling. Only Admins and Owners see it.

When you're done, close the section editor. You're back in the form window.

## Decide what happens after a visitor sends it

In the form window (not the section editor), open the **After submission** tab at the top.

* **Thank you message title** and **Thank you message content**: what visitors see once the form is sent. With no title, they see "Thank you!".
* **Send a confirmation email**: emails visitors to confirm their submission arrived.
* **Email Address(es) for Results**: who gets each submission by email.
* **Primary internal email address**: where a visitor's reply to their confirmation email goes. A new form starts with the email from **Site settings** → **Brand**. Every email itself is sent from the **From address** in **Connections**. See [Email notifications](https://docs.fetchski-attract.com/guides/forms/email-notifications.md).

The **Actions** tab sends submissions on to other places, such as an email address or another system. See [Email notifications](https://docs.fetchski-attract.com/guides/forms/email-notifications.md) and [Form submissions](https://docs.fetchski-attract.com/guides/forms/form-submissions.md).

## Publish the form

A new form is a draft. Choose **Publish** to make it live. Contributors choose **Submit** instead, for an Editor to publish. Visitors can't see or send a form until it's published.

## Put the form on a page

**1. Open the page, choose Edit in the edit bar, and choose a + (Add Content) where the form should go**

**2. In the Conversion group, choose Form**

**3. Edit the new section**

On its **Form** tab, choose your form under **Form**.

**4. Publish the page with Update**

![A page with the new Form section selected and its editor open on the Form tab, the "Book a trial day" form chosen under Form, and the form shown on the page beside it.](https://mintcdn.com/fetchski-attract-api/VHp0B0s1nBbMi7JQ/images/cms/guides/forms/build-a-form/guides-forms-build-a-form-place-light.png?fit=max\&auto=format\&n=VHp0B0s1nBbMi7JQ\&q=85\&s=6372a8511051891977aa218261609c95)

Place the form with a Form section and choose which form it shows.

One form can sit on several pages. To give it a different look on one page, use **Restyle for this placement** on the **Styling** tab. See [Form](https://docs.fetchski-attract.com/guides/sections/form.md).

## Test it

While you're signed in, the form on the page is a preview, so you can't send it.

**1. Keep your signed-in window open**

Open your site in a private browser window, where you're not signed in.

**2. Fill in the form there and send it**

**3. Back in your signed-in window, open the command palette and choose View Form Submissions (F, then S)**

Your test is at the top.

Only Admins and Owners can see submissions. If you're a Contributor or an Editor, send the test, then ask an Admin to check it arrived.

## File uploads

Let visitors attach files, such as a résumé or a photo.

Until you turn uploads on, a **File attachment** field shows "File uploads are not currently accepted." The rest of the form still works.

&#x20;**Who can do this:** Admins and Owners.

**1. In the toolbar, choose Site settings, then the Form uploads tab**

**2. Turn on Accept file uploads on public forms**

**3. Set the limits: Max files per submission (it starts at 3; up to 8) and Max size per file (MB) (it starts at 5; up to 10)**

**4. Under Allowed file types, tick what to accept**

Images and PDFs are ticked to start.

* **Images — JPG, PNG, WebP, GIF (no SVG)**
* **PDF documents**
* **Office documents — Word & Excel (.doc/.docx/.xls/.xlsx)**
* **Plain text — TXT, CSV**

**5. Choose Update**

![Site settings on the Form uploads tab, with Accept file uploads on public forms on, Max files per submission 3, Max size per file (MB) 5, and Images and PDF documents ticked.](https://mintcdn.com/fetchski-attract-api/VHp0B0s1nBbMi7JQ/images/cms/guides/forms/build-a-form/guides-forms-build-a-form-uploads-light.png?fit=max\&auto=format\&n=VHp0B0s1nBbMi7JQ\&q=85\&s=7674d4a3cd38f3b9b18a3d60f27b1402)

Form uploads: off until you turn them on.

The CMS checks what's inside every file, not just its name. A file whose ending was changed to pass as another type, such as a `.exe` renamed to `.pdf`, is turned away.

Uploads also need spam protection set up in **Connections** → **Spam protection**. Without it, visitors see "File uploads are temporarily unavailable." See [Spam protection](https://docs.fetchski-attract.com/guides/forms/spam-protection.md).

## What happens next

Each submission is saved in the **Form Submissions** window. Admins and Owners find them with **View Form Submissions**, or **View submissions** at the top of the form's window.

To change a published form, edit it and choose **Update**. The change shows on every page with that form.

## Troubleshooting

> [accordion] The form doesn't show on the page
>
> Visitors see nothing in a Form section when:
>
> * no form is chosen on the section's **Form** tab (signed in, you see a reminder to choose one);
> * the form has no fields yet;
> * the form or the page isn't published yet.

> [accordion] This form has no submission target.
>
> **Submissions go to** points at a form that was archived or deleted. Open the form. On its **Form** tab, select the form section, choose **Edit**, and open the section editor's **Submissions** tab. Empty **Submissions go to**, close the section editor, and choose **Update**.
>
> A similar message, "Form reference mismatch.", means **Submissions go to** points at another form. Leave it empty.

> [accordion] A visitor's file was turned away
>
> The message under the file field says why:
>
> * "File uploads aren’t currently accepted.": uploads are off. An Admin turns them on in **Form uploads**.
> * "Too many files — please attach at most 3.": the visitor went over **Max files per submission**.
> * "This file type isn’t accepted.": that type isn't ticked under **Allowed file types**.
> * "This file is too large (max 5 MB).": the file is over **Max size per file (MB)**.
> * "This file’s contents don’t match its type.": the file isn't what its name says, often because its ending was changed (such as a `.exe` renamed to `.pdf`).
> * "This PDF contains active content (scripts or launch actions) and can’t be accepted.": the PDF holds built-in scripts. The visitor can open it, choose **Print**, then save it as a PDF, which makes a copy without them, and try again.
> * "This image couldn’t be processed. Please upload a different file.": the image is damaged or unusual. Another copy usually works.

> [accordion] Too many submissions. Please wait a moment and try again.
>
> One visitor sent the form many times in a minute, so the CMS paused them to protect you from spam. Waiting a minute fixes it.

## Related

> [card] [Form](https://docs.fetchski-attract.com/guides/sections/form.md)
>
> the section that shows a form on a page.

> [card] [Form submissions](https://docs.fetchski-attract.com/guides/forms/form-submissions.md)
>
> read, export and send on what visitors send.

> [card] [Email notifications](https://docs.fetchski-attract.com/guides/forms/email-notifications.md)
>
> get each submission by email.

> [card] [Spam protection](https://docs.fetchski-attract.com/guides/forms/spam-protection.md)
>
> keep bots out of your forms.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.