---
title: "Form field types"
description: "The six field types a form or poll can hold, what each collects, whether it can be required, and how it renders in Slack, in email and in the CSV export."
sidebar:
  order: 3
area: flows
feature: forms
appPath: /flows/home
lastVerified: 2026-10-22
version: "2026-10-16"
audience: admin
related:
  - flows/forms/build-a-form
  - flows/polls
  - flows/forms/reference-webhook-api
intercom:
  - id: "16857779"
    title: Create and Use Forms (Pyn 2)
    url: https://intercom.help/pyn/en/articles/16857779-create-and-use-forms-pyn-2
    note: draws on
---

**Add Field** in the form or poll editor opens **Select Field**, with two categories. Every field has a **Label** (the question), a **Description** (a hint shown with it) and, where allowed, **Required**. A form or poll holds up to ten fields.

## Common

| Field | Collects | Required? | In Slack | On the respond page (email) |
| --- | --- | --- | --- | --- |
| **Text** | A free-text answer. | Yes | A text input | A text input |
| **Checkbox** | True or false. | No; an unticked box is a valid answer | A checkbox; in a poll, **Yes** and **No** buttons | A checkbox; in a poll, **Yes** and **No** buttons |
| **Likert Scale** | A number from 1 to 5: **Very Dissatisfied**, **Dissatisfied**, **Neutral**, **Satisfied**, **Very Satisfied**. | Yes | Five buttons | Radio buttons; in a poll, five buttons |
| **Content** | Nothing. Formatted text, with images and links, shown between fields. | No | The text | The text |

## Employee Fields

| Field | Collects | Required? | In Slack | On the respond page (email) | Written to |
| --- | --- | --- | --- | --- | --- |
| **Buddy** | One employee from the directory. | Yes | A Slack user picker | A picker | The **buddy** relationship on the principal's record |
| **Mentor** | One employee from the directory. | Yes | A Slack user picker | A picker | The **mentor** relationship on the principal's record |

The principal is the employee the enrollment is about. In a form answered outside an enrollment, such as a webhook submission or a campaign step, it is the person the form was sent to or the employee the payload names.

## Polls

A poll uses the same picker but no field can be required, and the respond page submits a poll field the moment it is clicked, one answer per field. Text fields are not shown on a poll's respond page; keep a poll to Likert scales and checkboxes. See [Polls](https://support.pynhq.com/flows/polls/).

## In the export

**Export to CSV** writes `employeeId`, `submissionId`, then one column per field, headed by the field's description where one is set and by its key otherwise. Content fields are left out. A Likert answer exports as its number; a checkbox as `true` or `false`; a Buddy or Mentor as the chosen employee's id.

## Keys and aliases

A field added in the editor carries a generated key. For a webhook, a payload names a field by its **alias**, the label in camel case (`Job Title` becomes `jobTitle`), or by the key. Two fields whose labels produce the same alias cannot be told apart by a webhook. See [Webhook API](https://support.pynhq.com/flows/forms/reference-webhook-api/).

## Related

- [Build a form](https://support.pynhq.com/flows/forms/build-a-form/) to add and configure fields.
- [Polls](https://support.pynhq.com/flows/polls/) for the one-click variant.
- [Webhook API](https://support.pynhq.com/flows/forms/reference-webhook-api/) for naming fields in a payload.

## Related Intercom articles

- [Create and Use Forms (Pyn 2)](https://intercom.help/pyn/en/articles/16857779-create-and-use-forms-pyn-2) — draws on
