Node Reference
Complete reference for all 20 pipeline node types with configuration options.
Triggers
Trigger
Entry point that starts pipeline execution. Every pipeline needs at least one trigger node.
| Field | Type | Description |
|---|---|---|
payload | text | Initial data or expression passed to downstream nodes |
description | string | Human-readable description of what triggers this pipeline |
AI & Agents
Agent
Run a specialized AI agent with a prompt. The agent has access to the full context of the pipeline run.
| Field | Type | Required | Description |
|---|---|---|---|
agent | string | Yes | Agent name: developer, analyst, architect, reviewer, tester, manager, researcher, or custom |
prompt | text | No | Task description for the agent. Use {{input}} to include upstream output |
model | select | No | Override model: Claude Sonnet, Claude Haiku, GPT-4o, GPT-4o Mini |
timeout | number | No | Execution timeout in milliseconds (default: 300000) |
maxTokens | number | No | Max tokens for agent response (1–200000) |
Example prompt:
Analyze the following code changes and identify potential issues:
{{input}}Skill
Execute a registered skill with a message and optional parameters.
| Field | Type | Required | Description |
|---|---|---|---|
skill | string | Yes | Skill name (e.g., slack-notify, code-reviewer) |
message | text | No | Message to send to the skill |
parameters | json | No | Additional parameters as JSON |
Memory Search
Search vector memory for relevant context. Useful for enriching pipeline data with historical knowledge.
| Field | Type | Required | Description |
|---|---|---|---|
query | expression | Yes | Search query (supports {{input}} expressions) |
collection | string | No | Memory collection to search |
limit | number | No | Max results (default: 5, range: 1–100) |
threshold | number | No | Similarity threshold (default: 0.7, range: 0–1) |
Memory Store
Store content into vector memory for future retrieval.
| Field | Type | Required | Description |
|---|---|---|---|
content | expression | Yes | Content to store (supports {{input}}) |
collection | string | No | Target memory collection |
metadata | json | No | Additional metadata (e.g., {"source": "pipeline"}) |
Flow Control
Condition
Branch execution based on a condition (IF/ELSE). Has two outputs: True and False.
| Field | Type | Required | Description |
|---|---|---|---|
expression | expression | Yes | Condition to evaluate |
mode | select | No | Evaluation mode: expression, contains, regex, equals |
trueLabel | string | No | Label for the True branch |
falseLabel | string | No | Label for the False branch |
Example:
{{input}} contains 'error'Switch
Multi-way routing based on expression value. Like a switch/case statement with multiple outputs.
| Field | Type | Required | Description |
|---|---|---|---|
expression | expression | Yes | Expression to evaluate (e.g., {{input.status}}) |
cases | json | Yes | Array of {value, label} objects |
defaultOutput | number | No | Output index for unmatched values (-1 = last) |
Merge
Combine multiple inputs into a single output.
| Field | Type | Description |
|---|---|---|
mode | select | append, combine (merge objects), zip (pair items), wait_all |
waitForAll | boolean | Wait for all inputs before merging (default: true) |
Loop
Iterate over items, executing the connected subgraph for each item. Has two outputs: Item (per iteration) and Done (after all iterations).
| Field | Type | Required | Description |
|---|---|---|---|
itemsExpression | expression | Yes | Expression resolving to iterable |
maxIterations | number | No | Safety limit (default: 100, max: 10000) |
batchSize | number | No | Process N items at a time |
Split
Split input into multiple items (e.g., split a string by newlines or an array into individual items).
| Field | Type | Required | Description |
|---|---|---|---|
expression | expression | Yes | Expression to split |
separator | string | No | Separator for string splitting (default: \n) |
Aggregate
Collect and reduce items from a loop or split into a single result.
| Field | Type | Description |
|---|---|---|
mode | select | collect (all items), sum, count, first, last, custom |
expression | expression | Custom reduce expression (shown when mode = custom) |
initialValue | json | Initial accumulator value (shown when mode = custom) |
Error Handler
Catch and handle errors from connected nodes.
| Field | Type | Description |
|---|---|---|
onError | select | continue (pass null), stop (halt pipeline), retry, fallback |
retryCount | number | Number of retries (1–10, shown when mode = retry) |
retryDelayMs | number | Delay between retries in ms (shown when mode = retry) |
fallbackValue | text | Value to use on error (shown when mode = fallback) |
Data
Transform
Transform data using a template expression. Supports text, JSON, and CSV output formats.
| Field | Type | Required | Description |
|---|---|---|---|
template | code | Yes | Handlebars-style template (e.g., {{input}}) |
format | select | No | Output format: text, json, csv |
Filter
Pass through data only if the expression matches. Has two outputs: Matched and Rejected.
| Field | Type | Required | Description |
|---|---|---|---|
expression | expression | Yes | Filter expression |
mode | select | No | expression, contains, regex, jmespath |
Set Variable
Set a pipeline variable that can be referenced by downstream nodes via {{vars.name}}.
| Field | Type | Required | Description |
|---|---|---|---|
variableName | string | Yes | Variable name |
value | expression | Yes | Value expression |
Code
Execute custom JavaScript or TypeScript code. The input variable contains the upstream node's output.
| Field | Type | Required | Description |
|---|---|---|---|
code | code | Yes | JavaScript/TypeScript code to execute |
language | select | No | javascript or typescript |
timeoutMs | number | No | Execution timeout (default: 10000ms) |
Example:
// input available as `input`
const data = JSON.parse(input);
return data.items.filter(item => item.score > 0.8);Integration
HTTP Request
Make HTTP requests to external APIs.
| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Target URL |
method | select | No | GET, POST, PUT, PATCH, DELETE |
headers | json | No | Request headers |
body | text | No | Request body |
timeoutMs | number | No | Timeout (default: 30000ms) |
retryCount | number | No | Number of retries (0–10) |
Output
Send results to a destination. This is typically the final node in a pipeline.
| Field | Type | Description |
|---|---|---|
destination | select | log, file, webhook, variable |
path | string | File path (shown when destination = file) |
url | string | Webhook URL (shown when destination = webhook) |
variableName | string | Variable name (shown when destination = variable) |
Sub-Pipeline
Execute another pipeline as a sub-routine. Enables pipeline composition and reuse.
| Field | Type | Required | Description |
|---|---|---|---|
pipelineId | string | Yes | ID of the target pipeline |
inputMapping | json | No | Map input data to sub-pipeline variables |
Utility
Delay
Wait for a specified duration before continuing execution.
| Field | Type | Required | Description |
|---|---|---|---|
duration | number | Yes | Wait duration (default: 1000) |
unit | select | No | ms (milliseconds), s (seconds), min (minutes) |
Note
Visual annotation for documentation. Not executed — purely for commenting your pipeline.
| Field | Type | Description |
|---|---|---|
content | text | Note content |
color | select | Yellow, Blue, Green, Red, Purple |