> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/function-blocks/blocks-reference/input-output/data-inputs/string-input.md).

# String Input

A simple block that lets you type and output plain text. Use it whenever you need a manual text value in your scenario (for labels, IDs, messages, API payloads, filenames, etc.).

## 📥 Inputs <a href="#inputs" id="inputs"></a>

This block has no inputs.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`String` This output provides the text currently entered in the control.

## 🕹️ Controls <a href="#controls" id="controls"></a>

`Text` A single-line editable field where you type the string. It shows a placeholder when empty and updates the block output when evaluated.

## 🎯 Features <a href="#features" id="features"></a>

* Simple, focused UI for entering free text or identifiers.
* Resizable horizontally to fit longer text.
* Designed to be combined with data or export blocks for downstream use.

## ⚙️ Running mechanism <a href="#running-mechanism" id="running-mechanism"></a>

When the scenario runs, the block reads the content of the `Text` control and outputs it through the `String` socket. If the field is empty the block outputs an empty string. The output updates each evaluation so downstream blocks receive the latest typed value.

## 📝 Usage <a href="#usage" id="usage"></a>

1. Type the desired text into the `Text` field.
2. Connect the block's `String` output to any block that accepts text.
3. Run the scenario — the typed value is provided downstream on each evaluation.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Use `String` together with `String Merge` to build structured messages (for example combining IDs, timestamps, or labels).
* Send the typed value to `REST API - Post` or `Send Mail` to transmit text to web services or email.
* Convert multiple text fields into structured data via `Data to JSON` before exporting with `CSV Export`.
* Store user input persistently using `Data Write Local` or `Data Write Global` and recall it later with the corresponding read blocks.
* Use `Data Memory` to freeze a previously entered string so it remains available even when upstream changes occur.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* If downstream blocks receive unexpected empty values, verify the `Text` field is not blank.
* For long texts, use horizontal resizing to ensure the full content is visible while editing.
* When sending text to external systems, confirm the receiving block accepts the expected format (plain text vs. JSON).
