A workflow is a directed graph of typed nodes. Each node has one job and one configuration screen, and at execution time each node is dispatched to a typed handler that knows how to run it.
| Node | What it does |
|---|---|
| Start | Decides when the workflow runs |
| Data Source | Pulls data from one input |
| Transformer | Reshapes data from a single upstream source |
| Join | Merges data from two or more upstream sources |
| Output | Writes the final result somewhere |
| Branch | Routes execution down one of two paths based on a condition |
Triggers workflow execution manually, on schedule, or via file watch
Connects to databases, files, cloud storage, APIs, or spreadsheets to pull data
Filters, aggregates, or modifies data using AI-generated SQL or custom code
Combines data from multiple sources, including cross-database and vector similarity joins
Writes results to files, databases, cloud storage, or generates AI analysis reports
You connect nodes by drawing edges from one output handle to another's input handle. Most nodes have a single input handle and a single output handle. Joins have multiple input handles. Branches have one input and two output handles (one per route).
Most nodes have two parts:
Once a node is configured, the saved operation runs every time the workflow runs — without re-asking the AI — until you change the description or the node's configuration.
When a workflow runs, DagFlux follows the saved execution order, calling each node's handler in turn. Each node logs its result, the records processed, the duration, and any error to the execution history. If any node fails, the run stops and the failure is recorded.