update_table_of_elements

Admin-only MCP tool.

Update an existing Table Of Elements in a Formulize form.

Element: Table of elements (grid).

Description: A table that contains elements from the form, so they can be displayed together in rows and/or columns. This is useful for display first name/last name boxes, or parts of addresses, like province and postal code, etc.

Properties:

  • initialElementId (Required. The element id of the first element in the table. This element will appear in the upper left corner, and the remaining spaces in the table will be filled by the subsequent elements in the form in order.)
  • numberOfRows (Required. The number of rows in the table.)
  • numberOfColumns (Required. The number of columns in the table.)
  • rowLabels (Optional. Comma separated list of labels, one for each row in the table.)
  • columnLabels (Optional. Comma separated list of labels for the columns in the table.)

Examples:

  • A table to show first name and last name beside each other in the form: { initialElementId: 12, numberOfRows: 1, numberOfColumns: 2, rowLabels: “”, columnLabels: “First Name, Last Name” }
  • A table to show province and postal code beside each other in the form: { initialElementId: 15, numberOfRows: 1, numberOfColumns: 2, rowLabels: “”, columnLabels: “Province, Postal Code” }
  • A table to show five preferences in a single column all together in the form, with no labels (four commas will mean five rows with no text labels): { initialElementId: 20, numberOfRows: 5, numberOfColumns: 1 }
  • A table with three rows, each row gives users a choice of meals, a gluten-free yes/no option, and a choice of music. The yes/no option is self-explanatory and so has no column label: { initialElementId: 25, numberOfRows: 3, numberOfColumns: 3, rowLabels: “Option 1, Option 2, Option 3”, columnLabels: “Meals, , Music” }

Properties

Property Type Required? Description
element_identifier string or integer Required
caption string Optional

Optional. The new label for the Table Of Elements as it will now appear to users in forms.

properties object Optional

Optional. Updated configuration settings for the Table Of Elements. The available properties depend on the element type. See the tool description for examples of what properties are needed for different element types. Use the get_form_details tool to see all the element types for the existing elements.

help_text_for_users string Optional

Optional. A longer description or help text for the Table Of Elements, shown to users filling out the form. This is NOT an internal notes field, this content appears as part of the element.

display boolean Optional

Optional. Whether the Table Of Elements is displayed in the form or hidden. Default: true.

display_conditions array of object Optional

Optional. A given form entry must meet these conditions in order for this element to be displayed; otherwise it is not shown. Each condition includes an element, an operator, a value, and a ‘type’ flag indicating the logical set the condition belongs to: ‘match-all’ or ‘match-one-or-more’. Multiple match-all conditions are joined with a logical AND operator, and multiple match-one-or-more conditions are joined with a logical OR operator. Only include this property when you intend to change the conditions: omit it entirely to leave any existing conditions unchanged; provide the list of conditions to set or replace them; or provide an empty array ([]) to remove all conditions so the element is always displayed. When setting conditions based on linked elements, do not use foreign keys as values, and instead use the readable value which this tool understands automatically. Use the special value “{BLANK}” (without quotes) to match blank values.
Examples:

  • [ { “element”: “status”, “operator”: “=”, “value”: “Approved”, “type”: “match-all” } ]
  • [ { “element”: “award_value”, “operator”: “>”, “value”: “500”, “type”: “match-all” }, { “element”: “award_year”, “operator”: “=”, “value”: “2026”, “type”: “match-all” } ] Match size 40 pants OR green pants:
  • [ { “element”: “pant_size”, “operator”: “=”, “value”: “40”, “type”: “match-one-or-more” }, { “element”: “pant_color”, “operator”: “=”, “value”: “green”, “type”: “match-one-or-more” } ] Match incomplete orders that are due before today, and are going to either Canada or Mexico:
  • [ { “element”: “order_state”, “operator”: “=”, “value”: “incomplete”, “type”: “match-all” }, { “element”: “order_due_date”, “operator”: “<”, “value”: “{TODAY}”, “type”: “match-all” }, { “element”: “order_destination”, “operator”: “=”, “value”: “Canada”, “type”: “match-one-or-more” }, { “element”: “order_destination”, “operator”: “=”, “value”: “Mexico”, “type”: “match-one-or-more” } ] Do not use foreign key values with linked elements; use the readable value instead:
  • Incorrect: [ { “element”: “assigned_judge”, “operator”: “LIKE”, “value”: “509”, “type”: “match-all” } ]
  • Correct: [ { “element”: “assigned_judge”, “operator”: “LIKE”, “value”: “Wapner”, “type”: “match-all” } ]
placement string Optional

The canonical position of the element in the form. This order is used on every form screen page that this element has been added to (newly created elements are automatically added to all pages that currently have all existing elements; to add an element to a page that has only some existing elements, use the update_form_screen tool). Use “top” to make this element the first element in the form, use “bottom” to make this element the last (which is the default for new elements), or use an element handle to place this element immediately after that element (based on the live state of the form at the time of this specific request; re-fetch get_form_details first if you need to see the current element order). On updates, omit this to leave the current position unchanged.

← Back to the MCP reference