Skip to main content

Managing submissions

Introduction​

Every stored submission belongs to one form and has a status. The dashboard shows the latest across all your forms. For everything else, open a form's Submissions from the Forms listing, or type submissions… in the Jump Menu and pick the form.

The listing​

  • Filter with the same condition builder used everywhere in Formidable. A field's operators match its kind of answer. See Conditions.
  • Choose columns: the submission's own details (name, status, member, dates) and any of the form's fields.
  • Save a view. A saved view is a named filter, set of columns, page size and sort, stored for one form and one member. Switch between views from the listing. A view can also be used from a template: view= on {exp:formidable:submissions} applies its filter, page size and sort.
  • Delete submissions in bulk, or run one of the form's submission actions on them.

Answers are shown the way they read, with an option's label rather than its stored value, and a file's name. Encrypted answers are not decrypted in the listing, so a glance at the list never discloses them in bulk.

A form’s submissions · Screenshot: ExpressionEngine 7.5.26, demo data

One submission​

Opening a submission shows every answer, decrypted, and lets you change its status and edit its answers. The page has two tabs: the submission, with its details and every answer (headed by page on a multi-page form), and its workflow runs. The form's submission actions you may run appear above the details, and an Activity tab lists the ones that have run. Each answer is as wide as its field is in the form builder, so the page reads like the form.

  • Repeating sections appear as a table of rows. Edit any row, move rows up and down, add rows and remove them, within the section's minimum and maximum. Rows keep the order the visitor gave them.
  • File uploads appear as cards with the file's name, type and size, and a thumbnail for images. Choose a different file from ExpressionEngine's file picker, or mark one to remove when you save.
  • Signatures show the signature itself, whether it was saved with the submission or as a file, with when it was signed when the field records that. You can remove a signature but not draw a new one: signing on a visitor's behalf isn't the same as fixing a typo.
  • Names and addresses have a box per part. Saving rebuilds the whole answer from the parts, so {field:name:first} and the full name always agree.
  • Dates, times and colours use the browser's own pickers. An answer the picker can't read, such as a date typed in another format, stays in a text box so saving never loses it.
  • Attribution is shown, not edited: it records where the visitor came from.
  • Saving works out computed answers again, so correcting a quantity corrects its total.
  • Saving can run workflows. A changed answer raises Submission Updated, and a new status raises Submission Status Changed. The Run workflows switch decides whether they run for this save. Saving without changing anything runs nothing.

The Workflow runs tab shows the form's workflows, read-only, as Simple, Detailed and Recent runs. It opens on the runs for this submission: what each workflow did, whether it succeeded, and a link to this submission in the full log.

Editing repeating rows on a submission · Screenshot: ExpressionEngine 7.5.26, demo data

Export​

Export downloads exactly what the listing shows: every submission that matches the current filter (not just one page), with the columns of the current view. Formats:

FormatShape
CSVOne row per submission, one column per chosen column.
JSONAn object with columns (each key's label), submissions (one object per submission, keyed by field handle) and count.
XMLOne element per submission, one child element per column.
TXTA plain-text record per submission, with aligned labels.

A form with a repeating section also offers Export as CSV, one line per row. Each row gets its own line, with the submission's other answers repeated on every line, which is what a spreadsheet pivot wants.

Exports decrypt encrypted answers, because they are a file someone with the Manage submissions permission deliberately asked for. Large forms export in batches, so memory use stays flat however many submissions match.

Statuses​

A status has a name, a handle and a colour. Define the site's statuses on Configuration › Statuses, and a form's own on its Statuses tab. New submissions get the default status. Statuses can be reordered.

Use them to track progress ("New", "In progress", "Done") and to filter the listing. Templates can filter by status with status="new|read" on {exp:formidable:submissions}, and the JSON API accepts the same with status=.

Storage choices​

Two form settings decide what is kept:

  • Enable storage off means workflows only. Emails and connections still run, but no submission is stored.
  • Store submission data off keeps the submission row (its name, status, member and dates) but not the answers. Workflows still receive every answer.

Fields with Encrypt Stored Value on (Advanced tab) are encrypted before they are written. See Fieldtypes.

In templates and through the API​