Deoochform
Deoochform
HelpPricing
Sign inStart for free
Menu

Product

Form builderOne question at a timePayment formsBooking formsQuizzesSurveysInvitationsWebsite forms

Templates

HREducationEventsHealth & FitnessMarketingHealthcareBrowse all templates
IntegrationsPricing

Resources

Help centerBlogComparisonsContact
Start for freeSign in
Help center
Esc

Start here

  • Create an accountStart here
  • Start from a template or AIStart here
  • Add and edit questionsStart here
  • Publish a formStart here
  • Share the linkStart here

Guides

  • Quickstart
  • MCP server
  • Slack app
  • API reference
  • Zapier
  • Payments with Stripe and PayPal
  • Field types
    • Choice fields
    • Ratings and scales
    • Required fields and validation
    • Sections and pages
    • Reorder questions
    • Quote an earlier answer
    • Calculate totals and scores
    • Save and continue later
  • Submissions and exports
  • Contact support
  • Form templates
  • Integrations
  • MCP connectors
Help center›Field types

Field types

Every field type: what each one collects, how it validates, and when to use it.


These are the twenty field types a respondent can be asked for, plus five that ask nothing: heading is a section title, image shows a picture, page-break splits the form into steps, hidden records a value from the link rather than from the respondent, and calculation works out a number from the other answers. Payment fields are their own thing and are set up in the builder rather than listed here. Each field carries a label, an optional placeholder and help text, and a required flag.

TypeShown asWhen to use it
textShort textOne line of free text: names, job titles, reference numbers.
textareaLong textA multi-line box for anything open ended: feedback, descriptions, questions.
emailEmailValidated as an email address before the form will submit. Use this rather than a text field if you plan to reply.
phonePhoneDigits, formatted as the respondent types.
urlWebsiteA link, validated as one. A bare example.com is accepted; anything that isn't http or https is rejected.
nameFull nameA first name and last name box instead of one free text line, so your exports get two clean columns you can sort and mail merge.
addressAddressA grouped street / city / region / postcode block instead of one free-text line.
numberNumberNumeric input only: quantities, ages, budgets.
selectDropdownOne answer from a list, collapsed. Best above roughly six options.
radioSingle choiceOne answer from a list, all options visible. Best for two to six options.
checkboxMultiple choiceAny number of answers from a list.
rankingRankingThe respondent puts every option in order. The answer is the order itself, not a pick.
ratingStar ratingOne to five stars: satisfaction, quality, how it went. Set a different ceiling if five is wrong.
scaleOpinion scaleA numbered scale with a caption at each end. The 0–10 default is the standard NPS question.
dateDateA native date picker: no format ambiguity between regions.
timeTimeA native time picker, for appointments and slots. Pair it with a date field.
fileFile linkA URL pointing at a file the respondent already hosts.
uploadFile uploadThe respondent uploads the file itself; it is stored with the response.
signatureSignatureA drawn signature, for consent and acknowledgement forms.
appointmentAppointmentThe respondent picks a real open slot from your recurring availability, not just a date or time, an actual booking that can't be double booked.
headingSection headingDisplay only, collects no answer. Use it to break a long form into named sections. Add help text to it and it becomes a statement: a paragraph the respondent reads before answering.
imageImageDisplay only, collects no answer. Shows a picture in the form: a product photo, a floor plan, a diagram the question refers to. Its label is the alt text.
page-breakPage breakDisplay only, collects no answer. Splits the form into steps with a progress bar, one page per break.
hiddenHidden fieldRenders nothing. Captures a query parameter from the link the respondent arrived on: ?utm_source=newsletter lands in the export.
calculationCalculationShows a number worked out from other answers as the respondent types: an order total, a price with tax, a quiz score. Nothing to fill in.

Quoting an earlier answer

A label or help text can quote something the respondent already told the form. Write {{<field id>}}and it is replaced, as they type, with that field’s answer, so a form that asks for a name can follow it with “Thanks Ada, what is your email?” In the builder there is an Insert an earlier answer menu under each of those inputs, so you never type an id by hand, and a preview line shows how the sentence will read.

