A block is a piece of a page: a paragraph of text, a table, cards, an image carousel or a button. A page is assembled from blocks like from parts. The agent places the needed blocks in order, and the portal renders them in a single style.
What a block is
Every block has an id (so it can be referenced), a type (what kind of block it is), a title (optional), a width, content settings and, when needed, button actions. Width is measured on a 12-part grid: 12 takes the full page width, 6 a half, 4 a third. That way two or three blocks can sit side by side.
Blocks are not edited on the page itself: a block can only be changed through the agent. But every block has a readable type name — if the agent placed something unfamiliar, the reader sees no error, but the note This block is managed by the agent.
All 27 block types
The types are grouped into six families. Below is what each of them does.
| Type | Family | What it is |
markdown | text and structure | the main text: paragraphs, lists, emphasis, links |
heading | text and structure | a subheading inside the page, with a level from 1 to 4 |
hero | text and structure | a large banner heading with a subtitle and buttons, optionally with an image |
callout | text and structure | a highlighted note block: a hint, a warning, an important remark |
quote | text and structure | a quotation with the author and their role |
list | text and structure | a list: bulleted, numbered or with check marks |
icon-grid | text and structure | a grid of identical cards: icon, title, short text |
divider | text and structure | a divider or an empty gap between parts of a page |
tabs | text and structure | several tabs with different content, one open |
accordion | text and structure | collapsed “accordion” sections: the one you need unfolds |
timeline | text and structure | a feed of dated events on a vertical line |
stepper | text and structure | a step-by-step instruction with numbered circles |
image | media | a single image with a caption, optionally a link |
gallery | media | a set of images in a grid, with a large view |
slider | media | a slide carousel, each slide with its own buttons |
video | media | video from your server or an external service |
files | media | a list of downloadable files with sizes and notes |
embed | media | an embedded third-party block: a map, a form, an external service |
cards | navigation | link cards pointing to other portal pages |
table | data | a table with columns and rows, with a sticky header |
people | data | staff cards: photo, name, role, contacts |
kpi | data | tiles with the key numbers: a measure, a unit, a change |
feed | data | a feed of entries: date, title, short text, picture |
actions | actions | buttons only, with no content of their own |
chart | dynamic | a chart whose data is computed by a script |
script | dynamic | ready text assembled by a script |
form | dynamic | a form with fields and a submit button |
Which blocks can compute data
Seven types can take their content not from text but from a calculating script. This means the numbers on the page are always fresh — from your system, not typed in by hand. The data-computing types are: list, table, kpi (number tiles), feed, chart, script (ready text) and form.
What all blocks share
- Title — optional. When present, the block’s name with its icon appears above the content.
- Width — from 1 to 12 parts of the page. By default a block takes the full width.
- Action buttons — up to three per block. Each can be a link, a step inside the portal, a request to the agent or a script run (see Buttons & Actions).
- The freshness footer — blocks with computed data show at the bottom when the data was updated, plus a refresh button.
A block with no title and no buttons renders “bare” — without an extra frame around it. That way the text on a page reads like a normal article rather than a set of boxes.
When a block breaks
One unlucky block never takes the whole page down. An unknown type renders as a calm note naming the type: This block is managed by the agent. And when a block fails to render because of an error, its place shows Block could not be rendered with a Copy details button — that note can be handed to the agent to fix. All the other blocks on the page keep rendering as usual.
Where to see examples
All 27 types are collected in a demonstration portal: it has the carousel, the tabs, the charts and the forms — live examples show how a block behaves in practice. Ask the agent to open this demonstration set when you want to see a block type before putting it on your own page.
Next: how block buttons behave — in the Buttons & Actions section; how data is computed for blocks — in Dynamic Python Blocks; how blocks are checked — in Page Validation.