Taildove Logo
Taildove
Forms

Form fields

Available field types

Type Input rendered Use for
Text <input type="text"> Names, free-form text
Email <input type="email"> Email addresses (with browser validation)
Phone <input type="tel"> Phone numbers
Number <input type="number"> Ages, quantities, scores
Date <input type="date"> Birthdays, event dates
Dropdown <select> Pick one from a list
Checkbox <input type="checkbox"> Yes/No, consent, agreements

The email field

The Email field is locked and always present. It is always required — the API rejects submissions without a valid email address.

You can rename its label (e.g. "Business email") but you cannot change its type or remove it.

Adding fields

Click Add field at the bottom of the fields list. A new field row appears with:

  • Label — the text shown to the visitor (max 100 characters)
  • Type — one of the types above
  • Maps to — which contact attribute this data is stored under
  • Required toggle — whether the field must be filled in to submit

The Maps to key

The Maps to value is the key used when POSTing to the submission API. Rules:

  • Must be lowercase letters, numbers, and underscores only
  • Must start with a letter (not a number or underscore)
  • Max 63 characters
  • Must be unique within the form — two fields cannot share the same key

Valid examples: first_name, phone, company_name, cf_industry

Invalid examples: First Name (spaces), 1phone (starts with number), my-field (hyphen)

Dropdown options

When you set a field type to Dropdown, an Options textarea appears. Enter one option per line:

Option 1
Option 2
Option 3
  • Options cannot be empty
  • Maximum 100 options per dropdown field

Mapping fields to contacts

The Maps to setting controls where the submitted value is stored on the Contact record:

Maps to Stored in
first_name Contact's first name
last_name Contact's last name
phone Contact's phone (custom property)
tags Appended to contact's tags (comma-separated values accepted)
any other key custom_properties[key] on the contact

Note: Only keys that are defined as fields on your form are accepted. Sending extra keys in the JSON body has no effect — unknown keys are silently ignored.

Required vs optional

Toggle the Required switch on each field to make it mandatory. Required fields:

  • Display a red asterisk * next to the label on the public form
  • Block submission if left blank (validated both client-side and server-side)
  • Return a 422 error with a descriptive message when missing in the API

The Email field is always required regardless of the toggle.

Reordering fields

Drag the handle (⠿) on the left of any non-email field to reorder. The order is saved when you save the form.

Removing fields

Click the × button on the right of any non-email field row to remove it. The email field cannot be removed.