Viewing submissions โ
Every time someone submits one of your published forms, a row lands in the submissions table for that form. This page is where you read them, triage them, and pull them out as CSV when you need to share with a leader.

Getting there โ
From the Forms list, click any form's row to open its builder. In the top right, click Submissions โ or use the URL pattern /forms/{form-id}/submissions directly.
The page header shows the form's name, the total submission count (badge), the status filter, and an Export CSV button.
The table โ
The submissions table shows, in priority order:
| Column | What's in it |
|---|---|
| โ | Checkbox for bulk actions |
| Date | When the submission landed (formatted in your org's date locale) |
| Name | The submitter's name (pulled from the first Text field labelled "name" โ or blank/italicized "Anonymous" if none) |
| The submitter's email (pulled from the first Email field with a value) | |
| Status | Coloured badge โ new, read, starred, or archived |
| (up to 3 preview fields) | The first three non-display fields by sort order โ truncated to 40 characters |
| โฎ | Row-level dropdown |
Mobile shrinks this to a card layout โ name + status badge on top, email and date below, and the first two preview fields stacked under that.
Statuses โ
Every submission starts at status new. Statuses are purely organizational โ they don't affect anything else in GCM, they're just a way of tracking which submissions you've dealt with.
| Status | When to use it |
|---|---|
new | Default. The submission just landed and nobody's looked at it. |
read | You've opened the submission. GCM auto-marks new โ read the moment you click into the detail view. |
starred | You're flagging this one as important โ usually because it needs a follow-up. |
archived | You've actioned it (or decided not to) and don't need to see it in the default view. |
Filter by status using the dropdown in the page header. Default is "All."
Viewing a single submission โ
Click any row to open the detail modal:

You see every field's label and the value the visitor entered, in form-order. File uploads show as download links. Empty fields show as -- so you know whether the visitor skipped them or actually submitted an empty value.
The detail modal is read-only โ submissions can't be edited. If a visitor needs to correct something, ask them to submit again.
Bulk actions โ
Tick a checkbox in any row to enter bulk-select mode. A bar appears above the table:
- Mark read โ bump every selected
newtoread - Star โ flag all selected as starred
- Archive โ bump all selected to
archived - Delete โ permanently remove the selected submissions (with a confirmation modal)
Tick the header checkbox to select every row on the current page (not every row in the form โ just what's visible).
Delete is permanent
Soft-delete doesn't apply to submissions โ when you delete, the row is gone for good. If you need an audit trail, export to CSV first.
Exporting to CSV โ
Click Export CSV in the page header to download every submission currently in view (after the status filter, but ignoring pagination โ all matching rows export, not just the visible page).
The CSV columns are:
Dateโ created timestamp in your localeNameโ submitter nameEmailโ submitter emailStatus- One column per non-display field, in form order, using the field's label as the column header
Multi-value fields (checkboxes with options, multi-select) are joined with ; . File-upload fields export the storage path, not a downloadable link.
The file is named {form-name}-submissions.csv. Open it in any spreadsheet โ Excel, Google Sheets, Numbers โ and you're done.
Single-row actions โ
The โฎ icon at the end of each row opens a small menu:
- View โ same as clicking the row
- Star โ flip status to
starred - Archive โ flip status to
archived - Delete โ same delete flow as bulk delete, just for one row
Empty state โ
If a form has no submissions yet, the page shows a friendly empty state โ clipboard icon, "No submissions yet," and a hint that submissions will land here once people start filling out the form. Once the first submission lands, the empty state disappears automatically.
What about real-time? โ
The page doesn't auto-refresh โ you'll need to reload to see new submissions land. If you want a notification the moment a submission comes in (push, SMS, email), build a workflow with the form.submitted trigger. The workflow integration article covers exactly that flow.
Privacy and retention โ
Submissions stick around forever by default. There's no auto-deletion. If your org needs a retention policy ("delete prayer requests after 90 days"), you can:
- Set up a manual quarterly cleanup ritual โ filter by date, bulk-select, delete
- Build a scheduled workflow that finds old submissions and deletes them (advanced)
The data itself sits in the form_submissions table inside your org's row-level-security scope โ only your admins can read it, and only the platform itself can read it system-wide. See the users & roles docs for who has access to what.
