Pipelines Docs is in beta — content is actively being added.
Platform GuidePipelines

Form Builder & Field Types

Design contributor forms with 12 configurable field types, input modes, and LLM generation options.

The Form Builder is the configuration panel for subtask and review nodes. It lets you design the form that contributors see when they work on a task.

Opening the Form Builder

  1. In the Pipeline Builder canvas, click on a Subtask or Review node.
  2. The Fields tab opens in the right-side panel.
  3. Add, reorder, and configure fields using the visual interface.

Adding fields

Click + Add Field at the bottom of the field list and select a field type. You can also click Add Group to create a field group that batches multiple fields together for shared LLM processing (shared model, temperature, context sources, and tool settings).

Each field has:

  • Title — the display name shown to contributors. Required for all fields.
  • Helper Text — optional markdown help text shown below the field. Only shown for Input mode fields.
  • Optional — toggle to make the field optional (fields are required by default). Only shown for Input mode fields.
  • Dynamic Entries — toggle to allow contributors to add multiple entries of the field (a repeating list). When enabled, you can set min and max entry counts. The field value is stored as a JSON array. Not available for Predefined, Static, LLM Response, or Criteria fields.
  • Data Source — where the field gets its value (see Data Sources below).
  • Field-specific config — each field type has its own configuration options (e.g., min/max constraints, language selection, option lists). See Field Types below for details.

Reordering fields

Drag fields by their header row to reorder them. The order in the builder matches the order contributors see in the form.

Data sources

Each field has a Data Source that determines where its value comes from. Click the Data Source selector on a field to choose one of four options:

Data SourceDescription
User InputContributors fill in this field when working on the task.
DatasetData mapped from a CSV column at task creation. Displayed as read-only context.
StaticSame fixed value shown in all tasks. Set by the pipeline designer in the builder.
LLMValue generated by an LLM using a prompt. See LLM field-level config for settings and Prompt Configuration for the full prompt taxonomy.

Criteria fields are a special case — their data source is determined by the criterion type (human_rating, llm_judge, or programmatic), not by the Data Source selector above. See Criteria below.

Field types

Short Text

A single-line text input.

OptionDescription
PlaceholderHint text shown when empty
Min CharactersMinimum character count
Max CharactersMaximum character count

Long Text

A multi-line text area with rich text editing enabled by default (bold, italic, lists, links).

OptionDescription
PlaceholderHint text
Min WordsMinimum word count
Max WordsMaximum word count

Code

A code editor with syntax highlighting powered by Monaco Editor.

OptionDescription
LanguageProgramming language for syntax highlighting

Supported languages: Plain text, Python, JavaScript, TypeScript, JSON, SQL, HTML, CSS, YAML, Bash, Lean 4, and LaTeX.

Boolean

A yes/no toggle. No additional configuration options — contributors must always select a value.

Numeric

A number input with optional constraints.

OptionDescriptionDefault
MinMinimum value
MaxMaximum value
StepIncrement step1 (min 0.01)
Display as ratingRender as a star rating instead of a number inputOff

Datetime

A date and time picker.

OptionDescriptionDefault
Include TimeWhether to show time selection alongside the dateOff

Select

A dropdown where the selection (who picks the value) and the options (where the list of choices comes from) are configured independently using a split panel.

Selection (left panel) — controlled by the field's Data Source:

  • User Input — contributor picks from the options.
  • Dataset — the chosen value comes from a CSV column.
  • Static — a fixed value set by the pipeline designer.
  • LLM — an LLM generates the selection.
SettingDescriptionDefault
Allow MultipleAllow selecting more than one optionOff
Allow OtherAllow a free-text "Other" response. Only shown with static options.Off
Require SelectionWhether the contributor must select an option. Only shown for dynamic User Input fields.On

Options (right panel) — where the list of choices comes from:

SourceDescription
Define hereOptions are set at design time in an editable list. You can paste multiple options at once (one per line or comma-separated).
Dynamic (per-task)Options are generated per-task from one of three sources: Contributor input (contributors define options in the form), LLM generated (an LLM produces the options list), or From dataset (options loaded from a CSV column).

The Dynamic toggle is only available when the selection data source is User Input or LLM. When the selection is Dataset or Static, options are always static. When the selection is LLM, the "Contributor input" option source is not available.

Rating

