Node Types Reference
NetPad supports a wide variety of node types for building powerful workflows and diagrams. This reference covers all available node types, their capabilities, properties, and use cases.
Basic Shapes
Rectangle
Type: rect
Description: A basic rectangle shape for general diagramming purposes.
Properties:
label(string): Display label for the shapewidth(number): Width of the rectangleheight(number): Height of the rectangle
Ellipse
Type: ellipse
Description: An ellipse shape for rounded visual elements.
Properties:
label(string): Display label for the shaperx(number): Horizontal radiusry(number): Vertical radius
Circle
Type: circle
Description: A perfect circle shape.
Properties:
label(string): Display label for the shaper(number): Radius of the circle
Diamond
Type: diamond
Description: A diamond shape, typically used for decision points in flowcharts.
Properties:
label(string): Display label for the shapewidth(number): Width of the diamondheight(number): Height of the diamond
Text
Type: text
Description: A simple text label shape for annotations.
Properties:
label(string): Display label for the shapetext(string): The actual text contentwidth(number): Width of the text areaheight(number): Height of the text area
Workflow Node Types
Agent Node
Type: agent_node
Description: An autonomous reasoning or orchestration node that can make decisions, plan actions, and coordinate other workflow components.
Key Features:
- Autonomous decision making with LLM integration
- Planning mode for complex multi-step operations
- Reflection hooks for self-evaluation
- Tool selection and coordination
- Memory integration for stateful operations
Properties:
label(string): Node identifierdescription(string): Detailed description of the agent’s purposeprompt(string): Primary instruction prompt for the agentsystemPrompt(string): System-level context and behavior guidelinesprovider(select): LLM provider override (OpenAI, Anthropic, Ollama)model(string): Specific model overridetemperature(number): Response randomness control (0-2)maxTokens(number): Maximum response length (1-4096)agentType(select): Agent implementation type (LLM, Tool, Human)planningMode(boolean): Enable multi-step planning capabilitiesreflectionHook(boolean): Enable self-evaluation and improvementallowGlobalToolSelection(boolean): Allow access to tools not directly connected
Ports:
- Input: Context In, Trigger In, Feedback In
- Output: Tool Out, Memory Out, Success, Failure
Chat Node
Type: chat_node
Description: A node for chat-based interactions with language models.
Properties:
label(string): Node identifierdescription(string): Node descriptionsystem(string): System prompt for context settingprompt(string): User prompt or querytemperature(number): Response randomness (0-2)maxTokens(number): Maximum response length (1-4096)provider(string): Optional provider overridemodel(string): Optional model override
Ports:
- Input: Default
- Output: Chat Out
Tool Node
Type: tool_node
Description: A node that executes tools, scripts, or functions within the workflow.
Properties:
label(string): Node identifierdescription(string): Tool descriptiontoolType(select): Built-in or Custom toolcode(string): Tool implementation code
Ports:
- Input: Default
- Output: Result, Error
Memory Node
Type: memory_node
Description: A node for storing and retrieving workflow state and context.
Key Features:
- Multiple storage backends (in-memory, MongoDB)
- Thread/session scoping
- Persistence control
- Checkpoint capabilities for workflow state snapshots
Properties:
label(string): Node identifierdescription(string): Memory purpose descriptionmemoryType(select): Storage type (In-Memory, MongoDB)persistence(boolean): Enable persistent storagedb(string): Database name for MongoDB storagecollection(string): Collection name for MongoDB storagethreadId(string): Session/thread identifiercheckpoint(boolean): Create state snapshotcontents(string): Manual memory contents for debugging
Ports:
- Input: Input 1
- Output: Output 1
Code Node
Type: code_node
Description: A node for executing JavaScript code snippets within workflows.
Properties:
label(string): Node identifiercode(string): JavaScript code to executedescription(string): Code purpose description
Ports:
- Input: Default
- Output: Result, Error
API Node
Type: api_node
Description: A node for making HTTP API requests to external services.
Properties:
label(string): Node identifierurl(string): API endpoint URLmethod(select): HTTP method (GET, POST, PUT, DELETE)headers(string): Request headers in JSON formatbody(string): Request body in JSON format
Ports:
- Input: Default
- Output: Response, Error
Data Processing Nodes
MongoDB Node
Type: mongodb_node
Description: A node for querying MongoDB databases.
Properties:
label(string): Node identifierdatabase(string): Target database namecollection(string): Target collection namequery(string): MongoDB query in JSON formatprojection(string): Field projection in JSON format
Ports:
- Input: Default
- Output: Result, Error
MongoDB Vector Search Node
Type: mongodb_vectorsearch_node
Description: A node for performing vector similarity searches using MongoDB Atlas Vector Search.
Key Features:
- Semantic search capabilities
- Multiple embedding model support
- Configurable result ranking
- Field-specific result extraction
Properties:
label(string): Node identifierdb(string): Database namecollection(string): Collection nameindex(string): Atlas Search index nameembeddingModel(string): Embedding model (e.g., openai-ada-002)queryText(string): Text to search for (supports{{context}}variables)topK(number): Number of results to returnreturnField(string): Specific fields to return
Ports:
- Input: Default
- Output: Result, Error
Web Scraper Node
Type: webscraper_node
Description: A node for extracting data from web pages.
Key Features:
- Intelligent selector detection
- Multiple output formats
- AI-powered content summarization
- Retry logic and timeout handling
- Header customization
Properties:
label(string): Node identifierurl(string): Target URL (supports{{variable}}substitution)selector(string): CSS selector for content extractionresultFormat(select): Output format (Text, Table, JSON, Auto-Detect)autoSelector(boolean): AI-powered selector detectionsummarize(boolean): LLM content summarizationmaxRetries(number): Retry attempts (1-5)timeoutMs(number): Request timeout in millisecondsheaders(string): Custom request headerschainSelectors(string): Multi-step selector chain
Ports:
- Input: Default
- Output: Scraped Data, Error
Content and Communication Nodes
Text Node
Type: text_node
Description: A node for text processing and manipulation.
Properties:
label(string): Node identifierdescription(string): Node descriptiontext(string): Text content to process
Ports:
- Input: Default
- Output: Text Out
Markdown Node
Type: markdown_node
Description: A node for rendering and processing Markdown content.
Properties:
label(string): Node identifiermarkdown(string): Markdown content
Ports:
- Input: Default
- Output: Markdown Out
Table Node
Type: table_node
Description: A node for displaying and formatting tabular data.
Properties:
data(string): Table data as JSON arraydescription(string): Table descriptiontableFormat(select): Output format (Markdown, HTML, CSV, Plain Text)
Ports:
- Input: Default
- Output: Table Out
Email Node
Type: email_node
Description: A node for sending emails within workflows.
Properties:
label(string): Node identifierdescription(string): Email purposeemail(string): Recipient email addresssubject(string): Email subject linebody(string): Email body content
Ports:
- Input: Default
- Output: Sent, Error
Control Flow Nodes
Terminator Node
Type: terminator_node
Description: Marks the start or end points of a workflow.
Properties:
label(string): Node identifiersubtype(select): Start or Endwidth(number): Visual widthheight(number): Visual height
Ports:
- Input: Input 1 (hidden)
- Output: Output 1 (hidden)
If Condition
Type: if_condition
Description: A node for conditional branching logic.
Properties:
label(string): Node identifiercondition(string): Boolean condition to evaluate
Ports:
- Input: Default
- Output: True, False
Switch Node
Type: switch_node
Description: A node for conditional branching with multiple paths.
Properties:
label(string): Node identifiercondition(string): Switch condition
Ports:
- Input: Default
- Output: True, False
Loop Node
Type: loop_node
Description: A node for iterative processing.
Properties:
label(string): Node identifieriterations(number): Number of loop iterations
Ports:
- Input: Default
- Output: Loop Out
Delay Node
Type: delay_node
Description: Introduces timing delays in workflow execution.
Properties:
label(string): Node identifierdescription(string): Delay purposedelay(number): Delay duration in milliseconds (0-10000)
Ports:
- Input: Default
- Output: Delayed
Advanced Analysis Nodes
Code Analysis Node
Type: code_analysis_node
Description: A node for analyzing code quality, security, and performance.
Key Features:
- Multiple analysis types (lint, typecheck, security, performance, complexity)
- Language-specific analysis
- Custom analysis prompts
- Documentation generation
Properties:
label(string): Node identifiercode(string): Code to analyzedescription(string): Analysis descriptionanalysisType(select): Analysis type (Lint, Type Check, Security, Performance, Complexity, Documentation, Refactoring)language(string): Programming languagecustomPrompt(string): Custom analysis instructions
Ports:
- Input: Default
- Output: Result, Error
Scan Node
Type: scan_node
Description: A node for scanning directories and file systems.
Properties:
label(string): Node identifierpath(string): Directory or file path to scanfileTypeFilters(string): File extension filters (comma-separated)config(string): Scan configuration
Ports:
- Output: Scan Results
Recommendation Node
Type: recommendation_node
Description: A node for generating AI-powered recommendations.
Properties:
label(string): Node identifieruserGoals(string): User goals and optimization parameters
Ports:
- Input: Default
- Output: Recommendations
Patch Node
Type: patch_node
Description: A node for applying code patches and modifications.
Properties:
label(string): Node identifiersourceFiles(string): Source files to patch
Ports:
- Input: Default
- Output: Patches
Integration Nodes
Webhook Node
Type: webhook_node
Description: A node for handling incoming webhook requests.
Key Features:
- Auto-generated endpoints
- Secret-based authentication
- Multiple HTTP methods
- Request payload debugging
Properties:
label(string): Node identifiermethod(select): HTTP method (POST, GET, PUT, DELETE, PATCH)path(string): Auto-generated endpoint path (read-only)secret(string): Authentication secret (read-only)enabled(boolean): Enable/disable webhookdescription(string): Webhook descriptionlastPayload(json): Last received payload for debugging (read-only)
Ports:
- Input: Default
- Output: Webhook Out
Task Node
Type: task_node
Description: A node for representing discrete tasks that can be delegated to agents.
Properties:
label(string): Task identifierdescription(string): Task descriptionexpected_output(string): Expected task outputtools(multiselect): Available tools for the taskagent_id(select): Assigned agent nodeasync(boolean): Asynchronous executionvariables(object): Task-specific variables
Ports:
- Input: Default
- Output: Task Out
Prompt Node
Type: prompt_node
Description: A node that pauses workflow execution to collect user input.
Properties:
label(string): Node identifierdescription(string): Prompt descriptionprompt(string): User prompt message
Ports:
- Input: Default
- Output: User Input
Specialized Shapes
Parallelogram
Type: parallelogram
Description: A parallelogram shape, commonly used for input/output operations in flowcharts.
Properties:
label(string): Display labelwidth(number): Shape widthheight(number): Shape heightskew(number): Skew angle for the parallelogram
Cylinder
Type: cylinder
Description: A cylinder shape, typically used to represent databases or storage.
Properties:
label(string): Display labelwidth(number): Cylinder widthheight(number): Cylinder height
Border Rectangle
Type: border_rect
Description: A rectangle with enhanced border styling.
Properties:
label(string): Display labelwidth(number): Rectangle widthheight(number): Rectangle height
Icon
Type: icon
Description: A shape for displaying icons in diagrams.
Properties:
label(string): Display labeliconName(string): Icon identifiersize(number): Icon sizecolor(string): Icon color
Pencil
Type: pencil
Description: A minimal freeform drawing shape for sketching and annotations.
Properties:
label(string): Display label
Embed
Type: embed
Description: A shape for embedding external content like videos or widgets.
Properties:
label(string): Display labelurl(string): Embed URL
Line
Type: line
Description: A simple line shape for connecting elements and creating flow indicators.
Properties:
- No configurable properties
Best Practices
Node Connection Patterns
- Sequential Processing: Connect nodes in linear chains for step-by-step workflows
- Parallel Processing: Use multiple output connections for concurrent operations
- Conditional Logic: Use If Condition and Switch nodes for branching workflows
- Error Handling: Always connect error outputs to appropriate handling nodes
Memory and State Management
- Use Memory nodes for maintaining state across workflow steps
- Implement checkpoints at critical workflow points
- Consider thread/session scoping for multi-user scenarios
LLM Integration
- Configure appropriate temperature settings for your use case
- Use system prompts to establish consistent behavior
- Implement reflection hooks for complex reasoning tasks
Performance Optimization
- Use appropriate timeout settings for external API calls
- Implement retry logic for unreliable operations
- Consider async execution for long-running tasks
This comprehensive reference should help you understand and effectively utilize all available node types in NetPad workflows.