Agents Machine

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.

FieldTypeDescription
payloadtextInitial data or expression passed to downstream nodes
descriptionstringHuman-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.

FieldTypeRequiredDescription
agentstringYesAgent name: developer, analyst, architect, reviewer, tester, manager, researcher, or custom
prompttextNoTask description for the agent. Use {{input}} to include upstream output
modelselectNoOverride model: Claude Sonnet, Claude Haiku, GPT-4o, GPT-4o Mini
timeoutnumberNoExecution timeout in milliseconds (default: 300000)
maxTokensnumberNoMax 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.

FieldTypeRequiredDescription
skillstringYesSkill name (e.g., slack-notify, code-reviewer)
messagetextNoMessage to send to the skill
parametersjsonNoAdditional parameters as JSON

Search vector memory for relevant context. Useful for enriching pipeline data with historical knowledge.

FieldTypeRequiredDescription
queryexpressionYesSearch query (supports {{input}} expressions)
collectionstringNoMemory collection to search
limitnumberNoMax results (default: 5, range: 1–100)
thresholdnumberNoSimilarity threshold (default: 0.7, range: 0–1)

Memory Store

Store content into vector memory for future retrieval.

FieldTypeRequiredDescription
contentexpressionYesContent to store (supports {{input}})
collectionstringNoTarget memory collection
metadatajsonNoAdditional metadata (e.g., {"source": "pipeline"})

Flow Control

Condition

Branch execution based on a condition (IF/ELSE). Has two outputs: True and False.

FieldTypeRequiredDescription
expressionexpressionYesCondition to evaluate
modeselectNoEvaluation mode: expression, contains, regex, equals
trueLabelstringNoLabel for the True branch
falseLabelstringNoLabel for the False branch

Example:

{{input}} contains 'error'

Switch

Multi-way routing based on expression value. Like a switch/case statement with multiple outputs.

FieldTypeRequiredDescription
expressionexpressionYesExpression to evaluate (e.g., {{input.status}})
casesjsonYesArray of {value, label} objects
defaultOutputnumberNoOutput index for unmatched values (-1 = last)

Merge

Combine multiple inputs into a single output.

FieldTypeDescription
modeselectappend, combine (merge objects), zip (pair items), wait_all
waitForAllbooleanWait 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).

FieldTypeRequiredDescription
itemsExpressionexpressionYesExpression resolving to iterable
maxIterationsnumberNoSafety limit (default: 100, max: 10000)
batchSizenumberNoProcess N items at a time

Split

Split input into multiple items (e.g., split a string by newlines or an array into individual items).

FieldTypeRequiredDescription
expressionexpressionYesExpression to split
separatorstringNoSeparator for string splitting (default: \n)

Aggregate

Collect and reduce items from a loop or split into a single result.

FieldTypeDescription
modeselectcollect (all items), sum, count, first, last, custom
expressionexpressionCustom reduce expression (shown when mode = custom)
initialValuejsonInitial accumulator value (shown when mode = custom)

Error Handler

Catch and handle errors from connected nodes.

FieldTypeDescription
onErrorselectcontinue (pass null), stop (halt pipeline), retry, fallback
retryCountnumberNumber of retries (1–10, shown when mode = retry)
retryDelayMsnumberDelay between retries in ms (shown when mode = retry)
fallbackValuetextValue to use on error (shown when mode = fallback)

Data

Transform

Transform data using a template expression. Supports text, JSON, and CSV output formats.

FieldTypeRequiredDescription
templatecodeYesHandlebars-style template (e.g., {{input}})
formatselectNoOutput format: text, json, csv

Filter

Pass through data only if the expression matches. Has two outputs: Matched and Rejected.

FieldTypeRequiredDescription
expressionexpressionYesFilter expression
modeselectNoexpression, contains, regex, jmespath

Set Variable

Set a pipeline variable that can be referenced by downstream nodes via {{vars.name}}.

FieldTypeRequiredDescription
variableNamestringYesVariable name
valueexpressionYesValue expression

Code

Execute custom JavaScript or TypeScript code. The input variable contains the upstream node's output.

FieldTypeRequiredDescription
codecodeYesJavaScript/TypeScript code to execute
languageselectNojavascript or typescript
timeoutMsnumberNoExecution 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.

FieldTypeRequiredDescription
urlstringYesTarget URL
methodselectNoGET, POST, PUT, PATCH, DELETE
headersjsonNoRequest headers
bodytextNoRequest body
timeoutMsnumberNoTimeout (default: 30000ms)
retryCountnumberNoNumber of retries (0–10)

Output

Send results to a destination. This is typically the final node in a pipeline.

FieldTypeDescription
destinationselectlog, file, webhook, variable
pathstringFile path (shown when destination = file)
urlstringWebhook URL (shown when destination = webhook)
variableNamestringVariable name (shown when destination = variable)

Sub-Pipeline

Execute another pipeline as a sub-routine. Enables pipeline composition and reuse.

FieldTypeRequiredDescription
pipelineIdstringYesID of the target pipeline
inputMappingjsonNoMap input data to sub-pipeline variables

Utility

Delay

Wait for a specified duration before continuing execution.

FieldTypeRequiredDescription
durationnumberYesWait duration (default: 1000)
unitselectNoms (milliseconds), s (seconds), min (minutes)

Note

Visual annotation for documentation. Not executed — purely for commenting your pipeline.

FieldTypeDescription
contenttextNote content
colorselectYellow, Blue, Green, Red, Purple

On this page