How Forms Work in Micropage
Forms are one of the few parts of a static site that usually force you to add backend logic.
Micropage includes a built-in form flow for basic use cases like contact and newsletter forms.
Minimal example
form: Contact
input: Name*
input: Email*
textarea: Message
submit: Send
This is enough to define a working contact form.
Supported field types
| Element | Description |
|---|---|
input: | Single-line text field |
textarea: | Multi-line text field |
select: | Dropdown with options |
checkboxes: | Multiple choice |
radios: | Single choice |
submit: | Submit button |
Required fields
A field is required when its label ends with *:
input: Email*
How submissions are stored
Submissions are tied to the project and the deployed build. Micropage validates the payload against the expected form structure and stores submissions per project.
Spam protection
The built-in flow includes:
- a hidden honeypot field (invisible to users, catches basic bots)
- server-side schema validation (only fields defined in the markup are accepted)
In the Web App
Use the Web App when you want to:
- edit forms directly in page markup
- publish changes
- review submissions in the Form Submissions tab
The submissions tab shows the timestamp, page URL, form name, and field data for each entry.
In the CLI
Use the CLI when you want to inspect submissions locally or in a script:
micropage submissions list
Show one submission in detail:
micropage submissions show <id>
Limits
Free accounts have a submission limit per project. Paid plans have higher limits.
Good use cases for built-in forms
- contact pages
- lead capture
- newsletter signups
- basic inquiry forms
For complex workflows (webhooks, CRM integrations, custom routing), external form services may be more appropriate.
Next steps
If you are building with forms: