# Input Node

An **Input Node** allows you and your end-users to input text into a workflow. The text query is passed to any node that accepts a text string as input.

<figure><img src="https://3697023207-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFSlso1Kjob5CLDrh0dVn%2Fuploads%2FjpSnoNxx0iDyneFnsgEI%2FArea.gif?alt=media&#x26;token=59340295-c22d-442f-b61b-8cd51f257eb2" alt=""><figcaption></figcaption></figure>

The most popular nodes accepting text inputs are:

1. The LLM nodes (adding the input as part of their prompt).
2. The Knowledge Base nodes (they use the input as a prompt to retrieve information from their contents).

Key characteristics:

* Inputs can be text fields of any length and are passed to their connected node in the flow.
* While inputs can be of any length, you should be mindful that LLM prompts have a limit on how long of an input they can process. If you expect long inputs, make sure you select a model with a sufficiently large context window.
* To expose an Input node to your users, you will need to set it up in the [**Interface**](https://docs.stack-ai.com/stack-ai/export-options/deploy-with-the-export-view) tab.

### Inputs in the Interface tab

The **Interface** tab is where you **export and deploy** your project, and define how end-users will interact with it. When your project is published to the Interface tab, end-users can use the agent interface to provide input (for example, by typing a message) which is then passed into the workflow.

#### Chat Assistant Interface

If you select the **Chat Assistant** interface, the message typed by the end-user becomes the workflow input and is passed into the Input Node in your workflow.

<figure><img src="https://3697023207-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFSlso1Kjob5CLDrh0dVn%2Fuploads%2F3CvqXfrmRAv4deSHoW2x%2Fimage.png?alt=media&#x26;token=dd02fbde-2819-4f30-97c3-ebd9a1239ba6" alt=""><figcaption></figcaption></figure>

#### Form Interface

If you select a **Form** interface, inputs appear as form fields the user fills out before running the workflow.

* Each Input Node becomes a field in the form.
* You can include multiple Input Nodes, and each one will appear as a separate form field.
* You can choose which inputs are required vs optional.
* Users submit the form, then the workflow runs with those values.

<figure><img src="https://3697023207-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFSlso1Kjob5CLDrh0dVn%2Fuploads%2FaGE3jcr2gEpYa0t5UVru%2Fimage.png?alt=media&#x26;token=9b7b1438-7173-4bd5-83cc-b15b3df19a7e" alt=""><figcaption></figcaption></figure>
