Twine has two node-graph engines that share the same underlying model and editor but solve different problems. Both let you describe behaviour by connecting typed nodes into a directed acyclic graph; the difference is what flows between the nodes and whether side effects are allowed.Documentation Index
Fetch the complete documentation index at: https://docs.twine.se/llms.txt
Use this file to discover all available pages before exploring further.
Data Engine
The Data Engine is a pure transformation engine. Graphs describe how a value is derived from other values - mapping a source field into Twine, computing a derived property, producing the final value sent to a target system. Nodes do not call external systems, write logs, or mutate state; each one simply transforms its inputs into its outputs. Values flowing through a Data Engine graph are dated properties, which carry the time dimension Twine uses throughout its data model. The Data Engine is the successor to Twine’s legacy graph engine and is where all new property-mapping work should happen. Existing customer configurations still use the graph engine in production today.Data Engine
Deep-dive into nodes, ports, and graph execution.
Flow Engine
The Flow Engine is an orchestration engine. A flow is a saved graph that describes a process - read data from source systems, transform it, write to target systems, branch on conditions, loop over collections, log what happened. Where the Data Engine is pure computation, the Flow Engine is meant for side effects. A flow run records its status, logs, and a snapshot of selected named values from the run. Flows can be triggered manually, on a cron schedule, or as a dry run for validation. Inside a flow, smaller Data Engine graphs are used wherever a value needs to be transformed - for example, to build a payload for a step or to compute a branch condition.Flow Engine
Deep-dive into flows, steps, and the run lifecycle.
When to use which
Use the Data Engine when:- You are configuring a property mapping and need to derive a value from one or more source properties.
- You are writing a condition that filters entities based on computed criteria.
- You need a pure value transformation with no side effects.
- You need to orchestrate a process across one or more systems - fetch from A, transform, write to B.
- You need scheduled or recurring work with a visible run history and logs.
- The work involves side effects that a transformation engine cannot express.