HTML blocks
Two blocks let you use custom HTML code when the built-in blocks aren't enough.
| Block | Purpose |
|---|---|
| HTML | Embed custom HTML or generate it with AI |
| HTML with form fields | Embed custom HTML and add form fields with AI |
Check first whether you can do without
HTML blocks are powerful, but more work to maintain than the built-in blocks: they don't follow along with redesigns, and colleagues without HTML knowledge can't change them.
First check whether layout blocks with background color and border radius are enough.
HTML
Editing
Edit HTML opens the code editor with HTML code and Live preview side by side.
| Function | Effect |
|---|---|
| Generate with AI | Describe instead of write |
| Restore previous HTML version | Undoes the last generation |
| Auto-adjust height | Height follows the content |
Invalid code produces Preview error; a failed generation produces HTML could not be generated.
Working with AI
The input field expects a description of the desired change — for example "Add a footer" or "Make the card responsive."
Work step by step
The AI modifies the existing code. Small, clearly worded changes lead to better results than one long wish list.
Restore previous HTML version undoes exactly one step — for important intermediate states, it's better to copy the code out separately.
Template variables
The editor points out: Use {{ }} for template variables. Example: {{variableName}}
This lets you insert values from the context into the HTML code.
HTML with form fields
Like the HTML block, but the input fields it contains return data.
Fields need a name or id attribute
The editor explicitly warns:
Input fields without a name or id are not included in the Flow payload. Add a name or id attribute to every input field that should be submitted.
Without one of these two attributes, the entered value is silently lost — there's no error message.
Verifying the payload
Flow form payload preview and Refresh preview show which values would actually be passed.
Always check before going live
This preview is the only reliable way to check whether your fields come through. If one is missing there, it's missing its name or id attribute.
Limits and caution
What to keep in mind
- No conditional display within the HTML. Conditional visibility applies to the block as a whole, not to parts within it.
- No validation. The required-field checks from the regular input blocks don't apply here.
- Styling is up to you. The block doesn't automatically inherit the page's appearance.
- Check on narrow screens. Fixed widths break there.
No confidential data in the code
The HTML code is delivered to visitors and visible in the browser. Don't put credentials, keys, or internal addresses there.
Which block for what
| Goal | Block |
|---|---|
| Styled text, cards, spacing | Layout blocks |
| Embed external content | Embed (iframe) |
| Custom look without input | HTML |
| Custom look with input fields | HTML with form fields |
| Regular data collection | Input blocks |