# Connecting Nodes

## Node

A **Node** functions as an abstract component within a workflow architecture. Nodes can serve various purposes, such as data preprocessing, managing LLM Agents, tools, and supporting retrieval-augmented generation.  Nodes can be interconnected to form directed acyclic graph workflows, allowing development of applications of any complexity.

## Input and Output Nodes

A Workflow begins with **Input** Node and finishes with **Output** Node. Both nodes will be automatically added to each new workflow.

<figure><img src="/files/Z7ZQN3r7ThUnVhL761em" alt=""><figcaption><p>Input and output nodes</p></figcaption></figure>

Each node has its own set of inputs and outputs, which vary based on its functionality. An Input Node has two default parameters: **input** for text input, and **files** for file input.&#x20;

* **Input**: For text input
* **Files**: For file input

## Connecting Nodes within a Single Workflow

Clicking on either the input or the output nodes will bring up their configuration options. Any parameter can be added to both nodes.

<figure><img src="/files/8fR8RxTnzBlqzvX8wBiG" alt=""><figcaption><p>Adding parameters to the Input Node</p></figcaption></figure>

Nodes can be connected in a single workflow to create a sequence of operations. This is done by simply connecting the output of one node to the input parameter of another node.

<figure><img src="/files/XHlfzCl0PO2MdUWDPCWb" alt=""><figcaption><p>Example of a simple Workflow with parameter connections</p></figcaption></figure>

By doing this, the necessary code to correctly pass the input data to the **input transformer** is generated automatically. For more information about the input and output transformers, please refer to the following [link](/low-code-builder/input-and-output-transformers.md).

Alternatively, we can connect nodes directly without linking their parameters. This approach allows all parameters to be passed at once, offering flexibility to define custom logic within the input transformer, which is empty by default. This method is also used by the Choice Node, enabling conditional branching based on [specific criteria](/low-code-builder/conditional-nodes-and-multiple-outputs.md). It also allows for the creation of a workflow structure, outlining the sequence of nodes without requiring data to be passed between them.

<figure><img src="/files/kSzQyejgjp68yAUYjxMv" alt=""><figcaption><p>Example of a simple Workflow with directly connected nodes</p></figcaption></figure>

Without specifying the input transformer, this implementation will not function as expected. However, if we use the same instructions in the input transformer as in the previous example, both implementations will be equivalent.


---

# 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.getdynamiq.ai/low-code-builder/connecting-nodes.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.
