AI & Agents

Flowise Document Store Limits: Overcoming Upsert Ceilings for Large Corpora

Flowise document store limits restrict file uploads to a default 50MB ceiling and trigger Node.js memory exhaustion when parsing multi-hundred-page documents. While administrators can adjust environment thresholds and vector upsert batch sizes between 100 and 500 records, large enterprise corpora quickly overwhelm local worker threads. Connecting Flowise to an indexed workspace over remote MCP offloads parsing and hybrid retrieval without canvas execution timeouts.

Derek Labian 15 min read Updated
Flowise document stores face memory and payload ceilings during local upserts that external workspaces resolve.

What Are the Default Flowise Document Store Limits?

The default Flowise document store limit is 50MB per uploaded file, governed by the FLOWISE_FILE_SIZE_LIMIT environment variable in Flowise server configurations. When teams attempt to ingest large enterprise document archives into visual flow pipelines, Node.js process memory exhausts long before hitting vector database quotas. Flowise document store limits are memory, file size (typically 50MB), and batch upsert constraints that restrict how many documents Flowise can parse and embed into vector stores during flow execution.

In Flowise, Document Stores provide a centralized data management interface for retrieval-augmented generation (RAG) applications. Instead of configuring separate document loaders, text splitters, and vector store nodes inside every individual chatflow, developers configure a shared Document Store as documented in Flowise Documentation. A Document Store accepts files or API data sources, partitions the raw text into manageable chunks using a text splitter, passes those chunks to an embedding model, and upserts the resulting dense vectors into an external vector database such as Pinecone, Qdrant, or PostgreSQL pgvector.

While this architecture simplifies visual orchestration for smaller proof-of-concept projects, it encounters strict throughput and capacity limits when handling large document collections. The table below outlines documented file upload and ingestion limits across major AI interfaces as of November 2026:

Platform or Endpoint Single-File Limit Batch or Corpus Limit Controlling Factor Verification Date Primary Source
Flowise Document Store 50MB Bounded by host RAM FLOWISE_FILE_SIZE_LIMIT 2026-11-05 Flowise Documentation
Flowise API Upsert Route 50MB Vector API payload ceiling HTTP request body parser 2026-11-05 Flowise Documentation
Claude Web Chat 500MB 20 files per chat Anthropic web chat policy 2026-09-14 Anthropic Help Center
Claude Projects 30MB Unlimited count Model context window 2026-09-14 Anthropic Help Center
Fastio Starter Plan 25GB 250 GB storage Plan storage allowance 2026-11-05 fast.io/pricing/

Attaching large document libraries directly to conversational interfaces introduces practical capacity boundaries across every modern AI platform. Anthropic documents that Claude web chat accepts up to 20 files at up to 500MB each while Claude Projects accepts files up to 30MB each with no fixed file-count cap as detailed in Anthropic Claude upload specifications (checked on 2026-09-14). However, the practical ceiling on a Claude Project remains the context window. When an organization attempts to attach a multi-gigabyte corpus across dozens of contracts or product specifications, prompt tokens saturate and inference degrades. Flowise developers face an even earlier boundary: local server process memory and default container file size ceilings.

Most competitor guides focus exclusively on vector database configuration, such as tuning Pinecone pod dimensions or Chroma collection metadata, rather than addressing the initial document store parsing and payload bottleneck in Flowise. Before a single vector embedding reaches a database, Flowise must receive the file over HTTP, buffer the binary payload in memory, extract raw text, and split it into chunks. That upfront ingestion pipeline is where flows break down.

Why Does Flowise Crash When Upserting Large Documents?

Flowise crashes when upserting large documents because the underlying Node.js V8 runtime runs out of memory during in-memory text parsing and unbatched vector transmissions. Flowise is built on Node.js and TypeScript, translating LangChain and LlamaIndex primitives into visual nodes. By default, the Node.js V8 engine enforces a strict heap memory limit, typically between 1.4GB and 2GB on standard deployments, and up to 4GB on 64-bit systems. When an administrator or API client uploads a massive document, the server attempts to execute binary extraction, text chunking, and embedding generation inside this single execution loop.

Two distinct bottlenecks cause Flowise instances to crash or hang during document store processing: process heap exhaustion during file parsing and gateway timeouts during vector upserts.

Node.js Heap Exhaustion During File Parsing

Flowise document loaders rely on in-memory JavaScript parsing libraries such as pdf-parse for PDF documents, text extractors for Microsoft Word files, and CSV parsers. When an incoming file arrives at the server, Flowise loads the entire binary buffer into system memory.

