Skip to content

Node Types Reference Guide

This document describes all available node types in the AgentCraftLab Workflow Studio, including their purpose, main configuration fields, and applicable scenarios.

Overview Table

Node TypeCategoryDescription
startMetaWorkflow entry point
endMetaWorkflow exit point
agentExecutable / AgentLocal LLM Agent that calls a language model to process tasks
a2a-agentExecutable / AgentRemote A2A Agent that calls external services via the Agent-to-Agent protocol
autonomousExecutable / AgentReAct loop autonomous Agent capable of creating sub-agents for collaboration
conditionExecutable / Control FlowConditional branching that follows different paths based on expressions
loopExecutable / Control FlowLoop that repeats execution until a condition is met or max iterations reached
routerExecutable / Control FlowMulti-route classifier where an LLM determines which path the input should take
humanExecutable / Control FlowPauses the workflow and waits for user input
codeExecutable / TransformDeterministic text transformation that does not consume LLM tokens
iterationExecutable / Control FlowForeach loop that splits input and processes each item individually
parallelExecutable / Control FlowParallel fan-out/fan-in with multiple branches executing simultaneously
http-requestExecutable / IntegrationDeterministic HTTP call to an external API
ragData NodeAttaches a RAG knowledge source (uploaded files or knowledge base)

Meta Nodes

start -- Entry Point

Purpose: Marks the entry point of the workflow. The user's input message begins propagating from this node.

Configuration Fields: No configuration required.

Applicable Scenarios: Every workflow must have exactly one start node.

end -- Exit Point

Purpose: Marks the end of the workflow. When the last Agent's output reaches this node, the entire workflow completes.

Configuration Fields: No configuration required.

Applicable Scenarios: Every workflow must have at least one end node. Workflows with branches may have multiple end nodes.


Agent Nodes

agent -- Local LLM Agent

Purpose: Calls a language model to execute tasks. This is the most commonly used node type in workflows and can have tools, RAG knowledge, and Middleware attached.

Main Configuration Fields:

FieldDescriptionDefault
providerLLM provider (openai / azure-openai / ollama / foundry / github-copilot / anthropic / aws-bedrock)openai
modelModel namegpt-4o
instructionsSystem instructions defining the Agent's behavior and roleEmpty
temperatureGeneration temperature (0~2); higher values produce more creative outputNot set (uses model default)
topPTop-P samplingNot set
maxOutputTokensMaximum output token countNot set
toolsList of attached built-in tool IDsEmpty
mcpServersList of attached MCP Server namesEmpty
httpApisList of attached HTTP API namesEmpty
outputFormatOutput format (text / json / json_schema)text
middlewareEnabled Middleware (GuardRails / PII / RateLimit / Retry / Logging)Empty

Applicable Scenarios: Text summarization, translation, analysis, code generation, customer service responses, and all other tasks requiring LLM reasoning.

a2a-agent -- Remote A2A Agent

Purpose: Calls a remote Agent service via the Agent-to-Agent (A2A) protocol. Suitable for cross-service and cross-organization Agent collaboration.

Main Configuration Fields:

FieldDescriptionDefault
a2aUrlA2A endpoint URL of the remote AgentEmpty (required)
a2aFormatProtocol format (auto / google / microsoft)auto

Applicable Scenarios: Calling external Agents deployed as A2A services, such as specialized enterprise Agents or third-party Agent services. The auto mode tries both formats sequentially.

autonomous -- ReAct Loop Autonomous Agent

Purpose: An autonomous Agent that operates in a ReAct (Reasoning + Acting) loop. It can create sub-agents, assign tasks, and collect results on its own, making it suitable for complex multi-step reasoning tasks.

Main Configuration Fields: Configured through the basic Agent node fields (provider, model, instructions); execution is handled by ReactExecutor at runtime.

Applicable Scenarios: Complex tasks requiring multi-step reasoning and dynamic decision-making. Examples: research report writing (automatically decomposing subtasks), multi-source data aggregation, analytical work requiring iterative verification. Includes 12 built-in meta-tools for sub-agent management.


