Built on WIX Headless

Docs Widgets Form widget

Form widget

Collect visitor submissions into a CMS collection — autosave drafts, multi-step forms, conditional fields, contacts, members, Automations, and Pro pay-on-submit — find every setting in the Form panel.

Panel map
FormSettings

Submission collection and fields

  • Collection / Fields

The Form widget is a single element: connect a collection, choose fields and labels, and let visitors submit — including image, video, and Media Gallery uploads. Split long forms into steps, show fields only when a condition is met, create a Wix contact, register a site member, and trigger Wix Automations. On Pro, you can collect payment on submit via Wix Checkout.

Submissions land in your collection so you can display them later with Table or Repeater. With Update displays on this page, a list on the same page refreshes as soon as the submission succeeds — see Data refresh.

Use case examples

  • Contact form — Save inquiries to CMS and upsert a Wix contact.
  • Multi-step intake — Split long applications into pages with Next / Back; show extra questions only when a prior answer matches.
  • Draft intake — Autosave keeps a member’s unfinished submission in the collection, or a visitor’s draft in this browser, until they submit.
  • Member signup — Create a site member with login email and password on submit.
  • Paid registration — Collect a fee via Wix Checkout (Pro), then write order fields back to the submission.
  • Live list — Form + Repeater on the same page; Update displays on this page shows the new item immediately.

Configure a Form

Build with AI: Open AI setup at the top of the panel and describe fields and submit copy — then refine in Manual. Details: AI setup.

  1. Add Form from Add → Elements → Installed Apps → CMS for Harmony.
  2. Select the widget → open Settings.
  3. In Content, connect a collection and choose fields.
  4. Optionally turn on Steps for a multi-page form.
  5. Configure Field setup (labels, input types, step assignment, Show only when) and Submit, including optional Autosave.
  6. Optionally turn on Contacts, Members, and/or Payments (Pro).
  7. Publish and test on the live (or preview) site. Payment checkout runs on the live site.

Content

Where: Manual overview → Content drill row

Where: Settings → Content

  1. Set Collection (Wix CMS only — Forms do not use external databases).
  2. Choose which Fields visitors fill (Number and URL fields get matching input types; Color uses a native picker and saves HEX; Date / Date & time / Time pickers; image, Video upload, Media Gallery multi-upload).

Steps

Where: Manual overview — toggle Steps, then open the row

Where: Settings → Steps

  1. Turn on Multi-step form.
  2. Add steps and set each Step title (shown as progress and as section headers in Field setup).
  3. In Field setup, assign each field to a Step.
  4. Use Preview step in the editor to see one page at a time on the canvas.
  5. On the live form, visitors use Next / Back; submit runs on the last step. Progress shows Step N of M.

With multi-step off, all fields appear on one page (previous behavior).

Field setup

Where: Manual overview → Field setup drill row

Where: Settings → Field setup

For each field, set Label, Placeholder, Required, and Input type. When Members is on, Password and Confirm password appear on the live form (labels/placeholders editable here; passwords are never written to the collection).

Input type (Text fields): Text, Text area, Dropdown, Phone, Radio buttons, and Checkbox. Radio and Checkbox use custom Options under the type control; Checkbox saves a multi-select list. Boolean collection fields stay a single on/off checkbox.

Step (when multi-step is on): assign the field to a step. Fields are grouped under step headers in this section.

Show only when: hide the field until another field is empty, not empty, or Equals any of selected values. Required applies only while the field is shown. In the editor, fields that would be hidden show a hatch overlay so you can still find them.

Submit

Where: Manual overview → Submit drill row

Where: Settings → Submit

  1. Optionally turn on Editable form or Autosave. Only one of those can be on.
  2. Set Button label, Submitting label, and Success message.
  3. Turn on Update displays on this page to reload Table, Repeater, Slideshow, Media Gallery, Calendar, and Dynamic Page widgets on the same page that use the same collection — full reference: Data refresh.

Autosave

Where: Settings → Submit

Autosave saves as visitors type. Turning on Editable form turns Autosave off, and the other way around.

  1. Turn on Autosave.
  2. Choose a Submitted field (boolean). Use Add submitted field to create one named Submitted when the collection does not already have it. That field stays off the form.
  3. Members need Read and Update on their own items. The panel offers Fix when those permissions are missing.

Members save a draft item in the collection with the submitted field set to false. Opening the form again resumes that draft. Submit updates the same item and sets the submitted field to true. Filter lists on that field when you want to hide unfinished drafts.

Visitors who are not logged in keep the draft in this browser until they submit. Submit then writes a new collection item and clears the browser draft.

The form shows Saving…, Saved, or Couldn’t save. Keep editing — we’ll try again. Passwords are not stored in the draft.

Contacts

Where: Settings → Contacts

  1. Turn on Create contact.
  2. Map Email (required) and optional slots: Phone, First name, Last name, Full name, Company, Job title.
  3. Prefer collection fields when you also want values saved in CMS. Use Add field (contact) for form-only fields that are not saved to the collection.
  4. To clear an optional mapping, use the X next to the dropdown. Email stays required while Contacts is on.

When Create member is on, Contacts stays enabled so login email and profile fields stay mapped.

Members

Where: Settings → Members

  1. Turn on Create member (also enables Contacts).
  2. Set Login email (required).
  3. Map any other contact slots you want on the member/contact.
  4. Optionally turn on Log in after registration.
  5. Publish and test signup on the live site.

Wix Automations

Every successful Form submission reports a Form submitted event to Wix Automations (best-effort; does not block saving the submission).

In Automations, pick the CMS for Harmony Form submitted trigger. The payload includes submission id, collection id, submitted time, payment-pending flag, a JSON string of field values, and — when Contacts is mapped — email, name, phone, and contact id when available.

Form payments (Pro)

Where: Settings → Payments (Pro)

Form payments are separate from catalog payments (Add to cart / Buy now on displays). Here the visitor pays a fixed or entered amount when they submit.

  1. Connect a collection, then open Payments.
  2. Turn on Enable payments (installs Wix Stores if needed).
  3. Set Item name (line item in checkout).
  4. Choose Price: Fixed amount or Visitor enters amount (adds a required Amount field on the live form).
  5. Set the pay button Label.
  6. Under Save to submission, map Order ID, Total paid, and Payment status — filled after checkout when payment succeeds.
  7. Publish and test on the live site.

Without Pro, the payments toggle stays off and the panel shows an upgrade prompt.

Design

Where: Settings → Design

Set Field gap, Corner radius, Background, Border, Error color, Button background, Text, and Button text.