Use the Table component
Collect repeating rows of structured data - line items, attendees, or expense entries - in a spreadsheet-like layout.

What the Table component does
The Table component is in the Basic section of the component library.
The Table lets submitters add multiple rows of related data in a spreadsheet-like layout. Each column is a form component (Input, Dropdown, Date/Time, and so on), and the submitter adds rows as needed. Common uses:
- Expense line items with description, amount, and category
- Attendee lists with name, email, and role
- Inventory requests with item, quantity, and unit cost
Add a Table to your form
Drag the Table component from the component library onto your form, then click it to open its Properties panel.
Under Columns, click a column to open it. Each column is its own component - drop the type you want into it (Input, Dropdown, Date/Time, Computed, and so on) and configure its properties.
Set the header label for each column, then click Save.
Table properties
- Label
- The text displayed above the table.
- Columns
- Each column is a field. Open a column to set the component type - Input, Dropdown, Checkboxes, Date/Time, Computed, and more - and configure it like any other component.
- Initial Rows
- How many empty rows show when the form loads. Defaults to 3.
- Min Rows
- The minimum number of rows the submitter must fill in. Defaults to No Limit.
- Max Rows
- The maximum number of rows allowed. Leave blank for no limit.
- Enable Delete
- On by default. Lets the submitter remove rows. Turn it off for fixed-row tables.
- Display Rows Logic
- In the Rules section. An expression that controls how many rows are shown - use it to drive the row count from another field or formula.
- Visibility
- Editable, Visible, or Hidden, per workflow step, like any field.
Use formulas in Table columns
Table columns support formulas, which makes them useful for per-row calculations. For an expense table:
- Add a Quantity column (Input, Number type)
- Add a Unit Price column (Input, Number type)
- Add a Total column (Computed) with the formula quantity * unitPrice
The Total column calculates automatically for each row as the submitter enters data.
Reference table values with getCell()
Inside a table, use getCell() to reference the current row's value for a specific column. This is useful when a formula in one column needs to read another column in the same row:
getCell(columnId)
For a table with a quantity column and a unitPrice column, a Computed column can use:
getCell(quantity) * getCell(unitPrice)
This calculates each row's total by reading that row's quantity and unit price.
Common uses for getCell():
- Cross-column calculations within the same row
- Conditional values based on another column - for example, getCell(category) === 'Travel' ? getCell(amount) * 1.1 : getCell(amount)
- Referencing column values in Validation Rules or Show/Hide Field Rules inside a table