---
title: Add / Edit a Form
slug: add-edit-form
description: Create or edit site forms, configure fields, and publish updates for visitor submissions.
productSlug: cedros
productLabel: Cedros
sectionKey: forms
sectionLabel: Forms
docType: subpage
parentSlug: forms
adminPaths: /admin/site/forms/new|/admin/site/forms/edit/{scope}/{formKey}
---
# Add / Edit a Form

This page covers how to create a new form from scratch and how to edit an existing one. Both flows use the same editor, so once you know one, you know the other.

## Creating a new form

Click **New Form** in the top right of the [Forms](forms.md) section. The editor opens with a starter form ready to fill in.

New custom forms start with a Message question. Forms contributed by enabled extensions are provisioned into the same Forms library automatically and can be edited like other saved forms.

## Editing a form

Click the **Edit** (pencil) icon on any row in the Forms section. The form opens in the editor.

## What's in the editor

The page title is the form's own name. A **Draft** badge appears beside it when the form is offline; a live form shows no badge. At the top:

- **Forms** (top left) — A breadcrumb back to the Forms list. Leaving this way keeps your unsaved changes; they're restored automatically the next time you open the form.
- **Exit** (top right) — Leaves the editor and discards any unsaved changes.
- **Save** (top right) — Saves your changes and returns you to the Forms list. Live forms become available publicly; drafts remain offline. Disabled if there's nothing new to save or you don't have edit permission.

Below that are four cards: Questions, On your site, Design, and After someone submits.

### Questions

The first card is what the form actually asks. One row per question, reporting its name, the shape of the answer, and whether it can be skipped:

- **Question** — What visitors see, plus its help text (or placeholder) underneath.
- **Answer** — Text, Email, Long text, Phone, Dropdown, or Checkbox. A dropdown also reports how many choices it offers, or warns **Needs choices** when it has none.
- **Required** — Required or Optional.

A question with no name shows **Needs a name**. The card's own line counts anything that needs attention, so you can see there's something to fix without reading a single row.

Click any row to open it. The **⋯** menu on each row offers **Edit question**, **Move up**, **Move down**, and **Remove question**. Moving a question changes the order visitors answer in.

Click **Add question** (top right of the card) to add one. On a form with no questions yet, the card shows **Add your first question** instead.

#### The question dialog

- **Question** — What visitors see (e.g., "Your email").
- **Answer type** — Chosen for you from how you word the question ("Email address" becomes Email, "Details" becomes Long text) until you pick one yourself.
- **Required** — On for new questions. Turn it off to let people skip it.
- **Choices** (dropdowns only) — One row per choice, in the order the dropdown shows them. Use the arrows to reorder and ✕ to remove. If a choice was set up with its own saved value, that value is shown in grey beside it and is kept when you reword the choice, so past submissions still line up.
- **Optional details** (collapsible) — **Placeholder** (example text inside the empty field) and **Help text** (guidance under the question). Dropdowns and checkboxes don't show a placeholder on the site, so they aren't offered one.

The dialog won't let you save a question with no name, a name another question already uses, or a dropdown with no choices — the message appears on the field it's about.

Removing a question asks for confirmation. Answers already submitted stay in your submissions.

### On your site

- **Live** — The on/off switch. Off takes the form offline without deleting it or its submissions.
- **Title** — The form name visitors see at the top of the form. Example: "Contact us."
- **Description** — An optional introduction shown beside or above the questions, depending on the layout.

#### Advanced (collapsible)

- **Submit button** — What the submit button says (defaults to "Submit").
- **List this form page on search engines** — Off by default. When on, the form's own page gets a search-engine listing; embedded copies are unaffected. It needs a Description, or saving reports that. This section opens on its own for any form that already has it on.

### Design

Design controls the generated full-page form and its confirmation screen. Open that page from **Forms → Open flow page** after saving an active form. Existing forms use the Split layout automatically; no migration is needed.

- **Layout** — Split keeps the introduction beside the questions. Centered uses one column. Image adds a photograph or illustration beside the questions; choose an image before saving this layout.
- **Background** — Site background, Panel, or Subtle brand tint. All use the active site's theme colors.
- **Content width** — Standard or Wide, always constrained to the available page width.
- **Spacing** — Comfortable or Compact.
- **Progress** — A progress bar, individual step markers, or the question count alone.
- **Motion** — Gentle movement, Fade, or None. The visitor's reduced-motion preference always takes precedence.
- **Form image** — Choose from Media or paste a public site path or full http/https URL. Describe meaningful imagery in Image description; leave it empty for decorative images. Image focal point controls the crop.

