Skip to content

Forms

The Forms extension lets you build forms in the admin and put them on any page. Submissions are stored on your site. You can have them emailed to your team, download them as a spreadsheet, and delete them automatically after a while. Only Administrators can build forms and see submissions.

  1. Go to Extensions → Forms → Forms.
  2. Under New form, enter a name and select Create form.
  3. In Fields, fill in one row per question:
    • Type: short text, long text, email address, phone number, number, date, dropdown, radio buttons, checkboxes, a single checkbox (for consent), file upload, hidden value, or a heading or paragraph of text.
    • Label: the question people see. Required means they must answer it.
    • Choices: one per line, for dropdowns, radio buttons, and checkboxes. For a file upload, list the file types you accept, such as pdf and docx (leave empty to accept documents and images).
    • Placeholder, Help text, and Default or hidden value are optional.
    • Width, Start a new row, Column, and Show choices lay the form out (see below).
  4. To change the order, renumber the rows. To remove a field, tick Remove. Empty rows at the bottom add new fields.
  5. Choose what happens after sending: show the Message after sending, or send people to a page of your site (such as /thanks).
  6. Select Save form.

Open a form under Extensions → Forms. The Layout box at the top shows your fields as they’ll appear on the page, in rows and columns. On phones, fields always show one per row.

  • Move a field by dragging it to another place in its column, into another column, or onto a “New row” line between rows.
  • Add a column to a row with Add column. Remove one with ×; its fields move to the column beside it. Add row adds an empty row at the end, and an empty row can be removed.
  • Change a column’s width with its menu (full, three quarters, two thirds, half, a third, a quarter, a sixth), or by dragging its right edge. The other columns make room.
  • With the keyboard: Tab to the fields and use the arrow keys to go from field to field. Alt + arrow keys move the selected field, Alt + Shift + ↑ or ↓ puts it in a new row, and Shift + F10 opens a menu with every move.
  • Select Save layout when you’re done, or Undo changes to start over.

New fields appear in the layout once you’ve saved the form. You can also set a field’s Width, Column, and Start a new row in the field list; that works without JavaScript too.

  • Hide label (in the field list) hides a field’s label on the page. Screen readers still read it, so put the label in the placeholder or nearby text.
  • Labels (a form setting): Above the fields, or Inside the fields, where each box shows its label until something is typed. Radio buttons, checkboxes, dates, and uploads keep their labels above.
  • The Form block has its own Labels setting, so one page can show a form with labels inside while others keep them above.
  • Show choices for radio buttons and checkboxes: one per line, side by side, or two, three, or four per line.

Add the Form block and enter the form’s id, shown in the list of forms (for example volunteers). Your existing Contact form block keeps working: it shows the form called “Contact”, which you can edit like any other.

Forms work without JavaScript. Visitors’ answers are checked again on the server, so a wrong email address or a missing required answer is always caught.

  • Email each submission to: your team’s addresses, separated by commas (up to 10). Each gets the answers in a plain-text email with a link to the submission.
  • Replies go to: choose the form’s email field, and you can reply to a submission straight from your inbox.
  • Send a confirmation to: choose the form’s email field to send people a short confirmation. Write its subject and text yourself. It never includes what they typed, and each address gets at most a few per hour, so nobody can use your form to send email to someone else.

Emails come from your site’s address and need email to be set up on the server. Staging copies of a site never send them.

Files people upload are kept privately on your site. They are never shown on public pages, and only signed-in Administrators can download them, from the submission. Only common documents and images are accepted (PDF, Word, Excel, PowerPoint, text, CSV, JPEG, PNG, GIF, WebP), checked by their contents rather than their name. Set Largest upload (MB) per form, up to 10 MB.

Go to Extensions → Forms → Form submissions and choose a form. The newest come first, with page numbers above and below the list. Select one to see every answer and download its files, or delete it. Download all as CSV gives you every submission in a file any spreadsheet opens.

  • Keep submissions for (days): set per form, or leave empty to use the extension’s setting (365 days by default). Older submissions and their files are deleted automatically. 0 keeps them forever.
  • Delete someone’s submissions: for privacy requests, enter an email address on the Forms page to delete everything sent from it, in every form, with any files.
  • Uninstalling Forms deletes all forms, submissions, and files. Download what you need first.

A hidden field catches simple spam bots. If spam still gets through, whoever runs the server can turn on a bot check (Cloudflare Turnstile) with TURNSTILE_SITE_KEY and TURNSTILE_SECRET_KEY. Visitors then pass a quick check, usually invisible, before sending.