Overview
What components are and how they fit together in a flow.
A component is a single node on the canvas. Every component declares typed inputs and outputs; a flow is the set of connections you draw between them.
Categories
The component sidebar is organized into two groups:
- Core Components — Input/Output, Processing, Data Source, Files and Knowledge, Flow Controls, LLM Operations, Models and Agents, Utilities, and Tools. These ship with ottom8 and need no third-party credentials beyond what you configure on the component itself.
- Bundles — one group per third-party provider (model providers, vector databases, search APIs, and more), each adding the components that provider needs.
See Agents for the Agent component specifically.
Connecting components
Each output handle has a type (text, message, data, etc.). You can only connect an output to an input of a compatible type — the canvas highlights valid targets while you drag a connection.
Configuration
Click a component to open its settings panel. Fields fall into two groups:
- Parameters set at design time (model name, temperature, prompt text).
- Inputs wired from other components at runtime.
A field can be toggled between the two: pin a parameter to expose it as a handle, so another component can set it dynamically instead of using a fixed value.
Custom components
If the built-in library doesn't cover what you need, write your own component in Python. A custom component defines the same inputs/outputs contract as a built-in one, so it drops onto the canvas and connects exactly the same way.
Sticky notes
Sticky notes are a special non-executing node for leaving notes on the canvas — useful for documenting a flow or flagging a manual step that isn't automated yet.