The reference is the other field’s id, never its label, that is what lets you rename a question afterwards without breaking every sentence quoting it. Only fields earlier in the form can be quoted, since later ones have no answer yet.

Add a fallback after a pipe for the case where they skipped it: {{q1|there}}reads “Hi there” rather than “Hi ”. Without one, an unanswered reference simply renders as nothing. A hidden field can be quoted too, so ?name=Ada on the end of your link greets people before they have typed anything.

Calculations: totals, prices and scores

A calculation field shows a number worked out from other answers, and it updates as the respondent types. Use it for an order total, a price with tax, a quote, or a score. Add one from the Calculation card in the builder, then write its formula in the panel on the right.

A formula uses +, -, * and /, brackets, and three helpers: round, min and max. Pick the questions it reads from the Insert an earlier answer menu, the same one answer quoting uses, and a preview line shows it with question names, for example {Seats} * {Ticket type}. Something like round(({{subtotal}} + {{addons}}) * 1.1, 2) adds 10% tax and rounds to cents.

Any answer counts as the first number written in it. That lets you price choices without a separate price list: an option called VIP ($90) counts as 90, and a multiple choice answer adds up everything picked. An empty answer counts as 0, so the total works while the form is half filled. A calculation can read another calculation above it, which is how you build a subtotal and then a total.

The total is worked out again on our server when the form is submitted, so the number in your responses and exports is always the real one, never something a respondent typed or edited in their browser.

Choice fields

select, radio, checkbox, and ranking all take an options array of strings. radio and select both accept exactly one answer, the difference is whether the options are visible up front. Show them when there are few, collapse them when there are many.

ranking is the odd one: the respondent does not pick an option, they put all of them in order, and the stored answer is that order. Mark it required and every option has to be placed.

Ratings and scales

rating and scale are the same question, pick one number from a short range, drawn two ways, and they share the same settings. scaleMax is how many stars a rating offers (five by default) or where a scale tops out. A scale also takes scaleMin (0 or 1) and a caption for each end, scaleMinLabel and scaleMaxLabel.

The default scale is the standard Net Promoter question: 0 to 10, “Not likely” to “Very likely”. Set the captions on any scale you change, a bare row of numbers does not tell the respondent which end is the good one. Either type accepts at most eleven points; past that they stop being tappable on a phone, which is where most forms get answered.

Required fields and validation

Set required: true and the form will not submit without an answer. Type level validation runs on top of that: email must look like an address, number rejects text, date and time use native pickers, url must be an http or https link, and a rating or scale answer has to be a number that was actually on the scale. Validation runs in the browser and again on the server, so a crafted request cannot slip past it.

Requiring everything is the most common mistake. Every required field is another reason to abandon the form. Mark only what you genuinely cannot act without.

Sections

A heading field renders as a section title in the flow of the form. Use them once a form covers more than one topic, Contact details, Your project, Consent. Do not open a form with a heading that repeats its title; the title already renders above the fields.

Save and continue later

Long forms lose people who run out of time. Any form with more than one page, or one that asks a question at a time, shows a Save and continue later link under the Next button. There is nothing to turn on.

The respondent gets a private link that reopens the form on the same step with their answers filled in, and can have it emailed to themselves. The link works for 30 days from their last save. Files and signatures are not saved, so they add those again when they come back. Once the form is submitted, the saved copy is deleted.

Anyone holding the link can see those answers, so respondents are told to keep it to themselves. You never see a saved draft in your responses; only a submitted form shows up there.

Ordering

Every field has an order number, which is what the renderer sorts on. In the studio you drag; over MCP you set it explicitly, and since update_form replaces the whole array, send fields back with their orders already correct.

Next

  • Quickstart
  • Where the answers go
  • Templates showing these fields in context
Deoochform

Describe a form in plain English and it builds itself. Collect responses in one place and export to Excel.

Product

TemplatesIntegrationsMCP connectorsPricingFree form builderAI form builderAI quiz makerAI survey makerBooking form with paymentForms for your websiteConversational forms

Resources

Help centerBlogAboutContact

Compare

All comparisonsJotformGoogle FormsTypeformGravity FormsFormstackWufooZoho Forms

Account

Log inSign up
© 2026 Deoochform
PrivacyTerms