← Back to DocumentationBlock Types
Content, layout, logic, and page blocks: text, tables, images, containers, conditionals, loops, and more.
Block Types
The Epistola editor organizes template content into blocks. Each block has a specific type that determines its behavior and rendering.
Content blocks
| Block |
Description |
| Text |
Rich text with inline formatting and expression chips for dynamic data |
| Table |
Structured table with configurable column widths. Cells support rich text and expressions |
| Data Table |
Dynamic table bound to an array in the data. Columns are defined with data bindings; rows repeat per array item |
| Image |
Static or dynamic image with the asset picker. Configurable sizing and alignment |
| QR Code |
Generates a QR code from a dynamic data value |
Layout blocks
| Block |
Description |
| Container |
Groups child blocks together for shared styling or conditional visibility |
| Columns |
Side-by-side layout with configurable column widths |
| Page Header |
Repeats at the top of every page |
| Page Footer |
Repeats at the bottom of every page |
| Stencil |
A reusable component inserted as a copy from the stencil library |
Logic blocks
| Block |
Description |
| Conditional |
Shows or hides its child blocks based on an expression evaluation |
| Loop |
Repeats its child blocks for each item in a data array |
Page blocks
| Block |
Description |
| Page Break |
Forces a page break at that position in the document |