# 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).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/function-blocks/input-output/data-inputs/string-input.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
