Skip to main content
Nodes are the building blocks of chatflows. Each node represents a specific component like an LLM, tool, memory system, or data processor.

Node Anatomy

Every node has a consistent structure:
┌─────────────────────────────┐
│  [Icon] Node Name      [⚠️] │  ← Header with icon and status
├─────────────────────────────┤
│         INPUTS              │  ← Input section
├─────────────────────────────┤
│  ○ Input Anchor 1           │  ← Connection points (left)
│  📝 Parameter 1: [value]    │  ← Configurable parameters
│  📝 Parameter 2: [value]    │
│  [Additional Parameters]    │  ← Advanced settings button
├─────────────────────────────┤
│         OUTPUT              │  ← Output section
├─────────────────────────────┤
│           Output Anchor ○   │  ← Output connection (right)
└─────────────────────────────┘

Node Categories

Language models that power conversations:
  • ChatOpenAI: OpenAI’s GPT models (3.5, 4, etc.)
  • ChatAnthropic: Anthropic’s Claude models
  • ChatOllama: Local models via Ollama
  • AzureChatOpenAI: Azure OpenAI Service
  • ChatGoogleGenerativeAI: Google’s Gemini models
Common Parameters:
  • Model Name: Which model version to use
  • Temperature: Creativity (0 = deterministic, 1 = creative)
  • Max Tokens: Maximum response length
  • Top P: Nucleus sampling parameter

Adding and Configuring Nodes

1

Open Node Palette

Click the + Add Node button on the canvas. This opens the node palette with all available components.
Use the search bar to quickly find nodes by name or category.
2

Select a Node

Browse by category or search for a specific node. Click to add it to the canvas.The node appears at your cursor position. You can also drag-and-drop from the palette.
3

Configure Parameters

Click on the node to view its configuration panel:
  • Required parameters are marked and must be filled
  • Optional parameters have default values
  • Additional Parameters button reveals advanced settings
  • Input anchors accept connections from other nodes
4

Connect to Other Nodes

Drag from an output anchor to an input anchor:
  1. Click and hold on an output anchor (right side)
  2. Drag to a compatible input anchor (left side)
  3. Release to create the connection
  4. Flowise validates type compatibility automatically

Node Input Types

Nodes accept different types of inputs:
These are connection points that accept output from other nodes:
  • Displayed as circles on the left side of nodes
  • Type-checked (e.g., BaseChatModel, Tool, VectorStore)
  • Can be single or list (accepting multiple connections)
  • Shows visual feedback on hover (compatible = green, incompatible = red)
Example: A Conversational Agent has input anchors for:
  • model (BaseChatModel) - single connection
  • tools (Tool[]) - list, accepts multiple tools
  • memory (BaseChatMemory) - single connection
These are form fields for direct configuration:Text Input: Simple string values
System Message: "You are a helpful assistant"
Number Input: Numeric values with validation
Temperature: 0.7
Max Tokens: 2000
Select/Dropdown: Choose from predefined options
Model Name: [gpt-4, gpt-3.5-turbo, gpt-4-turbo]
JSON Input: Structured data
{
  "key": "value",
  "nested": { "data": true }
}
Code Editor: Write custom functions
// Custom tool implementation
const result = await someOperation()
return result
File Upload: Upload documents, images, or data filesCredential: Securely stored API keys and secrets
Parameters that support the acceptVariable flag can use dynamic values:
  • Reference other node outputs: {{nodeId.data.instance}}
  • Use global variables: {{$vars.variableName}}
  • Runtime expressions: {{question}} (user input)
See Variables & Expressions for details.

Node Actions

Hover over a node to reveal action buttons:
ActionIconDescription
Duplicate📋Create a copy of the node with same settings
Delete🗑️Remove node and all its connections
Infoℹ️View node documentation and details
You can also select nodes and press Delete or Backspace to remove them.

Advanced Node Features

Additional Parameters

Many nodes hide advanced settings behind the “Additional Parameters” button:
1