For a 400-page scanned PDF or a technical manual containing embedded vector graphics and tables, parsing requires unpacking compressed page streams and converting complex layout objects into plain text strings. This operation creates hundreds of thousands of intermediate string fragments and AST nodes. When parsing multi-hundred-page PDFs in Flowise worker threads, Node.js heap crashes are common. The V8 garbage collector cannot free intermediate string objects rapidly enough to keep pace with the allocation rate. As memory usage climbs toward the process boundary, the server halts with a fatal out-of-memory error:

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

In production architectures using background job workers (such as BullMQ backed by Redis) or containerized pods in Kubernetes, memory accumulation presents an additional challenge. Background workers retain session graphs and loader caches in memory across consecutive flow runs. Without scheduled worker recycling, memory consumption creeps upward until the host operating system terminates the container.

Vector Upsert Ceilings and Batching Constraints

Once text is extracted, Flowise splits documents into chunks and dispatches them to an embedding model before writing the resulting vector arrays to an external vector database. This stage introduces a secondary failure point: vector upsert payload limits.

Every vector database enforces payload and batch thresholds on its write APIs. For instance, Pinecone enforces a maximum request payload size of 2MB or 1,000 vector records per request. When a large document produces 3,000 or 5,000 chunks, attempting to upsert all vectors in a single HTTP request exceeds the database gateway limit. Even when a database accepts larger payloads, generating thousands of embeddings sequentially inside an active canvas run causes the HTTP connection to stall.

If an upsert request exceeds reverse proxy or browser timeout limits (typically 60 to 120 seconds), the client receives an HTTP 504 Gateway Timeout error. Although the background process might still be running, the visual interface loses synchronization, leaving the Document Store in an incomplete or corrupted state. To prevent these failures, the recommended vector upsert chunk batch limit is 100 to 500 records. Partitioning upserts into batches of 100 to 500 records keeps network payloads well beneath gateway ceilings and allows the event loop to yield between network dispatches.

How Do You Increase Flowise Upload Limits and Memory Allocations?

Administrators running self-hosted Flowise instances can raise default file size ceilings, expand Node.js heap space, and tune text splitter parameters to handle moderately larger files. While these configuration changes do not transform Flowise into an enterprise data warehouse, they prevent immediate crashes when processing documents between 50MB and 100MB.

Configuring FLOWISE_FILE_SIZE_LIMIT

Flowise restricts incoming file sizes across document loaders, chat attachments, and Document Store uploads through the FLOWISE_FILE_SIZE_LIMIT environment variable. To increase this threshold, define the variable in your .env configuration file or container environment:

PORT=3000
FLOWISE_FILE_SIZE_LIMIT=100mb

When deploying Flowise through Docker Compose, pass the environment variable directly within the service specification:

version: '3.8'

services:
  flowise:
    image: flowiseai/flowise:latest
    restart: always
    environment:
      - PORT=3000
      - FLOWISE_FILE_SIZE_LIMIT=100mb
      - NODE_OPTIONS=--max-old-space-size=4096
    ports:
      - "3000:3000"
    volumes:
      - ~/.flowise:/root/.flowise

Expanding Node.js Heap Allocation

Increasing FLOWISE_FILE_SIZE_LIMIT without expanding process memory accelerates heap crashes. To allow the V8 engine to allocate additional memory before invoking the garbage collector, set the NODE_OPTIONS environment variable with --max-old-space-size:

export NODE_OPTIONS="--max-old-space-size=4096"

Setting --max-old-space-size=4096 expands the heap limit to 4GB, which provides sufficient overhead for parsing moderate-sized PDF files and managing intermediate chunk arrays. On dedicated virtual machines with 16GB or more of RAM, you can increase this value to 8192 (8GB).

Adjusting Text Splitter Parameters

Oversized chunk configurations degrade retrieval accuracy and create bloated vector payloads. In the Flowise Document Store interface, configure the attached Text Splitter (such as the Recursive Character Text Splitter) with standard production parameters:

  • Chunk Size: Set to 1000 characters. This produces concise passages that fit comfortably within embedding model context limits without truncating key information.
  • Chunk Overlap: Set to 200 characters. Overlapping consecutive chunks preserves semantic continuity across section boundaries.

Keeping chunk sizes around 1000 characters avoids generating single vectors that represent sprawling, unfocused text blocks.

Reverse Proxy and Ingress Timeouts

If Flowise runs behind an Nginx reverse proxy, Cloudflare tunnel, or AWS Application Load Balancer, the proxy will terminate uploads that exceed its default client body size or timeout window. Update your Nginx server block to accommodate the expanded boundaries:

server {
    listen 80;
    server_name flowise.internal.example;
    client_max_body_size 100M;
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_read_timeout 300s;
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
    }
}

