> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withcortex.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Input Step

> Learn how to configure and use Input steps in your workflows.

Input steps serve as starting points in a workflow, collecting initial data from users. When you run a workflow or an individual input step, all steps connected to the right of that input step will execute in sequence, forming a chain. A workflow can contain multiple input steps, with each creating its own execution chain. The data collected by an input step becomes available to all subsequent connected steps in its chain.

## Field Types

Input steps support the following field types:

* **Text** - Single-line or multi-line text input
* **Number** - Numeric input that only accepts numbers
* **Checkbox** - Boolean input (checked or unchecked)
* **Date** - Calendar date picker
* **Time** - Time selection picker
* **Options** - Dropdown or radio button selection from predefined options
* **File** - File upload field
* **Date Time** - Combined date and time picker
* **Group** - Container for organizing related fields, can be nested

## Adding a Field

To add a field to an input step:

* Click the "Editor" button in the input step toolbar if you've already added a field
* For your first field, click the plus button in the center of the input step
* Use the WYSIWYG editor to select a field type from the bottom toolbar
* Provide a label and key for referencing the field in subsequent steps
* Click "Done" to save your changes
* Add as many fields as needed to complete your form

<video src="https://mintcdn.com/cortex-891fd898/4MLfFrvXy66YjKyF/assets/workflows/steps/input/add-field.mp4?fit=max&auto=format&n=4MLfFrvXy66YjKyF&q=85&s=f0e2bba4f45e55f17cc92d0ccbdbc0ee" controls muted style={{ borderRadius: '10px' }} data-path="assets/workflows/steps/input/add-field.mp4" />

## Using Input Values

You can reference input values in connected steps using the following syntax:

```
inputStep.output.fieldKey
```

Where `inputStep` is the input step's key and `fieldKey` is the field's key. For fields with multiple values enabled, the value will be an array.

For group fields, access nested fields using dot notation:

```
inputStep.output.groupFieldKey.fieldKeyInsideGroup
```

<img src="https://mintcdn.com/cortex-891fd898/4MLfFrvXy66YjKyF/assets/workflows/steps/input/group-field.png?fit=max&auto=format&n=4MLfFrvXy66YjKyF&q=85&s=1621b641a9fa3efb8eeaabb959d5039e" alt="Group Field" style={{ borderRadius: '10px' }} width="1784" height="1238" data-path="assets/workflows/steps/input/group-field.png" />

## Field Settings

Common settings available for all fields include:

* **Optional** - Makes the field non-required
* **Description** - Helpful text that appears when hovering over the info icon
* **Multiple Values/Selection** - Enables collection of multiple values (where applicable)

<img src="https://mintcdn.com/cortex-891fd898/4MLfFrvXy66YjKyF/assets/workflows/steps/input/field-overview.png?fit=max&auto=format&n=4MLfFrvXy66YjKyF&q=85&s=0ec8c7deedb5085b8f3280b68c7006cb" alt="Field Overview" style={{ borderRadius: '10px' }} width="1312" height="766" data-path="assets/workflows/steps/input/field-overview.png" />

Each field type has its own specific settings that you can configure as needed.

## File Field

<img src="https://mintcdn.com/cortex-891fd898/4MLfFrvXy66YjKyF/assets/workflows/steps/input/file-field.png?fit=max&auto=format&n=4MLfFrvXy66YjKyF&q=85&s=3b6f7c81ccf9a901343d96d763710c19" alt="File Field" style={{ borderRadius: '10px' }} width="1636" height="1176" data-path="assets/workflows/steps/input/file-field.png" />

The File field allows users to upload files to your workflow for document processing, image analysis, and other file-based operations. Configuration options include:

* **Multiple Files** - Enables multiple file uploads, returning an array of files
* **Extract images** - Automatically extracts images from documents, accessible with the `:images` suffix
* **Extract contents** - Extracts text from documents, accessible with the `:content` suffix
* **Allowed files** - Controls permitted file types:
  * All files
  * Image files (.jpg, .png, .gif, .webp, .svg)
  * Text files (.txt, .csv, .html, .xml)
  * Application files (.pdf, .doc, .docx, .xls, etc.)

### Accessing Files

Access uploaded files in subsequent steps using:

```
inputStep.output.fileFieldKey
```

File outputs include metadata like filename, URL, content type, and size.

### Using Files in Model Steps

Use special suffixes in model prompts with the `{{}}` syntax:

* `:images` - Passes extracted images to the LLM (requires "Extract Images" enabled)
* `:content` - Passes extracted text to the LLM (requires "Extract Contents" enabled)
* `:file` - Passes raw files directly (primarily for Google models handling video/audio)

Example usage in model prompts:

```
Please analyze the following document:
{{inputStep.output.fileFieldKey:images}}

Please summarize this document:
{{inputStep.output.fileFieldKey:content}}

Please transcribe this video:
{{inputStep.output.fileFieldKey:file}}
```

These suffixes simplify document processing without manual extraction. The `:file` suffix works primarily with Google models that support video or audio input.

***

That's all about the input step. The rest is up to you to explore other fields and use them in your workflows. You now have a good understanding of inputs and how to use them, so you can easily add, configure, and use input fields in your workflows.
