Motivation Form Docs

Field types reference

All 10 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.

Common properties

PropertyTypeRequiredDescription
idstringYesSnake_case identifier. Used as the key in submission payloads. Must be unique within the form.
typestringYesOne of the 10 types below.
labelstringYesDisplayed above the field.
requiredbooleanNoIf true, form cannot be submitted without a value. Default: false.
placeholderstringNoHint text inside the field (text, email, textarea, number only).
help_textstringNoSecondary text displayed below the field.
stepnumberNoGroups 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.

email

Single-line input with email format validation.

- id: contact_email
  type: email
  label: Work email
  required: true
  placeholder: you@company.com

textarea

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 coverage

checkbox

Multi-choice selection. Renders as checkboxes. Submission value is an array of selected options.

- id: regions
  type: checkbox
  label: Target regions
  options:
    - North America
    - Europe
    - Asia Pacific
    - Latin America
    - Middle East & Africa

select

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
    - Flexible

date

Date picker. Submission 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 submission 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: 3

On this page