A numeric scale for scoring (e.g., 1–5 stars). Like Select, the selection (who provides the rating) and the labels (where scale point descriptions come from) are configured independently using a split panel. Step is always 1.

Selection (left panel) — controlled by the field's Data Source:

SettingDescriptionDefault
MinScale minimum1
MaxScale maximum (max range size: 20)5
Require SelectionWhen off, the field only displays labels without requiring a rating value. Only shown for dynamic User Input fields.On

Labels (right panel) — optional text descriptions for each scale point (e.g., 1 = "Bad", 5 = "Great"):

  • Show labels toggle — when off, no labels are shown and the label panel is hidden.
  • When on, choose a label source:
SourceDescription
Define hereLabels are set at design time with a text input for each scale point.
Dynamic (per-task)Labels are generated per-task from one of three sources: Contributor input (contributors define what each value means), LLM generated (an LLM produces the labels), or From dataset (labels loaded from a CSV column as a JSON object like {"1": "Bad", "5": "Great"}).

The Dynamic toggle is only available when the selection data source is User Input or LLM. When the selection is LLM, the "Contributor input" label source is not available.

Ranking

A drag-to-reorder list where contributors rank items.

OptionDescriptionDefault
Source ModeInline (items defined in builder) or Field reference (items sourced from other fields). Only shown for Input or LLM Response mode.Inline
ItemsEditable list of items to rank (inline mode)
Field RefsReferences to other fields whose values become the items to rank (field reference mode)
Label ModeHow labels display: field_title, custom, or both (field reference mode)field_title

Pairwise

A side-by-side comparison where the contributor chooses between two options (A vs. B).

OptionDescriptionDefault
Source ModeInline (labels defined in builder) or Field reference (content from other fields). Only shown for Input or LLM Response mode.Inline
Label A / Label BDisplay labels for each option (inline mode)A / B
Field Ref A / Field Ref BReferences to fields whose values become options A and B (field reference mode)
Label ModeHow labels display: field_title, custom, or both (field reference mode)field_title

Criteria

An evaluation criteria field linked to the criteria library or defined inline. The field auto-resolves to the appropriate input type (e.g., a numeric rating, a boolean pass/fail) based on the criterion definition.

OptionDescription
CriterionSelect from the library or create inline.
Criterion TypeAuto-set based on the criterion: human_rating, llm_judge, or programmatic.
Criterion VersionOptionally pin to a specific version for reproducibility.

File Upload

An upload field for files.

OptionDescriptionDefault
Allowed TypesMIME type filter: Images, Audio, Video, PDF, CSVAll types
Max File SizeMaximum file size in MB (max 2048)1024 MB
Max FilesMaximum number of files (1–1000)100
Display ModeHow to display files: Series (stacked) or CarouselSeries
Hide FilenameHide the filename from contributors and LLMsOff (filenames shown)

Template variables (placeholders)

You can reference values from upstream nodes in LLM prompts using template variables. Variables use the placeholder syntax:

{{placeholder_name}}

Where placeholder_name is a human-readable identifier (snake_case) that maps to a specific field on a specific node. The Pipeline Builder provides an autocomplete menu — type {{ in any supported text area to browse available variables from upstream nodes and the current node.

How placeholder mapping works

When you insert a variable, the system:

  1. Creates a placeholder name derived from the field title (e.g., user_response).
  2. Maps that placeholder to a specific node and field reference internally.
  3. At runtime, resolves the placeholder to the actual field value.

If you use a Prompt Library prompt, the prompt's predefined placeholders appear in a Map Placeholders section where you wire each placeholder to a pipeline field.

Field groups

Field groups batch multiple fields together for shared LLM processing. When fields are in a group, they share:

  • Model — a single model for all fields in the group.
  • Temperature — a shared temperature setting.
  • Context sources — the same upstream field context.
  • Tool settings — shared tool endpoints and max rounds.

To create a group, click Add Group in the Fields tab, then drag fields into the group. Each group can have an optional label.

Field validation

The builder validates field configurations in real-time and surfaces errors in the header bar. Common validations include:

  • Fields require a display title.
  • Subtask nodes with human-input fields require an assignee role.
  • Numeric constraints must be logically consistent (min < max).
  • Select fields in static mode must have at least one option.
  • LLM Response fields must have a model configured (at the node or field level).

This is not an exhaustive list — the builder checks many additional constraints depending on field type and configuration. Click the error indicator in the header to see all current issues.