Each menu consists of rows, and each row contains one or more cells. A cell represents a visual and interactive unit on the UI. The behavior, appearance, and data flow of a cell are defined by its form, and based on that form, certain fields within the cell become applicable or relevant.

Cell Behavior

Each cell can include:

This hierarchical structure allows for modular and flexible UI composition, where user interaction can dynamically change the interface flow into a diagram or tied to the menu JSON schema!


Field Type Required Access Description
cell_id String Conditional ๐Ÿ”ต Read-only Unique identifier for the cell. Used to reference and manage the cell independently. cell ID has priority over callback if provided.
callback String Yes ๐Ÿ”ต Read-only User-defined identifier triggered when the cell is interacted with. Must be provided when creating a cell. However, the form itself becomes read-only once the cell is saved, meaning it cannot be changed in future updates.
cell_order Number Yes ๐Ÿ”ต Read-only Defines the horizontal order of the cell within the row. Must be provided when creating a cell. However, the form itself becomes read-only once the cell is saved, meaning it cannot be changed in future updates.
form String Conditional ๐Ÿ”ต Read-only Type of cell UI (e.g., dropdown, radio, button). Must be provided when creating or updating a cell. However, the form itself becomes read-only once the cell is saved, meaning it cannot be changed in future updates.
style String Conditional ๐Ÿ”ต Read-only Style of cell UI. Must be provided when creating a cell. However, the form itself becomes read-only once the cell is saved, meaning it cannot be changed in future updates.
version String Optional ๐Ÿ”ต Read-only System-generated random version after each cell update.
headline String Optional ๐ŸŸก Conditionally Writable Headline of the cell, if supported by the form.
subhead String Optional ๐ŸŸก Conditionally Writable Subhead or secondary heading.
label String Optional ๐ŸŸก Conditionally Writable Field label used for forms or inputs.
sublabel String Optional ๐ŸŸก Conditionally Writable Field sublabel used for forms or inputs
body String Optional ๐ŸŸก Conditionally Writable Content body text within the cell.
helper String Optional ๐ŸŸก Conditionally Writable Helper or supporting text to guide users. Usually displayed beneath the cell for additional context or instructions.
error String Optional ๐ŸŸก Conditionally Writable Error message shown when validation fails. Usually displayed beneath the cell, replacing the helper/supporting text.
prefix String Optional ๐ŸŸก Conditionally Writable Text displayed at the beginning of the input field.
suffix String Optional ๐ŸŸก Conditionally Writable Text displayed at the end of the input field.
placeholder String Optional ๐ŸŸก Conditionally Writable Placeholder text for input fields.
bg_image String Optional ๐ŸŸก Conditionally Writable Background image (light mode).
bg_image_dark String Optional ๐ŸŸก Conditionally Writable Background image (dark mode).
image String Optional ๐ŸŸก Conditionally Writable Image displayed in the cell (light mode).
image_dark String Optional ๐ŸŸก Conditionally Writable Image for dark mode.
icon String Optional ๐ŸŸก Conditionally Writable Leading icon in the cell.
trailing_icon String Optional ๐ŸŸก Conditionally Writable Icon shown at the end of the cell.
trailing_text String Optional ๐ŸŸก Conditionally Writable Text shown after cell content.
second_trailing_icon String Optional ๐ŸŸก Conditionally Writable Optional secondary trailing icon.
max Number Optional ๐ŸŸก Conditionally Writable Maximum allowed value for inputs.
min Number Optional ๐ŸŸก Conditionally Writable Minimum allowed value for inputs.
step Number Optional ๐ŸŸก Conditionally Writable Step value for numeric or range inputs.
divider Boolean Yes ๐ŸŸก Conditionally Writable If true, a divider line will be displayed beneath the cell. Defaults to false. Applicable only to forms that support visual separation.
font_size fontsize Optional ๐ŸŸก Conditionally Writable Font size settings for text elements.
text_align text_align Optional ๐ŸŸก Conditionally Writable Alignment settings for content inside the cell.
submit String Conditional ๐Ÿ”ต Read-only Target API scope to determine which values are submitted when the cell is triggered. Must be provided when creating a cell. Cannot be changed after the cell is saved.

โ€ข cell โ€“ sends only the current cellโ€™s value. โ€ข menu โ€“ sends values of all cells in the current menu. โ€ข all โ€“ sends all values filled or triggered across all menus. | | next | Array of Actions | Optional | ๐Ÿ”ต Read-only | Defines next action: open component/menu, or execute function. Must be provided when creating a cell. Cannot be changed after the cell is saved. | | value_type | String | Optional | ๐ŸŸก Conditionally Writable | Expected type of the value (e.g., string, number). Must be provided when creating a cell. Cannot be changed after the cell is saved. | | option | Array of Options | Optional | ๐ŸŸก Conditionally Writable | Available selectable input options for the cell (e.g., dropdown, multi-choice, radio). Required only for forms that involve user selection from predefined values. | | value | Array of Options | Optional | ๐ŸŸก Conditionally Writable | Current or default values depending on the form (e.g., dropdown, multi-choice). | | cache | Boolean | Yes | ๐ŸŸก Conditionally Writable | If true, persists cell state until explicitly updated. Defaults to false. | | cell_query | Cell Query | Optional | ๐ŸŸก Conditionally Writable | The app's query field accepts one of two values:Location: to ask the user to share a location or map point.Contact: to ask the user to share their contact number. | | nav_type | String | Optional | ๐ŸŸก Conditionally Writable | null (default) shows the navigation button for Channel, Group, or Contact. Use 'admin' to show the admin navigation button in the chat setting. |


Options

Actions

Cell Query

Fontsize

Text Alignment