COMPARE, PROMPT_TEMPLATE, LLM_ASSERTION, CODE_EXECUTION, and the helper/eval types below) match the evaluation pipeline and workflow node enums documented in Node & Column Types.
Tables-only: COMPOSITION is not part of the legacy evaluation or workflow node enum. Use it only in Tables to mirror a column from another sheet or table.
Input, reference, and computed columns
Table columns fall into three groups:| Group | Type value | Behavior |
|---|---|---|
| Input | TEXT | Stores editable values you set manually, paste, or import. Text cells do not run. |
| Reference | COMPOSITION | Mirrors a value from another sheet or table. Does not execute per row. |
| Computed | All other type values below | Runs per row, tracks cell status (QUEUED, RUNNING, COMPLETED, FAILED, STALE), and can become stale when dependencies change. |
How sources work
Computed columns read from source columns in the sheet. For example, aPrompt output column can map a prompt variable to Customer message, and a Quality score column can read from Prompt output. If a source changes, dependent computed cells can become stale.

Column type reference
Type values use UPPERCASE enum strings. The UI label is what you see in the column picker.Input column
| UI label | Type value | Use when |
|---|---|---|
| Text | TEXT | You need editable input data, expected answers, labels, metadata, or notes. |
Reference column
| UI label | Type value | Use when |
|---|---|---|
| Composition | COMPOSITION | You want to reference data from another sheet or table without re-running upstream logic. |
Computed columns
| UI label | Type value | Category | Compute cost | Use when |
|---|---|---|---|---|
| Prompt Template | PROMPT_TEMPLATE | Data source / execution | LLM — one or more model requests per row | You want to run a Prompt Registry template or inline prompt for each row. |
| Workflow | WORKFLOW | Data source / execution | Variable — depends on the workflow’s nodes | You want a row to execute a PromptLayer workflow. |
| Code Execution | CODE_EXECUTION | Data source / execution | Compute — server-side code per row | You need Python or JavaScript logic per row. |
| Endpoint | ENDPOINT | Data source / execution | External — outbound HTTP per row | You want to send row data to an external URL endpoint. |
| MCP | MCP | Data source / execution | External — MCP server calls per row | You want to call Model Context Protocol server functions. |
| Conversation Simulator | CONVERSATION_SIMULATOR | Data source / execution | LLM — multiple model turns per row | You want to simulate a multi-turn user and assistant conversation. |
| Human | HUMAN | Data source / execution | None — waits for manual input | You need a human to fill in or approve data. |
| While Loop | WHILE_LOOP | Data source / execution | Variable — multiplies inner step cost | You need repeated execution while a condition remains true. |
| For Loop | FOR_LOOP | Data source / execution | Variable — multiplies inner step cost | You need to iterate over a collection or array. |
| Compare | COMPARE | Simple eval | None — deterministic check | You want to compare values and generate a diff or comparison result. |
| Contains | CONTAINS | Simple eval | None — deterministic check | You want to check whether text contains a substring. |
| Regex | REGEX | Simple eval | None — deterministic check | You want to validate text against a regular expression. |
| Absolute Numeric Distance | ABSOLUTE_NUMERIC_DISTANCE | Simple eval | None — deterministic check | You want the absolute distance between numeric values. |
| Assert Valid | ASSERT_VALID | Simple eval | None — deterministic check | You want to validate data types or formats. |
| Math Operator | MATH_OPERATOR | Simple eval | None — deterministic check | You want mathematical comparisons such as greater than or less than. |
| LLM Assertion | LLM_ASSERTION | LLM eval | LLM — one or more model requests per row | You want an LLM to judge whether an assertion is true. |
| AI Data Extraction | AI_DATA_EXTRACTION | LLM eval | LLM — one or more model requests per row | You want an LLM to extract specific information from text. |
| Cosine Similarity | COSINE_SIMILARITY | LLM eval | LLM — embedding or similarity requests per row | You want semantic similarity between vectors or text embeddings. |
| JSON Extraction | JSON_PATH | Helper | None — deterministic transform | You want to extract values from JSON with JSONPath. |
| XML Path | XML_PATH | Helper | None — deterministic transform | You want to extract values from XML with XPath. |
| Regex Extraction | REGEX_EXTRACTION | Helper | None — deterministic transform | You want to extract capture groups from text. |
| Parse Value | PARSE_VALUE | Helper | None — deterministic transform | You want to parse a specific value from structured or unstructured data. |
| Count | COUNT | Helper | None — deterministic transform | You want counts of elements, characters, or occurrences. |
| Min Max | MIN_MAX | Helper | None — deterministic transform | You want the minimum or maximum value from numeric inputs. |
| Coalesce | COALESCE | Helper | None — deterministic transform | You want the first non-null value from several sources. |
| Combine Columns | COMBINE_COLUMNS | Helper | None — deterministic transform | You want to merge values from multiple sources into one output. |
| Apply Diff | APPLY_DIFF | Helper | None — deterministic transform | You want to apply a unified diff patch to text. |
Compute cost notes
Computed columns run once per row (and again on reruns). Cost depends on the column type:- None — Helper columns, simple eval columns,
HUMAN, andCOMPOSITIONdo not call models or external services on their own. - LLM —
PROMPT_TEMPLATE,LLM_ASSERTION,AI_DATA_EXTRACTION,COSINE_SIMILARITY, andCONVERSATION_SIMULATORmake model requests. Prompt Template columns expose per-cell cost, latency, and token metrics. Use History and Analytics to inspect request-level details. - External —
ENDPOINTandMCPcall services outside PromptLayer. Cost depends on your endpoint or MCP server. - Compute —
CODE_EXECUTIONruns server-side code per row. - Variable —
WORKFLOW,FOR_LOOP, andWHILE_LOOPcost depends on the nested steps they execute.
Composition
Composition references a source table, sheet, and column, then pulls that value into the current sheet. Use it when multiple sheets should share a reusable intermediate result instead of copying logic.
Tables API type values
The Tables REST API uses the same uppercase enum strings as the UI (TEXT, COMPARE, PROMPT_TEMPLATE, COMPOSITION, and so on). Set the specific column behavior in config.
For backwards compatibility, create-column requests also accept lowercase aliases such as text, prompt_template, llm, code, score, comparison, and composition. PromptLayer normalizes these to the uppercase enum before storing the column.
Shared computed types (COMPARE, PROMPT_TEMPLATE, LLM_ASSERTION, CODE_EXECUTION, helper columns, and the rest except TEXT and COMPOSITION) use the same configuration schemas as Workflows and legacy Evaluations. See Node & Column Types for those schemas.
COMPOSITION is Tables-only. Do not use it in legacy evaluation or workflow column definitions.
API references
Use the generated API reference for exact request schemas when creating or updating columns programmatically.Create column
Create text or computed columns.
Update column
Update title, config, and dependencies.

