Field types reference
The 10 core field types supported in Motivation Form, with frontmatter examples.
Every field in a form is defined as an item in the fields array of your .md frontmatter. All fields share a common set of properties.
Building a survey? The Survey syntax page covers 7 additional types —
rating,scale,nps,yes_no,ranking,matrix, andstatement— plus media embedding and conditional logic (show_if).
Common properties
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Snake_case identifier. Used as the key in response payloads. Must be unique within the form. |
type | string | Yes | One of the 10 types below. |
label | string | Yes | Displayed above the field. |
required | boolean | No | If true, form cannot be submitted without a value. Default: false. |
placeholder | string | No | Hint text inside the field (text, email, textarea, number only). |
help_text | string | No | Secondary text displayed below the field. |
step | number | No | Groups fields into multi-step form pages. Fields with the same step appear together. |
text
Single-line text input.
- id: company_name
type: text
label: Company name
required: true
placeholder: Acme Corp
help_text: Legal entity name as it appears on your registration.Single-line input with email format validation.
- id: contact_email
type: email
label: Work email
required: true
placeholder: you@company.comtextarea
Multi-line text input.
- id: description
type: textarea
label: Campaign description
required: true
placeholder: Describe your campaign goals and target audience.number
Numeric input. Accepts integers and decimals.
- id: budget_usd
type: number
label: Budget (USD)
placeholder: "50000"
help_text: Approximate total budget for this campaign.radio
Single-choice selection from a predefined list. Renders as radio buttons.
- id: campaign_type
type: radio
label: Campaign type
required: true
options:
- CEX listing
- OTC partnership
- Influencer campaign
- Media coveragecheckbox
Multi-choice selection. Renders as checkboxes. Response value is an array of selected options.
- id: regions
type: checkbox
label: Target regions
options:
- North America
- Europe
- Asia Pacific
- Latin America
- Middle East & Africaselect
Single-choice selection rendered as a dropdown.
- id: timeline
type: select
label: Desired launch timeline
required: true
options:
- Within 2 weeks
- 1 month
- 1–3 months
- Flexibledate
Date picker. Response value is an ISO 8601 date string (YYYY-MM-DD).
- id: launch_date
type: date
label: Target launch date
help_text: The date you want the campaign to go live.image
File upload restricted to image formats. The file is uploaded directly to Supabase Storage; the response payload contains the storage URL.
- id: logo
type: image
label: Brand logo
accept:
- image/png
- image/jpeg
- image/svg+xml
max_mb: 5
help_text: Upload a PNG or SVG for best quality.file
General file upload. Use accept to restrict MIME types. Like image, the payload contains the storage URL.
- id: brief_pdf
type: file
label: Campaign brief (PDF)
accept:
- application/pdf
max_mb: 20
help_text: Upload your full campaign brief as a PDF.Multi-step forms
Group fields into pages with the step property. All fields sharing the same step value appear on the same page. Steps must be positive integers, and fields without a step are placed on step 1.
fields:
- id: name
type: text
label: Your name
required: true
step: 1
- id: email
type: email
label: Email
required: true
step: 1
- id: campaign_type
type: radio
label: Campaign type
options: [CEX, OTC, Media]
step: 2
- id: brief
type: textarea
label: Campaign brief
step: 2
- id: logo
type: image
label: Brand logo
step: 3Agent feedback workflow
Use a respondent-friendly survey or quiz to collect structured input, then turn the evidence into PRD, Linear, and code updates.
Survey syntax reference
Extended Motivation Form field types, media embedding, conditional logic, and page-based pagination — all via .md frontmatter.