# Anatomy of a workflow

A flowtastic workflow is built by combining and connecting a bunch of building blocks called nodes. When launching a workflow, data is passed to the workflow as inputs and is processed by and passed between each node until it reaches the workflow outputs.

Simple LLM chain
Simple LLM chain

# Workflow inputs

Input nodes are special nodes which are used for providing data into a workflow when launching it. There are different input nodes for different types of data (text, numbers, files, etc). Each input node is exposed through our user interfaces and API.

# Nodes

Each node has one or multiple inputs and outputs. It takes it's inputs, processes them, and generates some outputs. An input value can be set by either expanding the input (click the input name) and providing a value into the appearing input field. Or by connecting another nodes output to the input connector.

With default value
With connection

Node input with default value
Node input with default value

Node input with connection
Node input with connection

There are many types of nodes available and they generally fall into the following categories:

  • Text: large-language-models and text processing
  • Image: generative image models and tools
  • Memory: long-term data stores like vector databases
  • Logic: nodes for modelling logic like comparisions and loops

# Workflow outputs

Output nodes are the opposite of input nodes. They capture values generated by a workflow to expose them in our UI or via our API. When viewing a completed workflow run, all values captured by an output node will be show.