create_linked_list_elementAdmin-only MCP tool.
Create a new Linked List Element in a Formulize form.
Newly created elements appear on the pages of form screens where all other elements in the form already appear. To add a newly created element to a form screen page which only has some existing elements, use the update_form_screen tool.
Overview: Linked elements let the user select from a set of options, that are based on values entered into another form. Most of the standard types of list elements can be implemented as a Linked element.
Important notes:
Properties common to all Linked elements:
Basic examples:
Element: Linked Autocomplete List (autocompleteLinked)
Description: A single-line text box that provides autocomplete suggestions from a set of options based on values entered into another form. The user can select one of the suggested options, or if the allowNewValues property is enabled then the user can enter a new value that is not found in the list. Linked Autocomplete Lists can be set to allow multiple selections, with the allowMultipleSelections property. If new values are allowed, the new value will be added as a new entry in the source form, which is very convenient, because otherwise the user would have to go to the other form and enter the value there first.
Properties:
Examples:
Element: Linked Checkboxes (checkboxLinked)
Description: A series of boxes that the user can check to select multiple options. Linked Checkboxes have options drawn from values entered into another form. If multiple selections are not required, use Linked Radio Buttons or a Linked Dropdown instead. In general, Checkboxes are best with a small number of options (generally less than 7) and you want the user to see all the options at once, without having to open a dropdown list or type in an autocomplete box.
Properties:
Examples:
Element: Linked Listbox (listboxLinked)
Description: A box that shows a list of options, allowing users to select one or more options from the list. Options are based on values entered into another form. The user experience with Linked Listboxes is generally poor. Use Linked Autocomplete Lists or Linked Checkboxes instead, unless there’s a specific reason to use a Listbox or the user has specifically requested one.
Properties:
Example:
| Property | Type | Required? | Description |
|---|---|---|---|
| form_id | integer | Required | Required. ID of the form that this will be part of. |
| type | string (one of: autocompleteLinked, checkboxLinked, listboxLinked, selectLinked) | Required | Required. The type of Linked List Element to create. |
| caption | string | Required | Required. The label for the Linked List Element as it will appear to users in forms and in lists. |
| properties | object | Required | Required. Additional configuration settings for the Linked List Element. The available properties depend on the element type. See the tool description for examples of what properties are needed for different element types. |
| column_heading | string | Optional | Optional. The heading to use at the top of a column in lists of entries. If not specified, the caption will be used. Some captions are long and descriptive, and a shorter heading would be more appropriate for in a list of data. |
| help_text_for_users | string | Optional | Optional. A longer description or help text for the Linked List Element, shown to users filling out the form. This is NOT an internal notes field, this content appears as part of the element. |
| required | boolean | Optional | Optional. Whether the Linked List Element is required to have a value when users fill out the form. Default: false |
| principal_identifier | boolean | Optional | Optional. Whether the Linked List Element is the principal identifying element for entries in this form. Principal identifiers are used in various places in Formulize to represent an entry. The Principal Identifier would typically be a ‘Name’ text box or other element that unique identifies the entry. Each form can only have one Principal Identifier. If a form has a Principal Identifier, and another element is created or updated with this value set to true, the existing Principal Identifier will be replaced with the new one. Default: false. |
| disabled | boolean | Optional | Optional. Whether the Linked List Element element is disabled (visible but not usable) in the form. Default: false. |
| handle | string | Optional | This is the internal name, used in the database and in API calls. This is optional and does not normally need to be specified, as the system will determine it automatically from the form title and element caption. If the user specifically requests a handle, use this to force the handle to be a certain value. The system may still modify it for uniqueness, so check the tool result to see the actual handle used in by system. Maximum length is 64 characters. |
| 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. Provide a list of conditions to restrict when the element is displayed; if you omit this property (or provide an empty array) it has no conditions and 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.
|
| 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. |
| data_type | string | Optional | Optional. The MariaDB data type to be used for the field in the database where this data will be stored. The system will default to text in most cases, but will set smart defaults if the type is specifically a number box or a linked element storing foreign keys, etc. Generally this does not need to be specified, but can be used if the user has specifically stated that a certain data type must be used for a given element. Valid types are: text, int(x), decimal(x,y), date, datetime, time, char(x), varchar(x). For int(x), the x is the number of digits to display in MariaDB when showing the number. For decimal(x,y), the x is the total number of digits, and y is the number of digits after the decimal point. For char(x) and varchar(x), the x is the maximum number of characters to store. |