**Preview form** opens the actual public form renderer with Desktop (1280px), Mobile (390px), Light/Dark, and Questions/Confirmation controls. Changes appear immediately. You can answer questions and rehearse submission; preview answers are never sent or saved. Restart clears the rehearsal. If the active theme cannot be loaded, a notice identifies the default-theme fallback.

**Reset design** restores the shared default without changing questions, copy, or submissions. Save applies the design to the form's public page. An active form updates publicly on save; a draft stays offline. Preview does not publish anything.

Fonts and colors come from **Appearance → Theme**. Design does not accept raw CSS, HTML, JavaScript, or arbitrary animation code. Embedded forms retain the layout and styling of their containing page; these settings apply only to the standalone flow.

### After someone submits

- **Add people to a mailing list** — Off by default. When on, every successful submission also subscribes the person. The line under the switch names the list they land in.

When the switch is on:

- **Mailing list** — Chosen from your actual mailing lists, with member count and opt-in mode on each. **Your default list** uses the one set in email settings. A list that has been deleted or archived is called out. While your lists are still loading, the picker shows **Your chosen list** rather than guessing.
- A warning appears if the form has no Email question, because there is then no address to subscribe.

##### Advanced (collapsible)

- **Email address comes from** — Only shown when the form has more than one Email question; with one, the panel reports which question it uses.
- **Name comes from** — Which question holds the subscriber's name (or "Don't send a name").
- **Consent checkbox** — Which checkbox records marketing consent (or "No consent checkbox"). Use this when you need explicit opt-in before subscribing.
- **Require email confirmation** — When on, people are added to the list only after clicking a confirmation link. Needs a confirmation sender set up in newsletter settings.

#### Thank-you screen (collapsible)

The closed row reports the current heading and what happens next.

- **Heading** — The headline visitors see after submitting.
- **Message** — The follow-up sentence (e.g., "We've received your message and will be in touch.").
- **Send another button** — Label for the button that resets the form after a submission.
- **Then** — Whether to return visitors to the form automatically (after 5, 10, or 30 seconds) or keep them on the thank-you screen.

The full-page confirmation carries the selected layout, background, image, and motion through from the questions. It shows a bounded checkmark, your heading and message, and the reset action. Hovering or focusing the confirmation pauses its automatic return. Choose to keep it visible for applications that need time to read.

## Common things you can do here

### Build a contact form from scratch

1. Click **New Form**.
2. Set the **Title** under **On your site** (e.g., "Contact us").
3. Click **Add question** for each thing you need (Name, Email, Message). The answer type is picked from how you word each one, so check it and adjust if needed.
4. Click **Save**.

### Add a newsletter signup

1. Click **New Form** (or edit an existing one).
2. Add an **Email** question, and optionally a **Name** question.
3. Turn on **Add people to a mailing list** and pick the list.
4. If you want explicit consent, add a **Checkbox** question and choose it under **Consent checkbox** in Advanced.
5. Click **Save**.

### Pause a form temporarily

Open the form, turn **Live** off, and save. Public embeds and generated flow pages stop resolving the form, while its definition and past submissions stay intact. Turn it back on when you're ready.

### Reorder questions

Open the **⋯** menu on a question and use **Move up** or **Move down**. The order in the table is the order visitors answer in.

### Customize the thank-you message

Open **Thank-you screen** in the **After someone submits** card and set your own heading and message.

## Tips

- **Drafts autosave** to a recovery slot so you don't lose work if your browser crashes. Leaving through the **Forms** breadcrumb keeps the draft; the next time you open the form, your unsaved changes are restored.
- **Live is your on/off switch.** Forms that aren't live cannot be opened or submitted publicly, but their definitions and past submissions remain available in admin.
- **New forms are custom forms.** They collect submissions under [Form Submissions](form-submissions.md). Your site's standard contact form is already set up for you.
- **Names become IDs automatically.** Forms and questions each get an internal ID derived from their names, so you never have to manage one by hand.
- **Permissions matter.** Without edit permission, the controls are disabled, the **Save** button is off, and a "Read-only" banner appears at the top of the section.

## Troubleshooting

- **Save button is disabled?** Either you've made no changes since the last save, or you don't have edit permission.
- **Save reported a problem?** The message appears wherever the fix is: on the **Title** or **Description** field when it's about those, and on the row in the Questions table when it's about a question. A banner above the page carries anything with nowhere else to sit.
- **Form is published but visitors can't submit?** Confirm the form is embedded on a page that's published and reachable.
- **Newsletter subscription not working?** Open **After someone submits** and confirm the mailing list is still there and not archived, and that the form has an Email question.
- **Lost your changes?** Reopen the form — local drafts are saved automatically and restored when you return.
- **Want to add a phone number field?** Name the question something like "Phone number" — the answer type is picked for you, and phone answers get a phone-style keyboard on mobile devices.
