Known Limitations

What's not ready yet — transparency about current platform limitations

Written By pvdyck

Last updated 1 day ago

Known Limitations

Transparency matters. Here is what works, what does not, and what to expect.

Node-Specific Limitations

These nodes are supported but have specific constraints:

Code & Function Nodes

  • JavaScript only — Python is not supported. Switch the Code node language to JavaScript
  • Synchronous JavaScript only — no async/await, no Promises, no fetch()
  • No network access — cannot make HTTP calls from code
  • No server-side modules — standard library not available
  • 30-second CPU-time limit per agent execution — this is active processing time only, not wall-clock. Time spent waiting on network responses (HTTP Request, LLM calls, database queries) does not count. An agent waiting 4 minutes for an API response may use only milliseconds of CPU time. The 5-minute wall-clock timeout (see Platform Limits below) is the cap on total elapsed time including waits
  • $getWorkflowStaticData is in-memory only — works within a single Code node but not persisted between executions and not shared across nodes. Cross-execution persistence is intentionally unsupported: n8n stores static data as global mutable state in the agent DB record, which is an antipattern that breaks under load balancing, causes race conditions with concurrent executions, and does not scale. Use $('NodeName') to pass data between nodes. For cross-execution state, use an external store (database, key-value service, API)

Wait Node

  • Practical maximum: under 5 minutes — the agent's 5-minute wall-clock timeout (see Platform Limits below) caps the wait. A wait of, say, 10 minutes will deploy successfully but the execution is cancelled at 5 minutes wall-clock. Choose waits that together with the rest of the agent stay under 5 minutes
  • Deploy validator cap: 1 hour — workflows that configure a wait longer than 1 hour are rejected at deploy time. This is a stricter cap than the runtime can ever reach; the 5-minute wall-clock timeout is the effective limit. Use seconds, minutes, or hours (no days/weeks/months/years)
  • Webhook and form resume not supported — workflows using resume: webhook or resume: form are rejected when publishing; use Time Interval or Specific Time instead
  • The execution holds the connection open until the wait completes. For pauses longer than ~5 minutes, split work across separate executions via the Schedule Trigger

Webhook Node

  • Multiple webhook triggers supported — each gets its own URL
  • Supported methods: GET, POST, PUT, PATCH, DELETE, HEAD
  • Auth options: Basic Auth, Header Auth

HTTP Request Node

  • Bearer and Basic Auth via Secure Vault — Digest and custom auth not supported. OAuth2 is supported via Secure Vault for major services (Google, Microsoft, and others). Custom OAuth scopes and the Test Connection button are not available. Use dedicated integration nodes for OAuth services
  • Generic credential Header Auth and Query Auth not supported — when using a Generic Credential Type, the Header Auth and Query Auth options are blocked. Use a Predefined Credential Type instead (e.g., Google Gemini, Slack)
  • In-memory binary support — base64-encoded, ~50MB limit per file. No streaming by ID
  • 10-second default timeout per request
  • Pagination expressions support $response.body.*, $response.headers.*, $pageCount, and arithmetic (e.g., $pageCount + 1). No ternary operators or method calls

GraphQL Node

  • Header Auth and Query Auth not supported — use Bearer Auth or Basic Auth instead

Merge Node

  • combineBySql mode NOT supported — use other merge modes (append, combineByFields, combineByPosition, combineAll)

Item Lists Node

  • Sort by Code NOT functional — use simple sort or the dedicated Sort node with a field-based sort instead
  • Other operations work: concatenate, limit, summarize, split out items

Sort Node

  • Sort by Code not supported — use Sort by Field (simple) or Random instead. Code-based sort requires a Node.js task runner that is not available on the platform

Convert to File Node

  • Spreadsheet and document formats not supported — the following output formats require libraries not available on the platform:
    • CSV, HTML, XLSX, XLS, ODS, RTF, ICS (iCal)
  • Use Move Base64 to File, Convert to JSON, or Convert to Text File as alternatives

Extract from File Node

  • Binary document formats not supported — the following extraction formats are not available:
    • PDF, XLSX, XLS, ODS, ICS (iCal), HTML table, RTF
  • Supported formats: JSON, Text, XML, CSV (plain text), Base64

Remove Duplicates Node

  • In-execution dedup only — the following operations require persistent database storage and are not supported:
    • Remove Items Seen in Previous Executions
    • Remove Items Up To Stored Incremental Key
    • Remove Items Up To Stored Date
    • Clear Deduplication History
  • Use the in-execution dedup mode (removes duplicates within the current run)

Firebase Cloud Firestore Node

  • Service Account auth not supported — use OAuth2 via Secure Vault instead

Discord Node

  • V2 only — V1 not supported
  • In-memory binary — file attachments supported via base64 (~50MB limit)

Telegram Node

  • In-memory binary support — direct file/binary uploads via base64 (~50MB limit)
  • Can send images/videos via URL or binary

