Build AI Applications Without Writing Code
Flowise is an open-source, drag-and-drop tool for building LLM-powered applications. It wraps LangChain and LlamaIndex into a visual interface where you connect nodes to create chatbots, RAG pipelines, autonomous agents, and API endpoints — all without writing a single line of code.
In 2026, Flowise has become a staple in the local AI stack. It works with every major LLM provider and runs fully on-premise, making it ideal for teams that need powerful AI workflows without cloud dependency.
What You Can Build with Flowise
- Document Q&A chatbots — chat with PDFs, CSVs, web pages
- Autonomous agents — AI that uses tools like web search, calculators, code interpreters
- Customer support bots — with fallback and escalation logic
- API endpoints — expose any workflow as a REST API
- Multi-chain pipelines — chain multiple LLM calls with conditional logic
- Memory-enabled assistants — bots that remember conversation history
Installation
npm (Recommended)
# Install globally
npm install -g flowise
# Start Flowise
npx flowise start
Access at http://localhost:3000.
Docker
docker run -d \
--name flowise \
-p 3000:3000 \
-v ~/.flowise:/root/.flowise \
flowiseai/flowise:latest
Docker Compose with Persistent Storage
# docker-compose.yml
version: '3.8'
services:
flowise:
image: flowiseai/flowise:latest
restart: always
ports:
- "3000:3000"
volumes:
- flowise_data:/root/.flowise
environment:
- PORT=3000
- DATABASE_PATH=/root/.flowise
- APIKEY_PATH=/root/.flowise
- LOG_PATH=/root/.flowise/logs
- SECRETKEY_PATH=/root/.flowise
volumes:
flowise_data:
docker compose up -d
Environment Variables
Create a .env file in your Flowise directory:
# Authentication (highly recommended for production)
FLOWISE_USERNAME=admin
FLOWISE_PASSWORD=yourpassword
# Database (SQLite by default, PostgreSQL for production)
DATABASE_TYPE=postgres
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=flowise
DATABASE_USER=flowise_user
DATABASE_PASSWORD=dbpassword
# Optional: set custom port
PORT=3000
Core Concepts
Nodes
Every Flowise workflow is built from nodes. Key node categories:
| Category | Examples |
|---|---|
| LLMs | ChatOpenAI, ChatOllama, ChatAnthropic, ChatMistralAI |
| Vector Stores | Chroma, Pinecone, Faiss, Weaviate, Qdrant |
| Document Loaders | PDF, CSV, Web Scraper, YouTube, GitHub |
| Text Splitters | Recursive Character, Token, Markdown |
| Memory | Buffer Memory, Redis Memory, Zep Memory |
| Chains | Conversational Retrieval QA, LLM Chain, SQL Chain |
| Agents | ReAct Agent, OpenAI Function Agent, AutoGPT |
| Tools | Calculator, Web Browser, SerpAPI, Custom Tool |
Chatflows
A Chatflow is a visual pipeline that processes user input and returns output. It’s the main unit of work in Flowise.
Agentflows
Agentflows are more advanced — they use AI reasoning to decide which tools to call. This enables autonomous multi-step task completion.
Building Your First Chatflow: PDF Q&A Bot
Here’s how to build a working RAG chatbot that answers questions from a PDF document.
Step 1: Create a New Chatflow
- Click Add New → Chatflow
- Give it a name: “PDF Q&A Bot”
Step 2: Add a PDF Loader
- From the left panel, drag PDF File node onto the canvas
- Upload your PDF in the node’s settings
Step 3: Add a Text Splitter
- Drag Recursive Character Text Splitter onto the canvas
- Set Chunk Size: 1000, Chunk Overlap: 200
- Connect PDF File → Text Splitter
Step 4: Add a Vector Store
- Drag Chroma (or Faiss for in-memory) onto the canvas
- For Chroma, set the URL:
http://localhost:8000and collection name - Connect Text Splitter → Chroma (Document input)
Step 5: Add an Embedding Model
- Drag Ollama Embeddings (or OpenAI Embeddings) onto the canvas
- For Ollama: set Base URL to
http://localhost:11434, model tonomic-embed-text - Connect Ollama Embeddings → Chroma (Embeddings input)
Step 6: Add the LLM
- Drag ChatOllama (or ChatOpenAI) onto the canvas
- For ChatOllama: Base URL
http://localhost:11434, modelllama3.2
Step 7: Add a QA Chain
- Drag Conversational Retrieval QA Chain onto the canvas
- Connect Chroma → Conversational Retrieval QA Chain (Vector Store input)
- Connect ChatOllama → Conversational Retrieval QA Chain (Chat Model input)
Step 8: Test
Click Save then Chat to open the test interface. Ask a question about your PDF.
Building an Autonomous Agent
Agents can use tools to complete tasks autonomously. Here’s a web search + calculator agent.
Required Nodes
- ChatOpenAI or ChatOllama — the reasoning LLM
- SerpAPI Tool — web search (requires SerpAPI key) or use Brave Search
- Calculator Tool — math operations
- OpenAI Function Agent (or ReAct Agent for local models)
Setup
- Add the LLM node and configure it
- Add the tool nodes (no connections needed — agents discover tools automatically)
- Add the OpenAI Function Agent node
- Connect the LLM to the agent’s Chat Model input
- Connect both tools to the agent’s Allowed Tools input
- Save and test
The agent will decide which tools to use based on your question. Ask it: “What is 15% of today’s Bitcoin price in USD?” and it will search for the price, then calculate.
Exposing Workflows as APIs
Every Flowise chatflow has a built-in REST API endpoint. Once saved:
# Get the chatflow ID from the URL or API list
CHATFLOW_ID="your-chatflow-id-here"
curl -X POST http://localhost:3000/api/v1/prediction/${CHATFLOW_ID} \
-H "Content-Type: application/json" \
-d '{
"question": "What are the key findings in the Q1 security report?"
}'
With API key authentication enabled:
curl -X POST http://localhost:3000/api/v1/prediction/${CHATFLOW_ID} \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_FLOWISE_API_KEY" \
-d '{
"question": "Summarize the vulnerabilities found",
"overrideConfig": {
"temperature": 0.2
}
}'
Adding Memory to Chatbots
By default, each message is stateless. Add a Buffer Memory node to retain conversation history:
- Drag Buffer Memory onto the canvas
- Set Memory Key:
chat_history - Set Session ID:
{sessionId}(use the built-in variable for per-user sessions) - Connect to the chain’s Memory input
For persistent memory across server restarts, use Redis Memory:
# Run Redis
docker run -d -p 6379:6379 redis:alpine
Then configure the Redis Memory node with redis://localhost:6379.
Useful Integrations
| Service | Flowise Node | Use Case |
|---|---|---|
| Slack | Webhook | Chatbot in Slack |
| n8n | HTTP Request | Trigger workflows |
| Zapier | Webhook | Automate document ingestion |
| Notion | Custom Tool | Read/write Notion pages |
| GitHub | GitHub Tool | Code review assistants |
Flowise vs. n8n vs. LangFlow
| Tool | Coding Required | LLM Focus | Complexity |
|---|---|---|---|
| Flowise | None | Yes (LangChain native) | Low–Medium |
| LangFlow | None | Yes (similar to Flowise) | Low–Medium |
| n8n | Some (JS) | Via plugins | Medium–High |
| Dify | None | Yes | Low |
Flowise wins when your primary goal is LLM-powered workflows. n8n is better for general automation that happens to include some AI steps.
Final Thoughts
Flowise makes building production-grade AI pipelines accessible to non-developers and rapid for developers. The visual interface removes the boilerplate of LangChain while still giving you access to the full LangChain ecosystem underneath.
Start with the PDF Q&A chatflow, get comfortable with how nodes connect, then graduate to multi-tool agents and custom integrations. Flowise can scale from a personal knowledge assistant to a team-wide AI platform running in Docker.