Skip to main content

Table Field

How to build and edit tables within your form.

Updated over a week ago

The Table field allows you to collect structured, row-by-row data within a form. Each column is its own field type, and users can add as many rows as needed. It’s perfect for itemised lists, repeatable records, or multi-step logs.


Adding table fields

  1. In the Builder tab of a form design

    • Add the Table field

      • Drag the Table field into your form

      • Give it a label (e.g. “Client Session Log”)

  2. Add your columns

    • Each column is a separate field.

      • Click + Add Column

      • Choose a Field Type (e.g. Number, Text, Signature, etc.)

      • Name the column clearly (e.g. “Hours Worked”)

  3. (Optional) Add sample rows

    • You can pre-fill with rows or leave it blank — users can add rows later if Input Expandable is enabled.


Table settings

Select the table and open the Options tab by clicking on the settings icon on the right to customise its behaviour.

General table settings

What it does

Input expandable

Users can add additional rows while completing the form.

Pin first column

Keeps the first column fixed while scrolling horizontally.


Column management

Under Options, each column appears in a list. Click the settings icon next to any column name to configure its settings.

From here, you can adjust:

  • Editable – Toggle whether users can fill in this column when completing the form.

  • Display in Summary – Show this column’s value in the row summary (record view).

  • Summary Row – (Number fields only) Choose how to aggregate values: Sum, Min, Max, Average, or Count.

  • Field-specific settings – Each column still behaves like its original field type (e.g. min/max for numbers, file types for uploads).

🔗 For more details on what each field type can do, see the Comprehensive Guide to Field Types.


Summary Row

In the column settings for Number fields, you’ll now see a Summary Row option. This allows you to calculate values across all rows for a given column automatically.

Options include:

  • Sum – total of all values

  • Min – smallest value

  • Max – highest value

  • Average – mean of all values

  • Count – number of entries

This result will appear in a summary row at the bottom of the column in form records.


Supported field types

Not all field types are available inside a Table column. Below is a list of what’s currently supported:

⚠️ Note: Unsupported field types must be used outside the Table field.


Frequently Asked Questions

Q. Can I apply conditional logic inside a Table?

A. No — conditional logic is not currently supported within table columns. However, you can still use conditional fields outside the table based on other inputs.

Q. Can users add or remove rows in the table?

A. Yes — if you enable the Input Expandable setting, users can add or remove rows when filling out the form.

Q. Can I pre-fill rows in a table?

A. Yes — during form setup, you can manually add rows with default values or leave them blank. These rows will appear by default every time a form record is created.

Q. Can I hide specific columns in the record summary?

A. Yes — use the Display in Summary toggle in the column settings. You can show only the most relevant columns in the record view.

Q. Is there a limit to how many rows or columns I can add?

A. There is no strict limit, but for performance and usability reasons, we recommend keeping tables manageable.


💡 Tips

  • Use short column names to improve readability, especially on mobile.

  • Pin the first column if you expect users to scroll across multiple fields — this helps keep context as they enter data.

  • Use “Display in Summary” to surface key table values (like totals or tags) directly in the record list for quick review.

  • Limit the number of columns, especially for handheld devices; aim for no more than 3–5 columns to ensure smooth horizontal scrolling and readability.

  • Preview your form on mobile with the Preview tab in the builder to test how the table behaves on smaller screens — this is especially useful for clinical or field-based use.

Did this answer your question?