Send and Wait (Multiple Nodes)

The "Send and Wait" operation requires pausing an execution mid-run until a human responds. This pause/resume infrastructure is not available on the platform. Affected nodes:

  • Slack, Discord, Telegram, Gmail, WhatsApp, Google Chat, Microsoft Teams, Microsoft Outlook

Use "Send Message" (or equivalent send-only operation) instead.

YouTube Node

  • Video upload not supported — resumable video upload requires streams, which are not available. Use Get, Get All, Update, or Rate operations instead

Chat Trigger Node

  • Hosted chat mode not supported — use Embedded Chat mode (mode=webhook) and embed your own chat client
  • Basic Auth and n8n User Auth not supported — set authentication to none and place auth in front of the agent URL
  • "Make Available in n8n Chat Hub" not supported — this option has no effect on the platform

OpenAI Node

  • Text and chat completions only
  • Not supported: image generation (DALL-E), audio (TTS), assistants API, file operations

Output Parser Structured

  • $ref in JSON schemas not supported — may produce incorrect types
  • Use inline schema definitions instead of references

Memory Buffer Window

  • 1-hour TTL — conversation memory auto-expires after 1 hour of inactivity
  • Memory is scoped per agent instance and session

Agent Node

  • V2 and V3 supported — V1 (SQL Agent, Conversational, ReAct, Plan and Execute) requires database access and is not available

Summarization Chain

  • JSON input only — binary input mode (nodeInputBinary) is not supported. Use JSON input or connect a Document Loader

MCP Client Tool / MCP Client Node

  • SSE transport not supported — switch to HTTP Streamable transport instead

Default Data Loader

  • JSON data type only — binary document loading (PDF, DOCX, etc.) is not supported. Use JSON data type to load text from previous nodes

Credential Limitations

Not Available

These credential features from n8n are not available on indie.money:

  • SSL certificate bypass — The platform enforces SSL validation for all connections. Services with self-signed certificates (some self-hosted instances) cannot skip SSL checks. Affected services: ERPNext, Gotify, Mattermost, WordPress, Zammad
  • Custom OAuth scopes — OAuth permissions are configured at the platform level with all common scopes included by default. You cannot customize scopes per connection. LinkedIn includes organization posting scopes automatically. Microsoft Teams includes channel message reading. Discord, Linear, and Webflow use API Key authentication which has full access
  • Connection testing — The "Test Connection" button from n8n is not yet available. If your credentials are invalid, you will see an error when the agent first tries to use them

Service-Specific Credential Limitations

ServiceLimitationWhat happens
MailerLiteClassic API mode not availableOnly the current (non-classic) API is supported. Classic API users will see authentication errors
WooCommerce"Include credentials in query" not availableAuth is always sent in headers. Some hosting configurations that require query-based auth will fail
Mailjet (Email)Sandbox mode not availableEmails are always sent for real. There is no test/dry-run mode
PaddleSandbox environment not availableOnly the live environment is supported
MarketstackHTTPS toggle not availableHTTPS is always used

Production-Only OAuth Services

These OAuth services connect to their production environment only. Sandbox/test environments are not configurable through OAuth:

  • QuickBooks (Production only)
  • Salesforce (Production only)

Self-Hosted Services

Most services with self-hosted options show an environment selector (Cloud / Self-Hosted) that reveals a URL field for your instance. If you do not see this option for a service you self-host, contact support.

Platform Limits

  • 30-second CPU-time limit per agent execution — active processing time only, not wall-clock. Time spent waiting on network responses (HTTP Request, LLM calls, database queries) does not count toward this limit
  • 5-minute wall-clock timeout — total elapsed time from execution start to end, including all network I/O wait. An agent can spend up to 5 minutes total but no more than 30 seconds of that running CPU-bound code
  • 50 MB file size limit — files downloaded or uploaded by nodes must be under 50 MB each. See File Handling & Size Limits for details
  • 1 MB payload limit — keep JSON data under 1 MB per node for reliable execution (enforced at platform infrastructure level)

Nodes Not Yet Available

  • Database nodes (Postgres, MySQL, Redis, MongoDB) — on the roadmap
  • Email nodes (Send Email, IMAP) — requires secure proxy infrastructure
  • Some vector stores and embeddings (Supabase, Pinecone, Qdrant, OpenAI, Ollama) are supported. Others are not available.
  • Document loaders (binary mode) — JSON mode is available, but binary document loading (PDF, DOCX, EPUB) requires file system access

Expression Engine

  • Most standard n8n expressions work fine
  • No const/let — use var instead
  • No template literals — use string concatenation
  • Arrow functions are transformed to ES5 automatically

What We Are Working On

Check the roadmap to see what is planned and vote on what you need most. High-demand features get built first.

Found Something Else?

Use the messaging widget in the bottom corner to report issues. Include what you tried, what happened, and what you expected.