Configuring client_max_body_size 100M; and extending read timeouts to 300 seconds prevents premature HTTP 413 (Payload Too Large) and HTTP 504 (Gateway Timeout) disconnections during long-running upsert jobs.

Intelligent workspace hybrid search and vector retrieval architecture
Fastio features

Scale Flowise Retrieval Across Large Document Collections

Connect your Flowise agents to persistent workspaces that keep company files indexed and searchable via remote MCP, avoiding local payload crashes. Monthly plans start with a 14-day free trial that requires a credit card.

Architectural Tradeoffs: Direct Vector Upserts vs. External Index Workspaces

Raising environment variables and heap allocations helps individual files pass through Flowise, but it introduces severe architectural friction as document libraries scale into thousands of files. Teams managing corporate knowledge bases face an architectural choice: should Flowise function as both the ETL data pipeline and the agent runtime, or should ingestion live in an external indexed workspace?

The Hidden Costs of Canvas-Based Document ETL

Using Flowise Document Stores as the primary ingestion engine for enterprise repositories introduces three operational liabilities:

  • Compute and Memory Contention: When a Flowise instance performs OCR, PDF parsing, and text splitting on the same machine that serves live agent chats, upsert jobs starve interactive users of CPU cycles and memory. A single heavy document upload can degrade response latency across all active chatflows.
  • Re-Embedding Costs on Pipeline Edits: If you adjust your chunking strategy, switch embedding providers, or reorganize vector metadata in a Document Store, Flowise must re-read, re-chunk, and re-embed the source documents. For a corpus of several thousand files, re-indexing costs hundreds of dollars in model API fees and requires hours of compute time.
  • Synchronization Latency: Documents in corporate environments change continuously. Flowise document stores do not continuously track file modifications in Google Drive, Dropbox, Box, or OneDrive. Updating a changed document requires manual re-upload or custom API scripting to purge stale vectors and insert replacement records.

Decoupling File Ingestion from Agent Graph Execution

A more resilient architecture decouples storage and indexing from agent flow execution. Instead of uploading raw files into Flowise and forcing Node.js workers to parse binary buffers, organizations maintain their document corpus in an external intelligent workspace.

In this decoupled model, the document corpus resides inside an intelligent workspace on Fastio Workspaces. Files enter the workspace through direct upload or through Cloud Sync, which connects Google Drive, Dropbox, Box and OneDrive folders to a workspace, one-way or two-way, on a schedule or on demand. When Intelligence Mode is enabled on the workspace, incoming documents are automatically indexed with hybrid search, combining full-text search, semantic search, and search-by-metadata-value.

Fastio leaves every vendor's own upload limit exactly where it is; what it adds is a searchable place for the files that do not fit into local canvas memory. Flowise agents do not ingest, parse, or chunk the source files. Instead, the agent connects to the workspace over the Model Context Protocol (MCP) and queries pre-indexed document passages via remote tool calls. This pattern eliminates Node.js heap exhaustion, avoids vector database payload limits, and delivers relevant citations directly to the agent. For agent runtime integration details, explore the Fastio Agent Guide.

Connecting Flowise to an External Document Index via Remote MCP

Connecting Flowise to an external document index through the Model Context Protocol allows agent flows to query multi-gigabyte document archives without parsing binary files locally. Flowise provides a Custom MCP tool node that connects to remote MCP servers using Streamable HTTP.

Follow this procedure to connect your Flowise agent to a pre-indexed Fastio workspace:

Step 1: Ingest and Index Documents in Fastio

  1. Create a workspace in Fastio and enable Intelligence Mode in workspace settings. Intelligence Mode automatically creates hybrid search indexes for all uploaded documents.
  2. Populate the workspace with your reference documents. You can upload large archives directly or configure Cloud Sync to connect existing Google Drive, Dropbox, Box, or OneDrive folders.
  3. Verify that documents are indexed by submitting a test search query in the Fastio interface to confirm semantic retrieval.

Step 2: Generate an API Key for Agent Access

Flowise connects to remote services as an autonomous server client. Generate an API credential with access to your target workspace:

  1. In Fastio, open your organization settings and select API Keys.
  2. Create a new scoped API key with read permissions for the target workspace.
  3. Copy the generated key. You will pass this token in the HTTP Authorization header from Flowise.

Step 3: Add the Custom MCP Tool in Flowise

  1. Open your Flowise dashboard and create or open an agent canvas (such as a Tool Agent or ReAct Agent).
  2. In the node palette on the left, open the Tools category and drag the Custom MCP node onto the canvas.
  3. Configure the Custom MCP node parameters:
    • Server URL: Enter https://mcp.fast.io/mcp/tools. Fastio hosts its remote MCP server over Streamable HTTP at this endpoint for general agent runtimes and tool clients. Complete setup instructions are available in the Fastio MCP Documentation.
    • Custom Headers: Provide your authentication header as a JSON object:
     {
       "Authorization": "Bearer YOUR_FASTIO_API_KEY"
     }
    
  • Transport Protocol: Select Streamable HTTP. Do not configure Server-Sent Events (SSE) or local CLI bridges; the endpoint speaks Streamable HTTP directly.

