Core Concepts

Understanding the following concepts is essential to building effective flows in Prax:

Flows

A flow is a complete pipeline composed of connected nodes. Flows can be saved, shared, and reused across different projects. Each flow has a unique ID and can be executed from the UI or via API.

Nodes

Nodes represent a unit of work. Each node performs one function, such as calling a language model, running a conditional check, parsing data, or fetching external content. Nodes are linked by their inputs and outputs.

Inputs and Outputs

Each node receives an input (from a user, previous node, or default config) and produces an output. Outputs can be used directly or referenced by downstream nodes using syntax like {{previousNode.output}}.

Memory

Memory nodes store persistent or temporary state across a session. They allow flows to maintain context, which is critical for multi-turn interactions. Supported types include in-memory, Redis, and vector-based embeddings.

Chat Mode

This is an interactive mode for manually testing flows. It mimics real-world usage scenarios and shows how data moves through each node in real-time.

API Execution

Each flow can be triggered externally using a REST endpoint. Flows accept structured JSON input and return JSON output. This enables full integration with external platforms, UIs, bots, or automation tools.

Custom Nodes

Developers can extend Prax by building custom nodes using JavaScript/TypeScript. This is useful for proprietary APIs, internal tools, or highly specialized logic.

Last updated