# String Merge

This function block merges multiple text inputs into a single combined string. Use it to build filenames, messages, labels, or any composite text from separate inputs.

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

`String` — One of the text inputs to be merged. The block accepts multiple `String` inputs; the default layout provides two.

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

`String` — The merged result produced by concatenating all provided inputs in left-to-right order.

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

`Input size` — Choose how many text inputs the block exposes. Increasing this will add more `String` inputs; decreasing will remove inputs.

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

* On each run the block reads all available `String` inputs (in the order they appear) and concatenates them into a single text value.
* The concatenated result is sent to the `String` output socket for downstream use.
* If an input is empty or not provided, it contributes no characters to the final result (effectively treated as an empty string).

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

* Dynamic input count via the `Input size` control — tailor the number of text inputs to your use case.
* Simple, deterministic concatenation — predictable ordering of parts makes it easy to build structured names and messages.
* Lightweight and ideal for UI-level string assembly (filenames, labels, log lines).

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

* Arrange text parts left-to-right in the order you want them merged.
* Use descriptive text inputs (for example: prefix, separator, counter, timestamp) to build clear filenames or identifiers.

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

* Combine with `String Input` to allow manual entry of parts, then merge to form a final label or filename.
* Use `Number Input` and `String Merge` together when you need incremental counters in filenames.
* Add a timestamp by merging `Date-Time` (or values from `Date-Time List`) to create unique, traceable file names.
* Create structured export records by merging fields and feeding the result into `Data to JSON` or `CSV Export` for logging.
* Build dynamic image filenames (prefix + timestamp + index) with `String Merge` and use the result with `Image Logger` or `Image Write` to save images with meaningful names.
* Combine with `Choose Folder` or `File/Folder Operations` to assemble full paths for file operations.

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

* If a merged output seems to be missing parts, check the number of active `String` inputs via the `Input size` control and ensure each input is connected or contains text.
* If separators are missing, add explicit separator inputs (for example, a dash or underscore) between parts before merging.


---

# 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/data-logic/data-operations/string-merge.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.