Step 4: Attach the Tool to Your Agent Flow

  1. Connect the output of the Custom MCP tool node to the tools input handle of your Agent node.
  2. Attach a conversational model and a memory buffer to the agent node.
  3. Save the chatflow. When the flow initializes, Flowise queries https://mcp.fast.io/mcp/tools to discover available workspace tools, exposing the consolidated MCP toolset.

Step 5: Test Semantic Retrieval Without Local Ingestion

Open the Flowise chat preview and query your document collection:

  1. Submit a question requiring specific information from your document corpus, such as querying technical specifications, policy rules, or contract terms.
  2. In the thought trace, observe the agent invoking the storage tool with the search action.
  3. The remote MCP server executes a hybrid search across the pre-indexed workspace and returns ranked text passages with document titles and path citations.
  4. The agent synthesizes an accurate answer grounded in your files, completing the retrieval turn without loading a single binary file into the Flowise Node.js process.

Review Fastio Pricing for deployment options. Monthly plans start with a 14-day free trial that requires a credit card. The table below details resource allowances across plans:

Plan Monthly Billing Storage Included Seats Included Monthly Credits Single File Upload Limit
Starter $9.99/mo 250 GB 3 seats 100,000 25 GB
Business $49.99/mo 5 TB 10 seats 600,000 50 GB
Enterprise $199.99/mo 25 TB 30 seats 3,000,000 100 GB

By offloading document storage, parsing, and vector indexing to an external workspace, your Flowise deployment remains lightweight, responsive, and completely immune to local document store size limits.

Sources

References used to verify factual claims in this guide.

  1. Flowise enforces a default file upload limit of 50MB across document loaders and uploads.

  2. Anthropic documents that Claude web chat accepts up to 20 files at up to 500MB each while Claude Projects accepts files up to 30MB each.

Frequently Asked Questions

What is the file size limit in Flowise document stores?

The default file size limit in Flowise document stores is 50MB per uploaded file. This threshold is controlled by the FLOWISE_FILE_SIZE_LIMIT environment variable in the Flowise server configuration. Administrators can increase this limit in their deployment environment, but processing files larger than `50MB` often triggers Node.js process memory exhaustion during in-memory text parsing.

Why does Flowise crash when upserting large documents?

Flowise crashes during large document upserts because the Node.js V8 JavaScript engine hits its heap memory ceiling. Document loaders load entire file buffers into memory to parse text, decompress PDF streams, and generate chunks. When parsing multi-hundred-page documents, memory allocations exceed the default `2GB` to `4GB` V8 heap boundary, causing a fatal JavaScript heap out of memory crash.

How do you connect Flowise to an external document index via MCP?

To connect Flowise to an external document index, add a Custom MCP node from the Tools palette in the Flowise canvas and connect it to an Agent node. Set the server URL to `https://mcp.fast.io/mcp/tools` using the Streamable HTTP transport, and provide an Authorization header formatted with Bearer authentication holding your scoped API key. The agent queries pre-indexed workspace files through the consolidated MCP toolset.

How do you increase the upload size limit in Flowise?

To increase the upload size limit, set FLOWISE_FILE_SIZE_LIMIT=100mb in your server environment or docker-compose.yaml file. If you run Flowise behind a reverse proxy like Nginx, you must also increase client_max_body_size to `100M` and extend proxy_read_timeout to 300s to prevent premature 413 and 504 errors.

What is the recommended vector upsert chunk batch limit in Flowise?

The recommended vector upsert chunk batch limit is 100 to 500 records. Batching chunk upserts between 100 and 500 records prevents exceeding vector database request limits (such as Pinecone `2MB` payload threshold) and stops network timeouts during large ingestion jobs.

Does Fastio sync with Google Drive, OneDrive, Box, and Dropbox for Flowise workflows?

Yes. Cloud Sync connects Google Drive, Dropbox, Box and OneDrive folders to a workspace, one-way or two-way, on a schedule or on demand. When Intelligence Mode is enabled, incoming documents are automatically indexed for hybrid search, allowing Flowise agents to query them via remote MCP without local file handling.

Related Resources

Fastio features

Scale Flowise Retrieval Across Large Document Collections

Connect your Flowise agents to persistent workspaces that keep company files indexed and searchable via remote MCP, avoiding local payload crashes. Monthly plans start with a 14-day free trial that requires a credit card.