Open Additional Parameters

Click the Additional Parameters button at the bottom of the node.
2

Configure Advanced Settings

A dialog opens with optional parameters:
  • Timeout settings
  • Custom base URLs
  • Advanced model parameters
  • Retry logic
  • Headers and metadata
3

Save Changes

Click Save to apply the settings. They’re stored with the node configuration.

Credentials

Nodes that require API keys use the credential system:
1

Create Credential

  1. Click Connect Credential on the node
  2. Select Create New from the dropdown
  3. Enter your API key and give it a name
  4. Click Add
2

Reuse Credentials

Once created, credentials are available across all chatflows:
  • Select from the dropdown on any compatible node
  • Update credentials in one place, applies everywhere
  • Credentials are encrypted at rest
Never hardcode API keys in custom tools or parameters. Always use the credential system.

Node Versioning

Nodes are versioned to support updates and improvements:
  • Version badge: Shows current node version (e.g., v2, v3)
  • Outdated warning: Orange warning icon if newer version available
  • Sync nodes: Button appears to upgrade all outdated nodes
  • Breaking changes: Review changelog before upgrading
When a sync button appears:
  1. Click the Sync Nodes button (orange refresh icon)
  2. Flowise automatically updates all outdated nodes
  3. Incompatible connections are removed (review carefully!)
  4. Test your flow after upgrading
  5. Save the updated flow
Note: This operation cannot be undone. Export your flow first as backup.

Custom Nodes

Flowise allows creating custom nodes for specialized functionality:
Write JavaScript/Python functions that agents can call:
// Custom Tool Example
// Tool Name: Get Weather
// Description: Get current weather for a city

const axios = require('axios')

const city = $input // From tool parameter
const apiKey = $credentials.weatherApiKey

const response = await axios.get(
  `https://api.weather.com/v1/current?city=${city}&key=${apiKey}`
)

return response.data.temperature

Connection Rules

Flowise enforces type safety when connecting nodes:

Compatible Connections

Allowed:
  • ChatOpenAI → Conversation Chain (model input)
  • Calculator Tool → Agent (tools input)
  • Vector Store → Retrieval QA Chain (vectorstore input)
  • Document → Text Splitter → Embeddings → Vector Store
Not Allowed:
  • Agent → Chat Model (wrong direction)
  • Text Splitter → Agent (incompatible types)
  • Multiple outputs to single input (unless input accepts lists)

List Inputs

Some inputs accept multiple connections: The tools input accepts a list of tools, so multiple connections are valid.

Sticky Notes

Add documentation and comments to your canvas:
1

Add Sticky Note

  1. Open node palette
  2. Go to Utilities category
  3. Select Sticky Note
  4. Place on canvas
2

Add Content

Click the note and type your documentation:
  • Explain complex logic
  • Add TODOs and reminders
  • Document configuration decisions
  • Add usage examples
3

Organize

  • Resize notes by dragging corners
  • Color-code by type (coming soon)
  • Position near relevant nodes

Best Practices

  • Use descriptive names for custom tools and functions
  • Keep tool descriptions clear - LLMs use them to decide when to call tools
  • Set reasonable token limits to control costs
  • Use lower temperatures (0.1-0.3) for factual tasks, higher (0.7-0.9) for creative tasks
  • Test with different model versions to find the right balance of cost and performance
  • Keep data flow left-to-right when possible (easier to read)
  • Group related nodes together visually
  • Avoid crossing connections when possible
  • Use consistent positioning (e.g., all LLMs on the right, all data sources on left)
  • Enable caching on LLM nodes for repeated queries
  • Use appropriate chunk sizes in text splitters (500-1000 tokens)
  • Configure vector store batch sizes for bulk uploads
  • Set timeouts on external API calls
  • Use streaming for better user experience

Next Steps

Testing & Debugging

Learn how to test and debug your flows

Variables & Expressions

Use dynamic values in your nodes

Build docs developers (and LLMs) love