Create custom columns with submission tags

Surface the field values that matter as their own columns on the All Submissions page, so you can scan, sort, search, and scope submissions by the data inside them.

Create custom columns with submission tags

How submission tags work

A submission tag pulls a value out of each submission and labels the submission with it. Tags are defined in the form's code, in the Tags area of the Code Editor (the tagExpressions block). There is no visual control for them, so this step is usually done by a form builder or your Implementation Manager.

Once a tag is in place, it does three things for you:

  • Custom columns › each tag becomes its own column on the All Submissions page, so key data is visible at a glance instead of buried inside the form.
  • Searchable values › the tagged value is searchable, making submissions easier to find.
  • Access control › because the value is attached to the submission, you can write permission conditions that show a role only the submissions whose tag matches.

Define a tag

Each tag is one line in the Tags area: a column header (the key) paired with an expression that produces the value (most often a component ID). For example, to add a "school" column driven by a schoolLocation dropdown:

{ "school": "schoolLocation" }

Add more tags by listing more key/value pairs:

{
  "school": "schoolLocation",
  "grade": "gradeLevel",
  "status": "requestStatus"
}
Naming Use camelCase for multi-word headers (schoolYear rather than School Year). Droplet formats the header for display in the column.

Build richer values with expressions

A tag value can be any expression, not just a single component ID, so a column can combine or transform fields. These use the same expression language as formulas and computed fields.

Combine two fields with a template literal:

{ "schoolAndYear": "`${schoolLocation} ${schoolYear}`" }

Return a value conditionally:

{ "mealModification": "foodAllergy ? 'Yes' : 'No'" }

Use a helper function (see the full helper list):

{ "submissionId": "getSubmissionId()" }

See your columns on All Submissions

A custom column appears on the All Submissions page once at least one submission on the latest published version of the form populates a value for that tag. So after adding a tag, publish the form, then submit or wait for a submission that carries the value. The column will not show until there is data to fill it.

Once the column is there, you can put it to work from All Submissions:

  • Sort by clicking the column header (click again to reverse).
  • Filter by the custom column from the Filters menu.
  • Search the tagged value from the search bar.

Scope who sees which submissions

The same tags that create your columns can limit what each role sees. Pair a submission tag with an account tag and a "Tag Matches Account Tag" condition, and a user sees only the submissions that belong to their group (for example, a principal seeing only their own school). The full walkthrough is in Scope submissions by tag.

My column is not showing up. Why?

A column appears only after a submission on the form's latest published version fills in a value for that tag. Confirm the tag is in the Tags area, republish the form, then create or wait for a new submission with that data.

Can I set up tags without code?

Not currently. Tags are defined in the Tags area of the Code Editor, so a form builder or your Implementation Manager usually sets them up. Share the column header you want and which field should drive its value.

What can a tag value reference?

A component ID, or any expression built from the submission's fields, including combined text, conditional logic, and helper functions. See Use formulas and computed fields for the expression language and helpers.

Last reviewed by Nick Duell and published on June 23, 2026 3PM ET