create_static_content_element

Admin-only MCP tool.

Create a new Static Content 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.

Static Content Elements have different properties depending on their type.

You must use the valid properties for each type. Here is a complete list of available types, their properties, and examples:

Element: Captioned Content (captionedContent).

Description: A block of static text or HTML shown in the right column of the form’s two-column layout, with the caption shown to users as the label in the left column (just like a normal form element). Use it to present read-only information alongside a label. It does not collect any data.

Note: For this type, the caption IS shown to users as the left-column label.

Properties:

  • content (string, the text or HTML to display in the right column. You can include values from other elements in the current entry by putting an element handle in curly brackets, ie: {element_handle}. Plain text and basic HTML are supported. PHP code is not supported via this tool.)

Examples:

  • A labelled note: caption “Status” with { content: “This application is awaiting review.” }
  • HTML with a reference to the value of another element: { content: “Total owing: {amount_due}” }

Element: Full Width Content (fullWidthContent).

Description: A block of static text or HTML that spans the entire width of the form. Use it for instructions, headings, or contextual information shown to the people filling out the form. It does not collect any data.

Note: For this type, the caption is an internal label only and is NOT shown to users. If you leave the content empty, the caption text will be displayed instead.

Properties:

  • content (string, the text or HTML to display. You can include values from other elements in the current entry by putting an element handle in curly brackets, ie: {element_handle}. Plain text and basic HTML are supported. PHP code is not supported via this tool.)

Examples:

  • A simple instruction spanning the form: { content: “Please complete all of the fields below.” }
  • HTML with a reference to the value of another element: { content: “Welcome, {first_name}!” }

Properties

Property Type Required? Description
form_id integer Required

Required. ID of the form that this will be part of.

type string (one of: captionedContent, fullWidthContent) Required

Required. The type of Static Content Element to create.

caption string Required

Required. The label for the Static Content Element as it will appear to users in forms and in lists.

properties object Required

Required. Additional configuration settings for the Static Content Element. The available properties depend on the element type. See the tool description for examples of what properties are needed for different element types.

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.
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