Control Flow Nodes

condition -- Conditional Branching

Purpose: Directs the flow to different paths based on a condition expression. Supports two output ports: output_1 (condition is true) and output_2 (condition is false).

Main Configuration Fields:

FieldDescriptionDefault
condition.kindCondition evaluation methodEmpty
condition.valueCondition expression (applied to the previous node's output)Empty

Applicable Scenarios: Determining the subsequent flow based on the previous Agent's output. Example: if sentiment analysis returns positive, take path A; if negative, take path B.

loop -- Loop

Purpose: Repeatedly executes nodes within the loop until a condition is met or the maximum iteration count is reached.

Main Configuration Fields:

FieldDescriptionDefault
maxIterationsMaximum number of loop iterations5
conditionExpressionTermination condition expressionEmpty

Applicable Scenarios: Tasks requiring iterative refinement. Examples: polishing an article until quality standards are met, proofreading a translation until error-free.

router -- Multi-Route Classifier

Purpose: Uses an LLM to classify the input content and direct the flow to the corresponding branch path. Supports multiple output ports.

Main Configuration Fields:

FieldDescriptionDefault
instructionsRouting instructions describing the classification criteria for each pathEmpty

Applicable Scenarios: Intelligent routing. Example: a customer service system that routes by issue type (billing / technical / general) to different Agents for handling.

human -- Human Input

Purpose: Pauses workflow execution and waits for the user to provide input before continuing. Supports three interaction modes.

Main Configuration Fields:

FieldDescriptionDefault
promptPrompt message displayed to the userEmpty
inputTypeInput mode: text (free text) / choice (options) / approval (approve/reject)text
choicesList of options (comma-separated), used only in choice modeEmpty
timeoutSecondsTimeout in seconds for waiting (0 = wait indefinitely)0

Applicable Scenarios: Human-in-the-loop workflows. Examples: AI generates a draft and asks the user to confirm, a process requires manual approval, or the user needs to choose a direction from options.

iteration -- Foreach Loop

Purpose: Splits the input into multiple items and sends each item to child nodes for processing. Similar to a foreach loop in programming languages.

Main Configuration Fields:

FieldDescriptionDefault
splitSplit method: json-array (JSON array) / delimiter (delimiter-based)json-array
iterationDelimiterDelimiter (only for delimiter mode)Newline
maxItemsMaximum number of items to process50

Applicable Scenarios: Batch processing. Examples: generating marketing copy for each product name in a list, analyzing each record in a JSON array individually.

parallel -- Parallel Execution

Purpose: Fan-out/fan-in pattern where multiple branches execute simultaneously in parallel, with results merged after all branches complete.

Main Configuration Fields:

FieldDescriptionDefault
branchesBranch names (comma-separated)Branch1,Branch2
mergeResult merge strategy: labeled (with labels) / join (concatenate) / json (JSON object)labeled

Applicable Scenarios: Processing multiple independent subtasks simultaneously. Examples: translating into multiple languages at once, analyzing the same data from multiple perspectives simultaneously.


Transform Nodes

code -- Deterministic Transform

Purpose: Transforms text using deterministic rules without calling an LLM. Zero token consumption, suitable for formatting, data extraction, and other pre/post-processing tasks.

Main Configuration Fields:

FieldDescription
kindTransform mode (see the nine modes below)
templateTemplate string (used in template / script modes)
patternRegular expression (used in regex-extract / regex-replace / json-path)
replacementReplacement string (used in regex-replace)
maxLengthTruncation length (used in trim)
delimiterDelimiter (used in split-take)
splitIndexIndex of the segment to take (used in split-take)
scriptLanguageScript language: javascript (default) or csharp (used in script mode)

Nine Transform Modes:

ModeDescription
templateTemplate substitution; is replaced with the previous node's output
regex-extractExtract content matching a regular expression
regex-replaceSearch and replace using a regular expression
json-pathExtract a value at a specified path from JSON
trimTruncate to a specified length
split-takeSplit by delimiter and take the segment at the specified index
upperConvert to uppercase
lowerConvert to lowercase
scriptExecute a sandbox script (JavaScript or C#, requires AgentCraftLab.Script)

Script Mode — Dual Language Support:

LanguageEngineUsage
JavaScriptJint sandboxUse the input variable to read input; set result variable for output
C#Roslyn runtime compilationParameter input is a string; use return to return the result. LINQ, JsonSerializer, and Regex are available

Both languages run in a secure sandbox: File/Network/Process operations are blocked, with timeout and memory limits enforced.

Script Studio (Full-screen Editor):

The side panel shows a read-only code preview; clicking it opens the Script Studio full-screen modal:

  • Top — AI Generate: describe what you need in natural language, and the LLM generates both script code and test data
  • Center — Monaco Editor (VS Code core): syntax highlighting, bracket matching, auto-indent, minimap
  • Bottom — Test Run: enter test input, execute instantly, and view results
  • Format button — auto-format code (Shift+Alt+F)
  • Click "Apply" to save the code back to the node settings

Applicable Scenarios: Post-processing of Agent output (extracting JSON fields, formatting templates, regex cleanup), data transformation between nodes, complex LINQ queries and data processing (C#).


Integration Nodes

http-request -- HTTP Call

Purpose: Sends a deterministic HTTP request to an external API without going through an LLM. Suitable for calling REST APIs with known formats.

Main Configuration Fields:

FieldDescriptionDefault
httpApiIdReferenced HTTP API definition IDEmpty (required)
httpArgsTemplateJSON parameter template; {input} is replaced with the previous node's output{}

The HTTP API definition (configured at the workflow level) includes: URL, Method (GET/POST/PUT/DELETE), Headers, and BodyTemplate.

Applicable Scenarios: Calling third-party REST APIs, webhook notifications, fetching data from external systems.


Data Nodes

Data nodes do not execute logic themselves; instead, they provide additional capabilities to Agent nodes. Connect a data node to an Agent node via an edge to activate it.

rag -- RAG Knowledge Source

Purpose: Attaches a Retrieval-Augmented Generation (RAG) knowledge source to an Agent. When answering, the Agent first searches for relevant document chunks, injects them as context, and then generates a response.

Main Configuration Fields (RagConfig):

FieldDescriptionDefault
dataSourceData source typeupload
chunkSizeChunk size (in characters)1000
chunkOverlapChunk overlap region100
topKNumber of top relevant chunks to retrieve5
embeddingModelEmbedding modeltext-embedding-3-small

You can also connect to an existing knowledge base via knowledgeBaseIds.

Applicable Scenarios: Enabling Agents to answer questions based on specific documents. Examples: uploading a product manual for customer service Q&A, generating reports based on internal company documents.

tool -- Tool

Purpose: Attaches built-in tools to an Agent. The Agent can decide during reasoning whether to invoke these tools.

Main Configuration Fields: Select tools to attach from the tool catalog via the UI.

Tool sources include four layers: Tool Catalog (built-in tools), MCP Servers, A2A Agents, and HTTP APIs.

Applicable Scenarios: Giving Agents capabilities such as web search, weather lookup, math calculation, and more. Example: attaching the Web Search tool so the Agent can search for the latest information.


Strategy Auto-Detection

The workflow execution strategy is automatically selected based on the node composition:

  1. If the workflow contains any node requiring Imperative (condition / loop / router / human / code / iteration / parallel / http-request / a2a-agent / autonomous) -> uses the Imperative strategy
  2. If any Agent has multiple outgoing connections -> uses the Handoff strategy
  3. Otherwise -> uses the Sequential strategy

You can also manually specify the strategy in the workflow settings (auto / sequential / concurrent / handoff / imperative).

Released under the Apache-2.0 License.