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
$getWorkflowStaticDatais 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: webhookorresume: formare rejected when publishing; useTime IntervalorSpecific Timeinstead - 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
noneand 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
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.