Components¶
Pipelit provides 42 component types that serve as the building blocks for workflows. Each component type represents a distinct piece of functionality -- from receiving events to reasoning with LLMs to routing data through conditional logic.
Components are organized into seven categories, each with a distinct role in the workflow pipeline.
Triggers 6 types¶
Entry points that initiate workflow execution. Triggers are first-class nodes on the canvas -- they receive events from external sources (Telegram, chat, schedules) and pass data downstream.
Chat | Telegram | Manual | Schedule | Workflow | Error
AI 5 types¶
LLM-powered nodes that reason, classify, route, and extract structured data. AI nodes connect to an AI Model sub-component and optionally to tools and memory.
Agent | Deep Agent | Categorizer | Router | Extractor
Tools 5 types¶
Sub-component nodes that provide capabilities to agents via LangChain tool calling. When an agent invokes a tool, the tool node executes and returns results to the agent's reasoning loop.
Run Command | HTTP Request | Web Search | Calculator | Date & Time
Self-Awareness 11 types¶
Components that give agents awareness of the platform itself -- creating API credentials, inspecting their own identity, managing epics and tasks, spawning child workflows, and monitoring system health.
Create Agent User | Platform API | WhoAmI | Get TOTP Code | Epic Tools | Task Tools | Spawn & Await | Workflow Create | Workflow Discover | Scheduler Tools | System Health
Memory 3 types¶
Persistent knowledge storage that agents can read from and write to across executions. Includes user identification for personalized interactions.
Memory Read | Memory Write | Identify User
Logic 9 types¶
Flow-control nodes for branching, looping, filtering, merging, and orchestrating execution order. These nodes shape how data flows through the workflow graph.
Switch | Code | Merge | Filter | Loop | Wait | Human Confirmation | Aggregator | Subworkflow
Sub-Components 3 types¶
Configuration nodes that attach to AI nodes via special handles. They provide model selection, output parsing, and code execution capabilities.
AI Model | Output Parser | Code Execute
How Components Work¶
Every component on the canvas is a node in the workflow graph. Nodes connect to each other via edges that carry typed data between output ports and input ports.
Port System¶
Each component type defines its input ports and output ports with specific data types:
| Data Type | Description |
|---|---|
STRING | Plain text |
NUMBER | Numeric value |
BOOLEAN | True/false |
OBJECT | JSON object |
ARRAY | JSON array |
MESSAGES | LangGraph message list |
ANY | Accepts any type |
When you draw an edge between two nodes, Pipelit validates that the source output port type is compatible with the target input port type. Incompatible connections are rejected with a 422 error.
Execution Model¶
Components follow a consistent execution pattern:
- The orchestrator resolves Jinja2 expressions in the component's configuration (system prompt, extra config).
- The component's
run()function executes with the current workflow state. - The component returns a flat dict with port values (e.g.,
{"output": "result text"}). - The orchestrator wraps non-underscore keys into
node_outputs[node_id]for downstream access. - A
node_statusWebSocket event is published with the result status.
Sub-Component Connections¶
AI nodes connect to sub-components via special diamond-shaped handles at the bottom of the node:
| Handle | Color | Purpose |
|---|---|---|
| model | Blue (#3b82f6) | AI Model connection (required) |
| tools | Green (#10b981) | Tool connections |
| memory | Amber (#f59e0b) | Memory connections |
| output_parser | Slate (#94a3b8) | Output parser connection |
Accessing Upstream Data¶
Use Jinja2 template expressions to reference data from upstream nodes:
The trigger shorthand always refers to whichever trigger fired the current execution.